I'm trying to understand how licensing generally works in software development, but this seems to be a rather broad topic that won't have a single straight-forward answer. Hopefully this example is specific enough to illuminate where my confusion on the subject may lie.

The GCC compiler is licensed under GNU General Public License v3, summarized here. The wording of this license seems to imply that any work a create using this compiler must include the GCC license, copyright, and link to the source. Am I grossly misinterpreting the intent of the GPL? What is expected as I begin to distribute my own work?

  • 2
    I'm voting to close this question as off-topic because It is asking for legal advice (specific advice about legal disclaimers on a software product) – user22815 Aug 5 '16 at 1:41
  • @Snowman The topic of my question is what I imagine to be a common and necessary practice in software programming. This community has answered several similar questions. programmers.stackexchange.com/questions/178231/… programmers.stackexchange.com/questions/324259/… – Jace Aug 5 '16 at 1:59
  • 2
    I'm voting to close this question as unclear. The title and body are not in agreement. the body seems unfocused. Indeed we answer liciencing questions. We don't answer questions that require this much guessing. – candied_orange Aug 5 '16 at 2:38
  • 1
    There is no 'one size fits all' here. You need to be aware of the license requirements of each open source lib you use. There is no single answer to this. – GrandmasterB Aug 5 '16 at 3:05
  • 1
    @gnat I see, so the GPL contains rules about using the source code, and generally does not govern the product of the application itself. – Jace Aug 5 '16 at 3:51

This would be covered by the GCC Runtime Library Exception. If you use GCC as-is to compile your program, the resulting binary is not covered by the GPLv3 and you can license it under any terms you wish. Your source code is not subject to the GPLv3 merely because you use GCC to compile it to a binary, the only way GCC's license would impact your source code is if you directly copy portions of the GCC code into your source code itself (which, of course, would mean some of the source code isn't yours).

  • I see. As long as the code is my own original source, then I own the product of that code, and don't have to worry about crediting the source(I don't deserve much credit, anyways.) What about using the standard libraries? I can't imagine getting very far in a C program without stdio. – Jace Aug 5 '16 at 3:59
  • Oh, I guess the standard libraries are addressed with the GCC Runtime Library Exception, right? – Jace Aug 5 '16 at 4:02
  • 1
    The GNU implementations of libc and libstdc++ are licensed with that exception, yes. Other implementations may have different terms. You'd need to check your system's libc/libstdc++ implementations, but the norm for Linux systems using GCC is to use the GNU implementations. – Todd Knarr Aug 5 '16 at 4:09
  • 1
    Actually going is LGPL2.1+ or LGPL2+ (can't remember which, but it doesn't matter for these purposes). As long as you dynamically link to the copy of going on the user's system, you will be fine. – Demi Aug 5 '16 at 4:30
  • 1
    An example of a compiler that copies large swaths of code into the generated output verbatim is GNU Bison, which is precisely why GNU Bison has an exception in the license allowing you to use that code in the output without being subject to the GPL. – Jörg W Mittag Aug 5 '16 at 7:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.