Sunday, November 21, 2010

GPL License in more detail

Today, I would like to take a look at GPL license, and explain in in more detail.

GPL stands for "GNU GENERAL PUBLIC LICENSE"

You probably have seen this definition in one of the source code:


Copyright (C)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see .


GPL is usually applied to the source code and it is most widely used free software license. GPL uses copyleft term.

What does copyleft means ? Well copyleft is opposite of copyright, When copyright - restricts you how you can distribute or modify the application, the copyleft makes opposite - makes it free, this allows everyone to modify and change the application without any restrictions. There is only one catch, you need to release the modified version of the application under the same license - GPL !

The fact that copyleft is strict in a way how you can use/modify code, might have attributed to the popularity of this license. When you use someone else's work and modify it, you know that your own work, could be used for making even better software.


There are 3 GPL versions released so far:


  • Version 1 - released in January 1989

  • Version 2 - released in June 1991

  • Version 3 - released in June 29 2007



Each new version addresses changes and fixes loop-holes that were used by some manufacturers to bypass license restrictions.

There is a common misconception that GPL applications should be free. Well the answer is "there is no restriction" you can sell your GPL applications for a price ! GPL only applies to the license and freedom for the user to modify the code of the application, but the application itself can be sold for a price !

Here is a good quote from GPL FAQ


Does the GPL allow me to sell copies of the program for money?

Yes, the GPL allows everyone to do this. The right to sell copies is part of the definition of free software. Except in one special situation, there is no limit on what price you can charge. (The one exception is the required written offer to provide source code that must accompany binary-only release.)


For more information there is an interesting article about Selling free software

And FSF position is very clear on this:


Many people believe that the spirit of the GNU Project is that you should not charge money for distributing copies of software, or that you should charge as little as possible — just enough to cover the cost. This is a misunderstanding.

Actually, we encourage people who redistribute free software to charge as much as they wish or can. If this seems surprising to you, please read on.


As a final note, I would like to bring one example when GPL license made a great impact on the developers around the world, and research that wouldn't have been possible without it.

I would take Quake 2 as an example. It is pretty old game right now, it was released on December 9, 1997.

It was extremely popular and sold more than 1 million copies.

The source code for Quake 2 was released under the terms of the GPL on December 21, 2001.

The amount of projects that came based on this source code is amazing. Here are few of the most interesting ones, they all were released based on the original code, with some modification from other developers:


and many more...

0 comments:

Post a Comment