When it comes to open-source software licenses, there are two broad categories. Some licenses fall under the copyleft license category, while others are permissive open source licenses.
In this article, I will explain what Open Source Software licecing is and types.
An Open Source License is a type of license that allows users to freely view, modify, and share the source material of the software. This way, users are able to frequently update the source code and build on the original product.
Depending on the Open Source License type chosen, users may or may not be able to do certain activities with the code, such as selling it or using it commercially. In addition, there are many different types of Open Source Licenses out there, each offering different terms and conditions depending on how you want to use the source material.
Therefore, it’s important to fully understand an Open Source License type before taking advantage of its benefits, so be sure to read up more below before making any decisions.
Types Of Open Source Licenses
A permissive license, sometimes referred to as a non-copyleft license, grants users permission to use, modify, and share the source code, but users also have the option to change some of those terms and conditions for redistribution, including derivative work. In the context of software, a derivative work is a piece of software that is based on an existing program. If the original was released under a permissive license, a creator can choose to share their derivative work with different terms than what the original work’s license might have required.
Copyleft licenses in open source provide the user of the open-source software with the author’s freedom to modify, use, and redistribute the software. However, it requires users to pass on specific rights to other users downstream by granting them the same rights that were originally given to them.
Copyleft licenses define how redistribution and changes to the code are allowed, prohibiting any attempts at making it proprietary or non-open. This ensures that developers modifying the software have access to the source code to update it or even incorporate their own changes. Of course, any modifications must also be made available so others can benefit from its open source availability. This is a non-issue for academic or research use-cases, but is often a deal breaker when building commercial software.
Why Include an Open-Source Software License?
Including an open-source software license is crucial when you publish or share your software with others as open source. A license serves several important purposes:
- To promote collaboration and innovation.
Open source licenses allow anyone to view, modify, and distribute the source code of your software. This encourages other developers to contribute to your project, fix bugs, and add new features. This can lead to a more robust and innovative software product.
- To give users more control and flexibility.
Open source licenses typically allow users to use, modify, and distribute the software for any purpose, including commercial use. This gives users more control over their software experience, and reduces their dependency on proprietary software vendors.
- To build a community around your software.
An open source license can help you to build a community of users and developers who are passionate about your software. This community can provide support, feedback, and new ideas for your project.
- To make your software more accessible and inclusive.
Open source software is typically free to download and use, and it is often available in multiple languages. This makes it more accessible to people from all over the world, regardless of their income or background.
In addition to these benefits, open source licenses can also help you to:
- Avoid copyright infringement.
If you distribute your software without a license, you are potentially putting yourself at risk of copyright infringement lawsuits. An open source license explicitly grants users permission to use, modify, and distribute your software, which can protect you from legal liability.
- Attract and retain top talent.
Many talented software developers are drawn to open source projects. By releasing your software under an open source license, you can make your company more attractive to potential employees.
- Enhance your brand reputation.
Open source software is widely respected by the tech community. By releasing your software under an open source license, you can demonstrate your commitment to collaboration and innovation.
Popular Permissive Software Licenses
Permissive software licenses are among the most popular. In essence, these licenses allow users to modify and redistribute the software as they please, with minimal restrictions. Three of the most popular versions of permissive software licenses are:
The MIT License is the most popular and permissive open source software licenses. It provides users with notable freedoms, including allowing them to freely share, modify, use, and commercialize the material if they adhere to all the conditions set forth in the license.
Apache License 2.0
The Apache License 2.0 is a popular permissive software license that enables users to freely modify and redistribute the software while having the assurance that the resulting copyright statements and notices are kept in primary form. This open-source license allows proprietary modifications and redistribution and provides clear licensing terms so anyone can understand their rights when using the software.
BSD (Berkeley Software Distribution) License
GitHub lets you choose between two BSD licenses, the BSD 2-Clause “Simplified” License, sometimes referred to as the “FreeBSD” license; and the BSD 3-Clause “New” or “Revised” License. The main difference between these two licenses is with the 3-clause. This clause restricts software users from using the name of the author, authors, or contributors, to endorse products or services.
Boost Software License
The Boost Software License, is from the Boost Libraries of C++ and was approved by the OSI in 2008. This license is similar to the MIT and BSD licenses, except it does not require attribution when redistributing in binary form.
Copyleft Open-Source Software Licenses
Copyleft licenses grant software users permission to use, modify, and share the source code, but also protect against relicensing through specific restrictions and terms and conditions. This represents the reciprocal characteristic of this license that requires users’ work to adhere to the original rights outlined in the license.
GNU Licenses When it comes to copyleft software licenses, the GPL (General Public License) is one of the most popular and widely used. This open-source license grants users the freedom to distribute copies and modified versions of a program as long as they retain certain conditions, such as copyright notices, warranty disclaimers, or any other licenses that have been added to the unmodified Program.
By making software available with this license type, developers are ensuring that others have access to their source code, allowing them to make improvements and adaptations that benefit the community. In addition, this concept of “copyleft” ensures that anyone can collaboratively share the same freedoms when working with free software.
Mozilla Public License
The Mozilla Public License, or MPL, is from the Mozilla Foundation and is also considered a weak copyleft license. The difference with this license (in comparison with the Eclipse Public License) is that it is file-based copyleft, which means code can be combined with open-source or proprietary code.
Eclipse Public License
The Eclipse Public License, is from the Eclipse Foundation and is considered a weak copyleft license. A weak copyleft license requires software users to share any changes they make to the code. This license chose to implement a weaker copyleft as a way to reduce the stricter requirements users encountered with GNU’s General Public Licenses.
How Can You Choose The Correct License For Your Project?
If you’re releasing your project under an open source license, choose a license compatible with the projects you’re using.
If you want to allow others to use your project for commercial purposes, choose a license that permits this.
If you want to allow others to modify and distribute your project, choose a license that permits this.
If you want to ensure that your project remains free and open source, choose a copyleft license.
If you’re unsure which license to choose, the Open Source Initiative has a list of popular licenses you can compare.
Choosing the correct license for your open source project is an important decision. By carefully considering your needs and goals, you can choose a license that will help you to achieve your desired outcomes.
Capgo new license
How do I accomplish all that? By changing my license.
Capgo has now changed the license from the MIT to a newer licensing scheme called GNU Affero General Public License V3 (AGPLv3) or any later version. Capgo version can be found here.
Capacitor-updater (the plugin) has now changed the license from the LGPLv3 to a newer licensing scheme called Mozilla Public License Version 2.0 (MPLv2) or any later version. Capacitor-updater version can be found here.
This change makes no difference to any of you who subscribe to Capgo Cloud or who self-host Capgo, but it may upset a few corporations who tried to use my software to directly compete with me without contributing back.
AGPL is a license Google has a problem with, as they’re not prepared to divulge their closed source code. Google is opposed to the AGPL and state: “Code licensed under the GNU Affero General Public License (AGPL) MUST NOT be used at Google”.
The goal of the AGPL is to maximize user freedom and to encourage companies to contribute to open-source. I’m a user facing, standalone application. I’m not a library or a piece of a bigger project. I’m not looking for Google’s donations, so we’re happy to be AGPL-licensed. It is the right license for Capgo.
There are many factors to consider when choosing an open-source software license. Yet, there are certainly popular choices among the developer community. Common permissive licenses include the MIT License, Apache License, and BSD License. Some common copyleft licenses include the GNU General Public License and the Mozilla Public License.