|
|
Subscribe / Log in / New account

TechView: Linus Torvalds, Inventor of Linux (Huffington Post)

TechView: Linus Torvalds, Inventor of Linux (Huffington Post)

Posted May 25, 2014 9:29 UTC (Sun) by khim (subscriber, #9252)
In reply to: TechView: Linus Torvalds, Inventor of Linux (Huffington Post) by jb.1234abcd
Parent article: TechView: Linus Torvalds, Inventor of Linux (Huffington Post)

What is the difference, from GPL point of view, between a proprietary module added to GPLv2-licensed Linux kernel, and an extension added to GPLv2/v3-licensed gcc, both compiled with GPLv2/v3-licensed gcc ? My understanding is that both are "extensions". Then why they are treated differently ?

Because GCC Runtime Library Exception is structured that way. You can create a proprietary extension for GCC, but then you'll be forced to replace libgcc and libstdc++ with something else. Doable, but… switching to LLVM is easier.


to post comments

TechView: Linus Torvalds, Inventor of Linux (Huffington Post)

Posted May 25, 2014 10:14 UTC (Sun) by jb.1234abcd (guest, #95827) [Link] (3 responses)

http://repo.or.cz/w/official-gcc.git/blob/HEAD:/COPYING.R...
...
1. Grant of Additional Permission.

You have permission to propagate a work of Target Code formed by
combining the Runtime Library with Independent Modules, even if such
propagation would otherwise violate the terms of GPLv3, provided that
all Target Code was generated by Eligible Compilation Processes. You
may then convey such a combination under terms of your choice,
consistent with the licensing of the Independent Modules.
...

Why is the GPL requirement for source code availability enforced in case of
a gcc extension but not close-source proprietary kernel module ?

TechView: Linus Torvalds, Inventor of Linux (Huffington Post)

Posted May 25, 2014 13:06 UTC (Sun) by simlo (guest, #10866) [Link] (2 responses)

As far as I can see, the exception allows distribution of statically linked programs against libstdc++, but the libraries themselves are LGPLv3. I think the exception is not that easy to interpret. Can anyone point to some authorized interpretation ?

GPLv2 does not allow distribution of Linux kernel modules along with the kernel. But I am free to download what ever code and load into the kernel on my machine, but if I give my machine away I would violate GPL. But due to the kernel community's weaker interpretation it is not enforced.

TechView: Linus Torvalds, Inventor of Linux (Huffington Post)

Posted May 25, 2014 14:36 UTC (Sun) by khim (subscriber, #9252) [Link] (1 responses)

Libraries themselves are GPLv3+, not LGPLv3+ (there are some LGPLv3+ libraries in package, but the main ones: ligcc and libstdc++—are GPLv3+). And since bits and pieces are embedded into the executable without this exception you'll not be able to build anything except for GPLv3+ programs. As I've said before: technically speaking, propriatery exceptions are not forbidden—but you could only use them to compile GPLv3+ programs. There are FAQ which explain how that works in more details.

TechView: Linus Torvalds, Inventor of Linux (Huffington Post)

Posted May 27, 2014 12:27 UTC (Tue) by madscientist (subscriber, #16861) [Link]

Just to be clear, you're talking here about situations where there is a proprietary extension (not "exception") to GCC being used.

If you don't use proprietary extensions to GCC when you create your binary then the program is not subject to the GPL, as we've been discussing.

And yes, one of the main goals of the exception clause (the reason it's so complicated) is that the FSF wants to specifically not allow (or at least make infeasible) using proprietary extensions with GCC. If you want to add proprietary extensions to your compiler then by all means, you should be using LLVM. I believe this is a loss for free software, but obviously others disagree.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds