This is an attempt to provide an easy-to-understand overview of the GNU General Public License or GPL. It is not exhaustive but should should help most (if not all) people.
GPL, for most people, doesn’t really mean anything. But it should, especially if you’re a blogger.
Why? Oh, let me count the ways…! You could probably just start with these two: WordPress and Firefox. But, that’s just the beginning…
WordPress, one of the best blogging platforms available, is licensed under the GNU General Public License or GPL, as it’s more commonly understood and known. Firefox, arguably the best web browser ever created, is also licensed under GPL (and has a number of other licenses available as well).
But the GPL is even bigger than just blogging and the best browser available anywhere (Yes… I’m am a bit biased); it relates to an entire ecosystem, philosophy, and methodology which I believe is going to become an ever-increasing foundation on not only the what but also the how of web technology, and that’s because it’s part of what many call the Open Source Movement.
Ready to get educated? More after the jump.
The Movement (and Clarification) of Free in terms of Open Source
“Open Source” is an extremely broad term that can be interpreted (and misinterpreted) in a number of ways. For most people it simply means “software that I one doesn’t have to pay for” and they’d be right, for the most part.
Technically, though, it describes the software and the distribution of that software under a particular framework of guidelines (or rules and regulations) to others for use and for further development (derivatives) and distribution. The GPL, for all intents and purposes, is one of the most popular licenses.
The biggest thing that one should note is that there are really two kinds of “free” that’s directly related to the GPL as well as Open Source in general. The first is related to cost (money) and the second is related to use (or distribution).
Oftentimes the two “frees” are seen indistinguishable to the casual observer; anyone can roll up to WordPress.org and download a copy, install it on their server, and then save it to a CD and give it to their friends.
But, it can get a little tricky because it’s only the use and distribution that is actually covered and protected by the GPL specifically. For example, certain Red Hat versions (an operating system) cost money but are still licensed under GPL; what you’ll find is that not all GPL are completely and always free of cost (Read more about “Selling” here).
So, what does this practically mean? It means that Person A could buy a GPL-licensed piece of software from Company B for $10.00 and then give it to a Friend C for free. Or, they could turn around and sell it to Client D for $100.00.
See how quickly the water could (potentially) get muddy?
Typically though many businesses that are for-profit that are in the business of GPL-based software will provide service and support for the software at a premium cost (or some other creative business model). I personally think this is legitimate and fair.
GPL’s ‘Free’ and the Four Key Principles
There are four key principles that everyone should know and be aware of for the GPL:
- The freedom to use the software for any purpose.
- The freedom to change the software to suit your needs.
- The freedom to share the software with your friends and neighbors.
- The freedom to share the changes you make with others.
Any software that is found to be in line with the GPL and therefore is licensed under it by the creator and follows the four key principles is considered “free.”
The protection of these rights continue on by stating that anyone can distribute the copies of the software without hinderance, including adding a cost and/or business model to them if you’d like, as long as you abide by the GPL as well as include a copy of the GPL license with the software in its distribution. All disclaimers must be available as well.
More so, you must also do the following in terms of modified versions of the code that you created:
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
Essentially, this allows to distribute these modified versions of the source code as long as they fall under the same license. In addition, this prevents others from taking the modified source code and putting on a more restrictive license (essentially anything other than GPL to make it simple).
The goal here two-fold: Provide a sustainable license for the software as well as integrity. “Free” remains as “free” as it possibly can.
The Importance of Open Source and the GPL
I could probably spend a day just blogging about the importance of Open Source and the GPL but that would bore a lot of people. Instead, I’ve focused on the biggest reasons and the most important.
It’s pretty easy to understand and conceive of why many software developers love the use of the GPL. First, they can easily fix anything without worrying about some lame warranty issue or proprietary software handcuffs. They can then distribute that fix under the GPL as well. Secondly, the cost is very attractive as well. It’s amazing how robust some of the software applications that have been developed under the GPL and how many large-scale businesses use GPL-based software, all at a very low (zero) financial cost.
But, why would an end-user or non-developer really care? Here’s why:
1. Integrity, Sustainability
First, GPL creates software that has integrity and is sustainable long-term. That’s a good thing, because if you woke up one day and realized that your blogging platform no longer worked with no help in sight, that would really ruin your day.
Such is the case on many Closed Source software applications and services; once the business is closed down or goes out of business, the software is gone as well. But, in Open Source projects, anyone can develop on it and continue maintaining it.
(Be not fooled though, many Open Source projects die, but not due to companies closing down but because of lack of interest on the core developers… this typically the case in small communities, but we’ll touch that in a second.)
2. Cost
Secondly, an end-user or non-developer should rejoice in the fact that they can have multiple copies of the software on just one and only one license. That means, from a practical real-life example, you can have more than one blog at the same time (WordPress) without having to have any incremental cost associated with the software.
You also have the freedom to move the software to different servers, or use it in different environments, all without breaking the license of GPL or the much bigger copyright laws.
Whew.
3. Community and Value
Thirdly, the development of Open Source software creates an amazingly robust and powerful community. This isn’t just your fluffy-social-network feeling; this is the real-deal: A worldwide network of passionately talented individuals who love the software, who meet regularly in real life to discuss the development of the software.
The community aspect cannot be ignored. It is one of the most important characteristics because it provides the much larger non-developer community with beautiful iterations and advanced functionalities of the code.
For example, we wouldn’t have nearly the amount of WordPress Themes or Plugins without this active and growing community. You wouldn’t be able to do nearly as much as you have already done on your personal blog without the GPL and without the community surrounding it.
4. Freedom
And that leads us to the fourth reason why a end-user and non-developer should care: Because you can do pretty much anything with it (editing the source code).
Most practically, this means that if you have an issue with the code you are allowed to fix it, right there and right then. Just imagine having to “wait” for someone “official” to come and fix your blog when you know exactly what’s wrong and could fix it in two seconds…!
That’s one of the problems with proprietary, closed source software.
Why I Believe in Open Source and the GPL as a Christ-Follower
For many readers, you can probably stop right here: What I’m going to share next is relative to my personal thoughts and/or beliefs as someone who calls himself a Christ-Follower, meaning, I believe in Jesus Christ and the Bible.
For those interested, you can proceed; for all the rest you can now leave without hurting my feelings; hope the above few sections helped…!
Ok… with that out of the way…
There is something “Biblical” about Open Source. There is something just theologically correct and right about it. The philosophical heart of Open Source is very close to the heart of the Christian philosophy about “free” and “freedom” such as giving away our resources, time, and effort for a greater cause and community.
There’s something amazingly similar in the community surrounding some Open Source software, being a very supportive, protective, and loving community that advances itself, not under the guise of some monolithic-institution but through a missionally-minded passion to create great, valuable, and worthwhile things.
There’s also something close philosophically with our theology and the GPL licensing; how there is freedom in the boundaries provided by the GPL to be creative and how our “Christian Freedom” is best understood in the context and boundaries of the Word and Scriptures.
One of the quotes that I think often about in terms of Open Source is this:
A man most free is a man who makes himself a slave to a Perfect Master.
The Church can, and should, embrace Open Source technology openly and receptively because it’s so close to who we are. It also will help advance our causes, programs, and initiatives without having to burden others with cost; that’s why I love applications that are built with Open Source because at the heart of it is the idea of “giving it away” to others with no expectation of return.
Unfortunately, the Church is known for a lot of things other than “truly free” and that’s too bad, but we can help the image of the Church by providing others, both Christians and non-Christians, with free distributed software.
Finally, all comparisons fail at some point, so I’m neither dogmatic or trying to connect dots where they shouldn’t, but there’s something about Open Source philosophy and our theology; there’s a lot more to be discussed, but I’ll probably save that for a dissertation (or book…?) that I hope to write one day.
Your thoughts?
Joe says
Well, I have to say I'm not as passionate about the GPL. Because once it's free, it's free. As a developer you wouldn't be able to reuse even a part of a project you started because it's under the GPL and can't get out. There are other licenses that do avoid this dilemma, should anyone run into. Then again for end-users the GPL is fine.
That being said I agree with and understand your points about Christianity and open source software.
Jim says
I don't recommend reading this after lunch, I very close to food coma…
stephenbateman says
So in regards to GPL…I know who to ask 😉
in regards to following Christ: I greatly agree that the open source 'movement' within the church is sort of a return to who we really are.
I hope to be part of a church known for openness and freedom and not closed, locked door type operations.
human3rror says
thanks dude! 😉
John L says
John, great post. Thanks for taking the time. Indeed, the NT model of life embodies the "open source" mindset.
human3rror says
thanks!
Josh Wagner says
The only problem I have with GPL is the "viral" nature of it. As in, once it's GPL, it can never be anything else. Blessing and a curse, maybe? 😉
I love the ethos of the GPL; that you should be able to use things for free and that we can just give our talents away just to improve the whole. I just don't like the idea that my sweat and tears poured into some code can't be gotten back (with money, that is). Yeah, ok, maybe I'm being selfish or a little greedy, but it's like what Joe said above, once it's free, I can't effectively charge for it. I don't know what I feel about it still. I use GPL stuff all over the place, especially *because* most of it is free. I guess we'll just have to come up with better ideas than charging for the code.
Again, the idea of GPL is great, and we need it in today's market. Quality software than anyone can improve.
Thanks for the overview, it's always nice to have it explained simply.