11

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?

12
  • 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
    Commented Aug 5, 2016 at 1:41
  • 1
    @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
    Commented Aug 5, 2016 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. Commented Aug 5, 2016 at 2:38
  • 1
    @CandiedOrange I might not have a clear understanding of the process. I've read that any open source libraries incorporated into a project must be credited and documented in the project that uses them. I just want to know if that's the case for ALL aspects of programming.
    – Jace
    Commented Aug 5, 2016 at 2:47
  • 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. Commented Aug 5, 2016 at 3:05

1 Answer 1

17

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).

5
  • 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
    Commented Aug 5, 2016 at 3:59
  • Oh, I guess the standard libraries are addressed with the GCC Runtime Library Exception, right?
    – Jace
    Commented Aug 5, 2016 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
    Commented Aug 5, 2016 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
    Commented Aug 5, 2016 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. Commented Aug 5, 2016 at 7:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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