Understanding the GNU General Public License
In 1984, Richard Stallman was frustrated by the fact that he could not share UNIX with other people. Licenses were expensive and put restrictions upon the users.
Please note that I am not a lawyer. If you are seeking legal advice, please contact a lawyer.
Executive Summary
The GPL states that anyone:
- can use the software without restrictions (for an unlimited time, unlimited users, for whatever purpose)
- can distribute verbatim copies of the software including source without restrictions (to whoever, for free or for whatever price)
- can view the source-code to the software
- can modify the software without any restriction (without giving away own source-code)
- can distribute modified versions of the software with only one restriction: Modified versions have to be under the GPL.
The GPL states that no one:
- can restrict the freedoms granted by the GPL while passing the software on to others.
- can deny others to see the software’s source code. (If you redistribute without source, you need to include a written offer to supply it on demand for a ‘reasonable fee’.)
The GPL is a valid contract. In fact, it is probably more valid than many commercial shrink-wrap licenses that people accept without thinking about them. You might not need to agree to it in order to run the software, but you surely have to agree to it in order to redistribute the software, because otherwise you would not have a license to redistribute, and thus you would be violating copyright-law.
The GPL has been enforced and stood valid in court in Germany.
Answer to common criticism
It is those last two points that are often confusing to people. Some people claim that the GPL would rob them of their ideas and code. But that is not the case. You can use your modified versions of GPL-software personally or within your company or institution without showing anyone the code. Only if you distribute these modified versions (for example, sell them in an embedded device), you need to make the source-code available to those who received the software from you.
Some people now go into arguments that it is not fair to tell anybody what he or she can do with their own modifications. But you have to consider this: How much did they save by having the original to build upon? It has to be valuable, or they would not be interested in modifying it. They could code it themselves.
But if a piece of software is valuable enough to modify it, people who do so have to pay the price. If I want to modify, let’s say, MovableType, I need to contact six-apart and pay the price they want for that right. And that is just about getting the source and modifying it. We did not talk about distribution of the modifications, yet. If they don’t want to give me that right, I am out of luck.
If I want to modify WordPress, or DokuWiki, or any other kind of GPL’d software, I don’t need to ask for permission, because the authors already allowed me (and the world) to modify their software. That is very nice, because like that, I can make whatever small change I need in DokuWiki, and build LinuxBasics.org with it. Linus Torvalds expressed it as “standing on the shoulders of giants”.
If I use it only on that site (and others that I am hosting), I don’t need to pay anything.
If, and only if, I make my changes available to others, I need to pay the original authors. They have already stated the price: I have to license my changes under the GPL. If that price is too high for me, that’s my decission.
Related reading
Copyright (c) by the authors.
Prior to editing, authors agreed to license their contributions by the terms of the GPL.
See our licensing page for details.
Linux® is a registered trademark of Linus Torvalds.
Welcome to LinuxBasics.org - The online community that helps people to get Linux installed and running.
During this tour, we will guide you through our website, which has many facets which wait to be explored
The biggest project we are running is our Linux course, based on the LBook.
The book is stored in wiki-format, which enables us to update and correct it as we go.
Discussion for the course is on our Forum
Our Forum is used for discussion of Linux and for questions and answers.
Search the mailing-list that was used prior to the Forum.
The questions and answers from the list are stored in the list's archives in order to help others with the same problems.
Every weekend, we meet to chat in IRC. These meetings are NOT mandatory, but are a nice chance to get to know each other better.
IRC is also a great tool to solve many problems, since it is very quick and easy to ask for more details if you need them.
The tutorials are one of the oldest sections on the LBo-website.
Here you find explanations on how to do specific tasks in Linux. Many of the tutorials were created after a certain problem
has been discussed (and usually solved :) on the mailing-list.
The tutorials are categorized in
In the links section, you find outbound links to other valuable resources.
One of our later additions to the site. We maintain a mirror of the Linux Documentation Project. This is our contribution to the "home of the HOWTOs"
Another later addition is the LBlog which focuses on how to do stuff on the Linux Desktop. It begins with the basics on installing Ubuntu.
Using the integrated site-search, you can search the tutorials, the LBook and all other wiki-pages
Simply type the search term into the box in the upper-right corner of our webpages
As a community, we depend on your feedback and collaboration. So, if you have something to share with others, please contact us. If you have a suggestion for a topic you would like to see covered here, please add it on the Wishlist.
There are many ways to contribute: You can answer questions on the Forum, you can write a complete tutorial or just a step-by-step documentation on how you completed a specific task using linux. Ask questions if the information on this site is not clear, tell us if we got something wrong, spell-check our writings, whatever.
We are looking forward to meeting you at LinuxBasics.org
Anita, Jisao, Sam and Stefan