Most people never take the time to read an End User Licensing Agreement (EULA) when installing or updating their software. For example, here is a link to the Microsoft Vista EULA that you probably skipped right over and a great article on how the EULA prevents people from using their purchased Windows operating system the way they wish. In fact, would you buy a car with a list of rules that tell you when and how you can use it? In comparison, here is the most common open souce software license, GNU General Public License (GPL) . The difference between the two legal documents is easy to see - one tells you what you cannot do and the other tells you the simple rules to follow when adding to or distributing the product.
The GPL ensures that any developer who works on a piece of software is given copyright to the portion they worked on and gives users and other developers the right to copy, distribute, and/or modify it. So, if I find a piece of open source software that I find useful, I can legally send copies of that program to all my friends and colleagues who can use it and pass it along as well. Just try this with Microsoft Vista which has strict requirements in the EULA with the number of installations allowed.
Another popular open source license is the Apache license from the Apache Software Foundation. This license preserves the copyright from the developers but allows anyone to take the source code and add their own code, either open source or proprietary, and distribute the product. Thus, I can take a piece of Apache licensed software and package it, change the licensing model and sell it without needing permission or paying the copyright owners of the software. This is different than a GPL license which does not allow me to change the license or add proprietary software to the solution.
As you can see, there is a large gap between open source software licenses and proprietary software licenses in terms of restrictions on how you can use and distribute the software. Even within open source licenses, there is plenty of variety to meet the needs of the various development and distribution models.
Of course, I kept this blog posting simple as lawyers are involved in this whole process and we all know how they confuse everything for job security so I will let you explore in more detail the variations on these licenses. For a complete list of open source licenses visit the Open Source Initiative site at http://www.opensource.org/licenses and to see a chart on license usage go to http://johnhaller.com/jh/useful_stuff/open_source_license_popularity/.
Stephen Spector is the community manager of the open source OpenStack cloud platform community which develops solutions and technology for public and private cloud infrastructures. He is responsible for all things OpenStack, except for the software itself.
Stephen is an old school C developer for Real-Time embedded systems and a long time alliance and developer program manager longing for the good old days when technology upheavals only occurred every six months. You can follow him on Twitter and the OpenStack blog.