Penguin
Note: You are viewing an old revision of this page. View the current version.

The GNU General Public License.

Visit the Gnu Website for the GPL page specifically for more info.

Or check out GNU General Public License? for the preamble.


Some Common Misconceptions

If I write a program for Linux then I have to give it away the source code!

This is not true at all. Only UserSpace programs that use GPL'd code (either staticly or dynamicly) need to also be under the GPL. (For example, the c library is under the LGPL which allows non-GPL programs to link to it, while the GNU readline library is under the GPL and does not allow that). The following quote is from the top of /usr/src/linux/COPYING which is LinusTorvalds' copyright licence over the LinuxKernel (this quote is then followed by the GPL)
NOTE! This copyright does not cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does not fall under the heading of "derived work". Also note that the GPL below is copyrighted by the Free Software Foundation, but the instance of code that it refers to (the Linux kernel) is copyrighted by me and others who actually wrote it.

Well-known closed-source applications for Linux include Oracle and Quake2 (although quake2 has since been released under the GPL).

I want to link against GPL'd code without GPL'ing my program. I'll just split my code up into two, a GPL'd library and the rest of the program that uses that library...

By dynamically linking to GPL'd code, you are creating a derived work. The GPL does not allow you to distribute your derivative program together with the GPL'd work.

From section 2 of the GPL
"If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it."

This is why NVidia make a closed-source binary Linux driver for their graphics cards, but users have to download it separately; no distribution is allowed to make it available with the GPL'd linux kernel.


Part of CategoryLicense