Understanding open-source and free software licensing

Understanding open-source and free software licensing

Image for post

Today?s internet is built on open-source software, so it?s natural that you want to build your startup with it too. However, you want to be sure that you are not breaking the law by the way the software under open-source licenses is used in your project or app.

In our previous article, IP rights in software development, we stated why we find not transferring Intellectual Property rights for the software developed to the client unreasonable. Also, we shared some best practices and our experience in IP rights transferring. Continuing the topic, in this article, we outline specifically how to adopt the most popular free and open-source licenses in your project.

To do so, we will go through some basic definitions which are usually confused. For example, what is open source, and how does it differ from free software, what is permissive and copyleft. We will also summarize the terms of use of the most popular licenses and in the end, you will find a few useful links, in case you want to dig deeper into the topic.

1. Open-source software vs Free software vs Freeware

The ground notion is that ?open-source software?, ?free software?, ?freeware? and ?public domain? are different concepts. These definitions do NOT refer to the types of the software, but to the values lying underneath. They might intersect in various manners and refer to the same set of licenses. For example, the majority of free software licenses are also considered open-source software licenses, like well-known Linux, Ubuntu, MySQL, to name a few.

Look at the table below to evaluate similarities and differences between free and open-source software, public domain and freeware, and some examples of known relevant software:

Image for postCompare free and open-source software, public domain and freeware with examples

Thus concluding: a choice of terminology may imply a different emphasis in underlying values.

Open-source license criteria focus on the availability of the source code and the ability to modify and share it, while free software and public domain focus on the user?s freedom to use the program, to modify it, and to share it. Freeware (examples are Skype and Adobe Acrobat), in its term, is mostly aiming commercial goals and potential monetization often used as a ?freemium? product.

2. Copyright vs Copyleft vs Permissive vs Creative Common

These terms are used to compare legal attributes of open-source and free software and other content publicly available licensing to proprietary licenses.

Permissive licenses place minimal restrictions on software users. Often they only require that the original creators are attributed in any distribution or derivative of the software or source code.

For example, the software under permissive license may be incorporated into the other proprietary software without disclosing the source code, and this newly created software may be distributed. Because of their origins, permissive open-source licenses are sometimes called ?academic? licenses and frequently used by academic institutions.

For software creators who want to guarantee unlimited open-source access to their work employ the concept of copyleft. Copyleft uses copyright?s legal framework to ensure continued open access to software and its source code. The core requirement that any derivative work must be distributed under the same licensing terms as the original. Because of this requirement, copyleft licenses are considered ?restrictive? licenses, though these restrictions guarantee open access.

Creative common is most commonly applied to various content that used along with software i.e. images, videos, texts, etc. There are 6 Creative common licenses, which we will not cover in this article.

Image for postCompare copyright, copyleft, permissive, creative commons with examples

3. MIT vs BSD vs Apache vs GPL vs LGPL vs AGPL

Although there is an enormous amount of various licenses on the market, we will cover only a few most popular ones, which we at Moqod frequently use for developing projects for our clients.

Here are the most popular open-source licenses in a simplified comparative table and a brief outline one by one:

Image for postThe most popular open-source software licenses compared with examples

Apache 2.0 is the most modern and balanced among permissive licenses. It is written clearly regarding the modern copyright usage rules, in particular, patent relationships. Apache-licensed software can be used in your commercial project for free. The only restriction is trademark use:

  • don?t name your project like it is an endorsement from Apache
  • don?t use their famous feather logo anywhere in your project or documentation.

Examples of software covered: Kubernetes, Swift, Firebase

BSD ? Berkeley Software Distribution ? is a permissive license that initially consisted of 4 chapters, but later the chapter, that demanded to inclose the copyright notice into all advertising materials, was excluded.

The BSD is often mentioned interchangeably with MIT due to very similar language and terms that accomplish largely identical goals.

The BSD License allows releasing proprietary software and incorporating this software into proprietary products as long as the original copyright and license requirement is fulfilled.

Examples of software covered: Django, React, Flutter (check out our article about Flutter)

MIT is a mythical license, as there is a myth that there is a license called MIT. This is because Massachusetts Institute of Technology initially used a lot of different licenses, like the Expat and the X11.

This license is permissive without copyleft and, as we already mentioned, is similar to BSD. It permits reuse within proprietary software with including a copy of the MIT License terms and the copyright notice. The mall size is an advantage of this license. The disadvantage is an inability to regulate patent relationships.

Examples of software covered: Angular.js, jQuery, .Net Core, Laravel

GNU GPL ? General Public License ? is the most known among open source licenses. Not because it is the easiest to understand, but mostly due to multiple mentions and references. As they call it ?open license,? many think that the code delivered under GPL may be used in any possible way and programs made with it are entirely free of charge. However, statements are not valid.

The GPL is a copyleft license, meaning that any derivative works must be open-source and distributed under the same license, which makes it inappropriate to use in the proprietary software. As we already mentioned above, this is the most significant distinction to permissive free software licenses like BSD and MIT, widely-used less-restrictive examples. There are also GPLv2 vs. GPLv3.

Examples of software covered: Joomla, Notepad++, MySQL

GNU LGPL ? the ?Lesser GPL? ? is a copyleft license, very similar to the GPL, from which it is derived, but with weaker copyleft requirements. It allows software being applied in a proprietary project under certain circumstances and to some parts of the project?s code. The LGPL is usually considered as a compromise between the strong copyleft licenses like GPL and permissive licenses like the BSD or MIT.

Examples of software covered: Qt, SharpDevelop

GNU AGPLv3 ? Affero General Public License Version 3 ? is also a copyleft license. Its terms are almost identical to terms of GPL with the additional paragraph, which allows users, interacting with the licensed program online to get the source code of the program. Thus usually it is not recommended to apply GNU AGPL for any commercial projects performing online.

Examples of software covered: SugarCRM, Launchpad

4. Licenses compatibility

In case of collective, combined or aggregated work the concept of licenses compatibility arises.

License compatibility is a characteristic of a license according to which the code distributed under this license may be integrated into a bigger software that will be distributed under another license.

For example, copyleft license?s demand that any derived work combined from code under various licenses is applied to the copyleft license.

The widely-used licenses mentioned above tend to be compatible, but with some nuances, which could make it sometimes legally impossible to mix them. Thus we recommend investigating closer and be aware of license compatibility, before adopting them.

5. Conclusion and useful links

Surprisingly, while the majority of commercial licenses aimed to bound the user contain precise instructions, the most open-source software licenses, intended to guarantee freedom of usage, are written in an extremely complicated manner. We hope that our overview will help you to see the big picture on the licensing topic and will serve you as a crib. Here are some useful links for further research :

  • About licenses popularity: https://resources.whitesourcesoftware.com/blog-whitesource/top-open-source-licenses-trends-and-predictions
  • A great shortcut on the open licenses truefalse: https://www.codeproject.com/info/Licenses.aspx
  • A useful resource where the pros and cons of each license outlined: https://www.slant.co/topics/1141/~best-open-source-licenses
  • About licenses compatibility: https://www.gnu.org/licenses/license-list.en.html

Written by Slava Todavchich, Moqod.com

24