This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Apple, iPhone, and GPLv3 troubles


Chris Lattner <clattner@apple.com> writes:

> On Sep 24, 2008, at 7:06 AM, Ian Lance Taylor wrote:
>> fix the problem.  My understanding of Apple's current position is that
>> they won't take any action until they see the final version of the gcc
>> runtime license.
>
>>> Basically, what happened is that Apple created a Tivoized device
>>> called the
>>> iPhone,
>>> and Apple uses GCC (which is now under GPLv3) and Mac OS X on it.
>>> Unfortunately, the iPhone is incompatible with GPLv3, if you want
>>> more see
>>> the link I mentioned.
>>
>> Using gcc to compile your code does not impose any licensing
>> requirements on that code.
>
> I'm not speaking for Apple here, and I am not a lawyer.  However, the
> last draft of the runtime library exception clause (which is quite old
> by now) imposed licensing restrictions on the executables generated by
> GCC (due to linked runtime libraries) if you did certain things to the
> compiler.  I'm personally very eager to see the final wording, because
> the draft I saw (again, which is old and has certainly changed) was
> extremely aggressive.

I do not know what draft you saw, but I don't think I ever saw it,
unless we disagree on the meaning of "extremely aggressive."

In the general sense, you are most likely correct: if you modify gcc
by adding GPL-incompatible software used to generate code, it is
likely that you will not be granted any exception to the GPL when
using the runtime library.  In other words, if you 1) add an
optimization pass to gcc using the (hypothetical) plugin architecture,
and 2) that optimization pass is not licensed under a GPL-compatible
license, and 3) you generate object code using that optimization pass,
and 4) you link that generated object code with the gcc runtime
library (e.g., libgcc or libstdc++-v3), then you will not be permitted
to distribute the resulting executable except under the terms of the
GPL.

This does not of course affect LLVM, which is not under a
GPL-incompatible license.

This is intended to be a mechanism to use the runtime libraries as a
hook to prevent people from distributing GPL-incompatible plugins for
gcc.

This message is not intended to describe the final version of the
runtime library license, which does not exist.  Nor does it represent
the official position of the gcc steering committee, the FSF, the
SFLC, or, for that matter, Google.  This describes my personal
understanding of the intent of the current drafting process.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]