From: Ross Biro (bir7@leland.Stanford.EDU)
Date: 02/27/93


From: bir7@leland.Stanford.EDU (Ross Biro)
Subject: Re: What would people think of binary-only software on Linux?
Date: Sun, 28 Feb 1993 02:17:53 GMT


In article <C32uJ5.ItL@ukelele.GCR.COM> tmcwill@ukelele.GCR.COM (Thomas McWilliams) writes:
>
> tzs@carson.u.washington.edu (Tim Smith) writes:
>>
>> If someone developed applications or drivers for Linux and sold them
>> in binary-only form, what would the reaction be?
>>
>> --Tim Smith
>>
>
>No, no, no. This is completely against the goals of the Free Software
>movement. Binary only distributions take away our freedom. There is
>no life in a binary. Life and growth spring from the source code.
>There would be no Linux without the hundreds who have contributed
>source to utilities, compilers, libraries, device drivers. Please
>take your binaries elsewhere.

        A GPL'ed kernel says nothing about the applications used under
it. I for one would like to see commercial binary-only (actually link
kits due to the GLPL) applications. Device drivers are another
matter. Since they need to be linked to the kernel the GPL does come
into effect and source must be provided as well as no limit on
redistribution. Since there is so much confusion I'll try to
summarize the restrictions, however I'm sure I will be simplifying things
to the point that you should read the license yourself.

        1) The Linux Kernel is covered by the GPL. That means that
anything distributed as part of the kernel, or to be linked into the
kernel must include an offer of source and no limit on the
redistribution. Also anything that includes code copied out of kernel
source or include files (not those currently in /usr/include/linux) but
those in places like linux/net/tcp and linux/net and ... must also be
distributed with source and with no limits on redistribution.

        2) Many of the utilities/applications under Linux are covered
by the GPL so the same restrictions apply to them as apply to the kernel.

        3) GCC is covered by the GPL, so the restrictions that apply
to the kernel apply to it. However the GPL says NOTHING about the
code produced by GCC (as long as none of the source was covered by the
GPL) and in fact you may do with it as you please (again within
limitations placed on you by the license for the source you compiled.)
To illustrate this: Lotus 123 for SYSV/386 is rumored to have been
compiled with gcc. The Next compiler is gcc derived hence most
applications on the Next were compiled with gcc. And in fact to
illustrate that Next cared about the GPL, the objective-C that is part
of gcc 2.x came from Next because of the GPL.

        4) The Linux C Library and most of the header files are
covered by the GLPL which basically means if you distribute a program
which includes one of the linux header files or is linked to the linux
C library or is linked to crt0.o (basically all programs compiled on
linux even with shared libraries.) you must provide a link kit (or a
means to link in new libraries/new crt0.o) and source for the library.
You also cannot limit redistribution of the library. You can however
put whatever limits you want on the redistribution of the link kit,
it is after all your code.

        5) There is no restriction on how you USE the GPL or GLPL covered
applications there is just no warranty, and limits on what you can do
if you redistribute them.

        I hope this helps clear up the confusion.

Ross Biro bir7@leland.stanford.edu
Member League for Programming Freedom (LPF)
mail lpf@uunet.uu.net to protect your Freedom