How to (not) use GPL Software GPL And Embedded Systems Historical background: The GPL was written for userspace programs running on existing operating systems Covering a whole OS (and even userspace programs) is not an ideal match, but if you read it carefully it still makes sense Toolchain: "... the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable." Practical case: You've modified gcc for a specific embedded platform Therefore, this gcc is not "normally distributed with the operating system" and you have to distribute it together with the source code gcc itself is covered under GPL, so you need to provide binaries and source code(!)