TMT: GNU General Public License

This is an installment of Ten Minute Tech; where I pick a technology related subject and then write a paragraph or two about what I know. I then pick and read a reference article related to the subject and then write another paragraph or two about what I learned. This edition’s topic is about the GNU Public License.

Before

Let me first start by saying that this article does not in any way resemble or imitate proper legal advice, when it comes to software licensing. It furthermore does not replace the need for you to read the GNU General Public License yourself before accepting and/or using it. This article is just intended to highlight the basic ideals behind the license and somewhat of the idea of free software as a whole.

I have been using and even writing (or helping to write) code that has been protected by the GNU General Public License (GPL) for years, but I never have read it myself to see what it really means. For that matter I have never read any of a slew of Microsoft software licenses that I have definitely agreed to over the years either. So I want to read the GPL, especially now that I pretty much live and work with various open source technologies on a daily basis.

I do however like to think I have an idea of what free software is and that it is the GPL that is trying to legally establish and protect that. My idea of free software is not that it is free in the sense that you don’t pay any money to download and install it; it is free in the sense that the code that created the software is protected such that it can be given out freely and ensured that it is only used to create newer and better free software. The idea that it can never be owned; as the saying sometimes goes ‘free as in speech, not free as in beer’.

Article: GNU General Public License

After

After reading the license, I think it really focuses on two points. The first of which is ensuring that any program (as they call it in the license) that is initially protected by the GPL remains free under the terms of the license. One of the big pinnacles of this is that a GPL protected program will always offer access to its source code. This idea is that a free program will remain free; and also that someone who writes a free program will never have to worry about someone else taking that program and using or reselling it under a non-free license even though the source code is available.

So for example I could never just take Open Office and recompile it and then sell it as a closed source competing office suite product. I could however release a slightly modified version of Open Office as long as I released it under the GPL as well (i.e. make it free also). Open Office is actually protected by the LGPL (modified version of the GPL), but it is an example that I think more people will be able to follow.

However this is not to say that you can never use GPL protected software in a closed source, commercial application. For example it is well within your rights to take MySQL and then build some web based software (perhaps a CMS) and not release the code under the GPL. This is covered under the idea that closed source application uses the software and is not based on the underlying code (i.e. my CMS could work with different database software). What couldn’t be done is take MySQL and release a closed source database management system.

On this same note there is also a lot of regulation in the license about maintaining original authors and source (as in what the originating program was) and about documenting the changes you make to the original GPL protected free software.

The second main focus (that I noticed) of the license was more in regards to the users of GPL protected software in that the software itself was presented ‘as is’ and without warranty. This is to protect the developers and organizations that create free, GPL protected software, in that they couldn’t be sued if it didn’t function as advertised for a particular user. This was, I think added as a way of encouraging developers to use the license by offering some protection.

To be quite honest here in my closing; I don’t feel as if I have done the license justice by trying to explain it here. The idea of free software and what the GPL actually covers is much more complex than these few paragraphs. The preamble of the license does a much nicer job of explaining the basics, so I would encourage everyone to read the license itself.

You will notice that the GPL is rather strict and specific. Some further reader would be the GNU LGPL (GNU Lesser General Public License). It is different in the sense that offers a little more flexibility in the usage and modification of code (opens up more proprietary possibilities).
http://www.gnu.org/licenses/lgpl.html

Leave a Reply

{
}