If you follow along with the news for the programming world, you’ve most likely seen the recent discussions surrounding licensing at several large companies. Facebook came under fire for it’s license on React — forcing them to release a FAQ on the terms of their license, and Automattic’s founder Matt Mullenweg accused Wix of violating Wordpress’s GPL Licensing in Wix’s new mobile application.
Licensing seems to be an enigma for the developers that I talk with on a day to day basis. Most of them simply slap a MIT license on anything that they do and call it a day. While this isn’t necessarily bad, it can be helpful to understand exactly the rights that you are granting with each license, and all of your options for doing so.
Licensing isn’t just for programming. It’s an important piece in all of content creation whether it’s hardware, software, art, writing, or anything else that you create.
This article isn’t going to graduate you from law school with respect to licensing. I’m going to give you what I hope is a very broad knowledge on licensing, as well as the resources to dive deeper into specific categories.
Everyone has heard of Open Source Software, but few can actually give you an exact definition of what this means. Open Source essentially means that it is completely open for anyone to view, modify, and distribute the product. OpenSource.org has a very digestible list of criteria that must be met to be considered Open Source.
For a license to be fully Open Source, it has to be approved by the OSI (Open Source Initiative). The full list of Open Source Licenses can be found on OpenSource.org. The following are some of the more popular licenses along with a brief definition.
The MIT license allows essentially all uses of the product, as long as the copyright and licensing information are continued along with the use. It is very to the point, and a great option for a lot of open source software.
The Apache license also allows for essentially any use of the product, but with a few more restrictions. Any changes made to the product must be stated. The license explicitly states that it does not grant any trademark rights, while additionally granting the use of patents, whereas the MIT license does not explicitly grant that use of patents.
If you are curious about the patent provision in the Apache 2.0 license, I suggest reading this great overview.
The BSD 2-Clause License is essentially identical to the MIT License. The BSD 3-Clause License combines the 2-Clause License with the “no-endorsement” clause, which states that the licensor can’t be used to endorse any product that includes this code without written permission.
The GPL license is famous for being a “copyleft” license. Copyleft means that any project using something licensed with a copyleft license, must also be licensed with that license. What this means is that if you use GPL licensed code in your project, your project must also be licensed as GPL.
This copyleft licensing is what put Wix in deep water because they used Wordpress’s GPL code in their mobile app without licensing their application as GPL.
LGPL is a similar but less strict license that allows for a project to license the portion of their code that contains other LGPL code as LGPL, while retaining a different license on the rest of the project.
The Unlicense is as free as the MIT License without the clause of including the copyright information. It states that the product is “public domain”, and thus can be freely used in any manner with no attribution whatsoever.
If you are looking for a license for a project, Github created a website called Choose a License that helps you find the perfect license for a multitude of different types of projects.
Creative Commons Licenses are commonly used to help license things that are not software such as content, media, and art.
Medium allows you to easily apply CC licenses to your content when you publish it.
The CC Attribution license is the MIT license of the content world. It essentially allows for full modification, and distrubtion of your content as long as you are credited for the original.
The CC Attribution-ShareAlike license is most similar to the GPL license. It is a copyleft license, and thus requires all new creations to be licensed under the same terms.
The CC Attribution-NoDerivs license allows for full distrubtion of your content as long as their are no modifications, and credit is given to the content creator.
The Creative Commons Website has a full list of their available licenses.
I will only touch on this briefly, as I personally would leave this kind of licensing to lawyers. It is important to note that licensing is not only for free to use code, or media — licensing is important when it comes to selling code or your content.
I will refer you to the following resources on licensing your content for monetization:
Multiple licenses can also be used to license certain products. On my personal website, I use two licenses — one to license the code, and one to license the content of my blog.
Github’s Choose A License website also employs this same strategy.
When no license is included in a project, it assumes that no rights are granted. Therefore on Github, if no license is included in the project, people can view and fork your repository, but that are legally not allowed to use the code or reproduce it in anyway.
On Medium, when no license is explicitly defined, your work defaults to an All Rights Reserved License.
If you haven’t yet, I highly recommend licensing your work whether it’s on Github, Medium, or your personal blog. It’s a great way to ensure controlled sharing of your work!
Originally published at blog.seankilgarriff.com on December 21, 2016.
Create your free account to unlock your custom reading experience.