![]() |
General Programming »
Programming Tips »
General
Beginner
License: The GNU General Public License (GPL)
GNU GPL for DummiesBy TheBigRedDogSynopsis of GPL v3 discussed in simple terms |
All Topics, CEO, Architect, Dev, Design
|
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||
I have also posted GNU GPL for dummies (II): mixing GPL and NON GPL code to give better answers to the most frequently asked questions.
Many resources are out there explaining the GNU GPL. It’s fair to say that most of them discuss the GNU GPL but they don't always paint a ... (ahem) simple picture. If you have no doubts about the following questions, then this paper is not for you.
Note: This article will be followed by one on the LPGL and yet another one on the Affero GPL.
So here are a few short paragraphs deciphering the GNU GPL in plain Natural Language (hey, not everybody is Eben Moglen. :))
Everything here pertains to the latest version v3 of the GNU GPL. All the entries below have to be understood as most-of-the-time. Remember, the goal is to give you a good grok, a big picture, it is NOT an appropriate or lawful interpretation: consult a lawyer (I'm not one).
The GNU GPL gives you the freedom to use the software for any purpose, to modify it in anyway you wish, and to share it (including mods) with anybody you want [1]. In order to benefit from those rights, you must respect the following:
[1] It’s not because you have the right to do so as regards to the GPL that you have the right to do it in real life; for instance the right to share doesn’t give you the right to break exports laws and the right to use it anyway you wish is not a free pass to break into a bank account.
You can mod, mix (including with any other source code), match, run, compile, etc. GPL code any way you want without any obligation as long as you don’t redistribute it. Note that you cannot modify the license itself or sub-license the GPL code.
Special case: If you subcontract a mod to a third-party and if you don’t distribute the resulting code, you don’t have any obligation to redistribute sources (nor does the third-party).
If you distribute an executable code that contains GPL code: most often you must give access to ALL the source code as well, including sources not originally under GPL.
You can distribute GPL code any way you want (including for a fee) as long as getting the source code is not made harder for the user than getting the executable. This means that:
[2] A few common sense exceptions though: you’re not forced to distribute the source of the entire Linux kernel, C or Python source lib, etc.
If a device runs GPL code and if this device is distributed, then users must be able to access [3] the source AND must be provided [4] with clear instructions so as to re-install the box with any mod they wish.
[3] If the box is hooked-up to a network, this does NOT mean that you can subsequently access the network onto which the box is hooked-up anyway you want. For instance, if the box is a DSL-like router, it MIGHT be OK to access usual ISP services but not other additional services.
[4] A few common sense exceptions mostly related to the fact that sometimes (one-time flashing, etc.) the provider itself cannot mod the code.
Any DRM system released under the GPL (or containing GPL software) can be circumvented by a program without constituting a DMCA violation [5]. Remember: The GPL has been written that way to offer some reasonable protection, no guarantee about what a judge will decide at the end though.
[5] This does NOT mean that writing crack code under the GPL (or containing GPL code) shields you in anyway way from the DMCA (except if the DRM you cracked was written with software under GPLv3 in which case you MIGHT be OK).
Note: It also means you cannot do deals like that of Microsoft and Novell (search the GPL for the word discriminatory).
If you violate the terms of the GPL in good faith, you can be re-established in your rights after showing compliance.
FUD consideration: Worth noting is that the GPL is a license, not a contract. As such, copyrights laws cannot force you to release your proprietary code under the GPL even if this is what you should have done at the first place; you will likely be ordered to stop distributing the software in question and maybe asked to pay fines, damages, etc.
P.S.: You might also be interested in reading this: Choosing an open source license.
| You must Sign In to use this message board. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 14 Apr 2008 Editor: Deeksha Shenoy |
Copyright 2008 by TheBigRedDog Everything else Copyright © CodeProject, 1999-2009 Web22 | Advertise on the Code Project |