Hi,
Your citation is from section 3 that allows you to distribute
GPLed software in binary form IF you also make source available.
To put this in context, I would like to quote all of the paragraph
you took your quote from:
"The source code for a work means the preferred form of the work
for making modifications to it. For an executable work, complete
source code means all the source code for all modules it contains,
plus any associated interface definition files, plus the scripts
used to control compilation and installation of the executable.
However, 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, unless
that component itself accompanies the executable."
So if I have a GPLed hello.c, I can compile it and distribute the
object file hello.o if I make hello.c available. The special
exception says that I do not have to make the source for the
compiler I used available.
For the link step a little extra care is needed.
If I link with the Solaris system libraries parts of the
executable hello come from the Solaris system libraries.
Now if the license for the library I linked with does not
allow free redistribution, I am fck'ed: No way I could
distribute the executable hello without violating one of
the licences.
But if the library I linked with _does_ allow free
redistribution of executables with code from the library
(or, more precisely: The library license allows me to claim
copyright over an executable linked with the library),
the special exception says that I do not have to provide
the source for the library I linked with. Now, since the
requirements of GPL section 2 are met (the library is not
derived from hello.c and can reasonably be considered an
independent and seperate piece of work), I _can_ distribute
my executable hello under the GPL provided I make hello.c
available.
Please note that I did not consider dynamic linking above.
One of that major problems with the GPL is that it does
not consider runtime linking.
Another big problem is that it does not consider application
serving: Application serving is not distribution, so a
vendor could legally take jBoss and make their own
enhancements and fixes and make this available to their
customers without source if the modified jBoss code never
leaves the vendors site.
I hope this clarifies things.
Best Regards,
Ole Husgaard.
Aaron Mulder wrote:
>
> I find myself quoting the GPL a lot lately (see
> http://www.gnu.org./copyleft/gpl.html)
>
> "However, 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, unless that component
> itself accompanies the executable."
>
> So this is why the Solaris/C libraries are not required to be
> GPL. Also, there's the point that you don't distribute the Solaris/C
> libraries with your "Hello World" - see the passage I quoted to Marc.
> I've heard people argue that the java.* and possibly javax.*
> packages should be considered to be components of the "Java OS" which I
> find to be reasonable, though the "javax" packages at least are arguable.
> There would be no need for an LGPL if you could freely link to GPL
> code in a non-GPL program or vice versa.
>
> Aaron
>
> On Sat, 21 Oct 2000, Ole Husgaard wrote:
> > I've seen this a few times lately, but it is a misunderstanding of
> > what the GPL license says.
> > Consider a simple GPLed "Hello, world.." program in C. If compiled
> > on Solaris it will link to the Solaris system libraries.
> > Would that make the Solaris system libraries GPL? I think not.
> > If the Solaris system libraries would have to be under GPL it
> > would be because the Solaris system libraries are derived from
> > the "Hello, world.." program. But that is _not_ the case.
> >
> >
> > Best Regards,
> >
> > Ole Husgaard
> >