Open Source Licenses

Adam Hebert
5 min readMay 5, 2019

A look into the legality of sharing

Disclaimer: I am not a lawyer, nor do I claim to know the law. I have never studied law in an academic setting. Do not take anything I write here in this article as legal advice. I am writing this as an assignment for a class and this article is for informational purposes only. This article may unintentionally include some incorrect or inaccurate information due to my own personal lack of extensive research on the subject. By reading this article, you acknowledge that I barely know what I am talking about and agree not to sue me for back legal advice. Okay, thanks.

Whew, now that that’s out of the way, let’s talk about…

Open Source Software

Open source software is one of the most vitally important parts of the computer science/software ecosystem. Put simply: Open source software is any piece of software where the source code, that is, the raw, uncompiled code, is released to the public under a specific set of terms as outlined by a license. Generally, the copyright holder for the software grants users the right to look at, study, modify, build upon, and even redistribute said source code. While this may seem simple at first glance, this is crucial to allow for public collaboration and free (as in freedom) software. Due to the nature of public and open collaboration, contributors to an open-source project may be diverse perspectives that may not have been introduced to a closed-source project created by a single company. You may not realize it, but many of the programs you use on a daily basis are open source. In the operating system sphere, the GNU/Linux operating systems (which include Ubuntu, Debian, Fedora, Arch Linux, etc.) are all open source, as well as Android, the single most popular phone operating system around. The widely-used browser Mozilla Firefox is also open source. The most popular blogging platform on the internet, Wordpress, is open source. VLC, one of the most popular media players for desktop computers, is also open source.

Licenses

Due to the way copyrights work (at least in America), as soon as one writes a program, that program is copyrighted to the person who wrote it and it cannot be copied or redistributed freely. This means that to be truly open source, one must obtain a license for their project. Fortunately, most open source licenses are 100% free (as in price) and incredibly easy to obtain. In fact, if you’ve ever made a new git repository on GitHub, you might have noticed that there is an option to create a repository with a license already included. This illustrates just how easy it is to obtain an open source license. But how do you know which license to pick? Well, I’ll be going over two of the most popular options for open source licenses out there.

GNU General Public License v3 (GPLv3)

The GNU GPLv3 is what is known as a “copyleft” license. According to GNU’s website:

Copyleft is a general method for making a program (or other work) free (in the sense of freedom, not “zero price”), and requiring all modified and extended versions of the program to be free as well.

The simplest way to make a program free software is to put it in the public domain, uncopyrighted. This allows people to share the program and their improvements, if they are so minded. But it also allows uncooperative people to convert the program into proprietary software. They can make changes, many or few, and distribute the result as a proprietary product. People who receive the program in that modified form do not have the freedom that the original author gave them; the middleman has stripped it away.

In the GNU project, our aim is to give all users the freedom to redistribute and change GNU software. If middlemen could strip off the freedom, our code might “have many users,” but it would not give them freedom. So instead of putting GNU software in the public domain, we “copyleft” it. Copyleft says that anyone who redistributes the software, with or without changes, must pass along the freedom to further copy and change it. Copyleft guarantees that every user has freedom.

The GPL license allows anyone to have access to the complete source code of licensed works and modifications of said licensed work, which includes larger working using the licensed work. The catch is that all modifications and redistributions of the work must also be licensed under and included a copy of the GNU GPLv3 license. On top of this, all changes to the code must be documented whenever the modified code is redistributed. Overall, this license allows your project to be completely open source while also guaranteeing the freedom and rights of your users to look at, modify, and redistribute your code even in larger works which use your code.

MIT License

The MIT License is an incredibly short, simple and permissive license which only requires the preservation of copyright and license notices. Programs licensed under the MIT License are not exactly released into the public domain, but it is the closest you can get without being in the public domain.

To illustrate just how simple this license is, here is the full license:

MIT License

Copyright (c) [year] [fullname]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Simple right?

Conclusion

As a software developer, it is important for you to at least have a cursory knowledge of how open source licensing works. Chances are that will use a piece of open source software in one of your projects, either as a library or compiler. I recommend you look into more license options because there are so many out there. Also, go contribute to some open source projects. Modern technology is built off of the back of open source. The least you can do is give back.

--

--