How Open Source Software is Developed
Try reloading this page, or reviewing your browser settings
This video segment describes how principles become practically applicable in the form of software licenses. The viewer will learn how the license is the key determiner of whether software is actually open source or not.
- User rights
- license agreement
About this video
- Karl Beecher
- First online
- 03 December 2018
- Online ISBN
- Copyright information
- © Karl Beecher 2019
Karl Beecher: The last segment showed how different people have different motivations for using and developing Open Source Software. Some do it with a moral or philosophical grounding. Some more pragmatist to use it for strategic purposes. Others like it because it’s quickly and easily available. But motivations and principles are abstract fuzzy things. They’re not enforceable or actionable in themselves. So when it comes to using and developing open source software, several questions may arise. How can you understand what users are allowed to do with the program. What mechanisms allow you to actually protect the rights of the users. How can you stamp your own philosophy on what you produce. What about when it comes to concrete legal issues. The answer is software licenses. A license is a document that’s applied to the software. It’s a legal instrument that grants the end user certain rights to use the program.
This is important because in many jurisdictions around the world, software, once written, is automatically covered by copyright. This means no one outside of the author has any legal right to access the software at all. The solution to this is licensing. For example, proprietary software is covered by a license that allows the author or creating organization to retain the copyright but at the same time grants the end user permission to use it. It doesn’t grant permission to modify or redistribute the software. The license for a piece of Open Source Software grants the same usage rights as proprietor license, but it goes further. At a minimum, an open source license must also grant the user the right to modify and redistribute the software. As we’ll see later, some software licenses go even further than that. Therefore, when you write an open source program, you must give it a license.
You could write your own, but you must be sure that it respects the four freedoms and the open source definition we spoke of earlier. Of course writing legal text is hardly fun and it’s a block off that few can do well. To make things easier, you can pick a pre-written off-the-shelf software license and most open source projects do this. There are many advantages to doing it. It saves you the effort of writing on. Many licenses have years of precedence in their use, even having being tested successfully in court. Some licenses were written with legal consultation to ensure they’re legally sound. The label is an easy way of allowing people familiar with licenses to learn at a glance what their rights are. This last point is important because different open source licenses can grant different rights. Let’s look at some examples.
The GPL, short for the GNU Public License, is one of the oldest open source licenses available. Its creation was led by Richard Stallman, who as we learned earlier, originated the free software movement that seeks to strongly protect users’ rights. It grants the rights to use the software, to copy the software, to modify the software, and to redistribute the software on the same terms. But it does not grant you the right to take that software and redistribute it under different terms that’s because the GPL is a Copyleft license. And for this reason, it’s sometimes referred to as restrictive. The MIT license is another very popular license. But unlike the restrictive GPL, it’s a so called permissive license. Here’s why. The MIT license grants the user the rights to use the software, to copy the software, to modify the software, to redistribute the software under the same terms, but it also allows you to take the software and relicense it.
Essentially change the terms under which other users may use the software. You could even take an MIT licensed program and incorporate it into your proprietary software if you wished so long as the software you write comes with the original copyright notice. There are many different licenses to choose from, literally dozens. So how do you go about choosing one? You could take the popularity route and just choose a license that lots of other projects use. This 2018 report, the result of analyzing thousands of open source projects, shows that about three quarters of projects use either the MIT license, the Apache license, or one of the variants of the GPL. The text of every open source license is available to read online, so you can see for yourself what terms a license grants.
Of course their legal jargon might leave you none the wiser in which case guidance on each license is available online. You can visit places like the GNU website where many popular licenses are analyzed for the compatibility with the four freedoms and Copyleft as well as potential problems when using them. tldrlegal.com where license terms are spelled out in plain language. Choosealicense.com which attempts to match your situation with a suitable license. Next segment, we’ll expand our look into the practical aspect of Open Source Software. We’ll describe the typical development processes and techniques employed by those who create Open Source Software.