LWN.net Logo

Plugging into GCC

Plugging into GCC

Posted Oct 2, 2008 23:50 UTC (Thu) by faramir (subscriber, #2327)
Parent article: Plugging into GCC

Let me get this straight. It will be okay to provide proprietary GCC plugins, but most things actually compiled with it will have to be distributed under the GPL.

What are the chances that Novell would pay someone $$ for a proprietary GCC plugin, if the resulting SUSE binaries were 10% faster then the binaries other people could generate from the same source code?

Seems to me that this proposed solution could have the worst possible effect. i.e. Making it harder for people to regenerate binaries from source code. A variant of tivoization for all GPLed software.


(Log in to post comments)

Plugging into GCC

Posted Oct 3, 2008 0:38 UTC (Fri) by gmaxwell (subscriber, #30048) [Link]

Novell could already just use a wholly proprietary compiler such as icc, or they could take the current GCC and enhance it with private changes (perhaps which they have bought from someone else) which they do not distribute.

So, your bad scenario is already completely possible. The idea, as I understand it, behind the run-time licensing change it to poison the prospects of a commercial marketplace for proprietary plugins.

I'll be more inclined to believe that such a requirement is not necessary when there no longer exists a market for expensive vendor specific compilers for various embedded systems (TI c64x DSPs, for example).

Vendors who are currently raking in additional development fees licensing compilers would have a much easier time if they just had to build and sell a proprietary backend for GCC... so the incentive to not bother with that particular business model would be substantially reduced with an unrestricted plugin model for GCC.

build tools form part of "corresponding source code"

Posted Jan 30, 2009 2:21 UTC (Fri) by xoddam (subscriber, #2322) [Link]

I believe (but IANAL) that in this scenario any required nonstandard build tool, to wit the GCC plugin, are considered to be part and parcel of the source code that corresponds to the supplied binaries. This is just the same as requiring preprocessors and build scripts to be distributed alongside the source.

The normal compiler and "system libraries" are exempt in normal circumstances thanks to this language (GPL v2, section 3): "as a special exception, 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".

As far as I can tell, there is nothing magic about a non-standard compiler (or compiler plugin) that exempts it from this requirement.

Of course that doesn't mean that the compiler itself *is* part of the source -- just that it's impossible to fulfil the requirement to distribute source without it, if the compiler is unusual.

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