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: Licensing of libgcc and libstdc++ as shared libraries


Dave Korn wrote:

  Now it's a very interesting question as to *why* this distinction is made
in the GPL, since to programmers the difference between one kind of linking
and another seems quite minimal; we're all very aware that they're
equivalent (perhaps 'homologous' would be a better term here) to each other.
So I assume it must have been one of those political decisions, along the
lines of the don't-emit-useful-intermediate-representations decision.  But
I've never seen a good explanation of it, and if anyone has seen anything
written that discusses why this discrimination was made, I'd be very glad if
you could post a link.

It's an obvious distinction. The exception allows people to keep code that is part proprietary and part free entirely proprietary. This is a
pragmatic acknowledgement of the fact that if we want people to use
Free Software compilers for their proprietary projects an accomodation
of this kind is required.


But if you distribute a free software library with no proprietary
code, there is no corresponding reason to withhold the sources.

So for example, if you distribute a proprietary program with GPL'ed
DLL's (it matters not whether GPL or the modified GPL), then you need
to make sources for the DLL's available, since they are not statically
linked with your program, and it makes conceptual sense for someone
to modify the DLL without touching the proprietary program.

If you statically link, then there is no possibility in practical
terms of modifying any part of the software in any case.

One thing that helps in all discussions of the GPL is to think about
the motivation behind the license!


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