With an understanding of what open source licenses are and their benefits, it’s also useful to know what are the main categories of these licenses, the different types, and their requirements. It’s quite an array, which can be overwhelming, but with this knowledge, you can make more informed choices about what software and what licenses are right for your purposes.
There are two main categories of open source licenses: copyleft and permissive. This division is based on the requirements and restrictions the license places on users.
Copyright is a law that restricts the right to use, modify, and share creative works without the permission of the copyright holder. Think about music, movies, etc that are the intellectual property of their creator. When an author releases a program under a copyleft license, they make a claim on the copyright of the work and issue a statement that other people have the right to use, modify, and share the work as long as the reciprocity of the obligation is maintained. In short, if they are using a component with this kind of open source license, then they too must make their code open for use by others as well.
A permissive open source license is a non-copyleft open source license that guarantees the freedom to use, modify, and redistribute, while also permitting proprietary derivative works. Permissive licenses place minimal restrictions on how others can use open source components. This type of license allows varying degrees of freedom to use, modify, and redistribute open source code, permitting its use in proprietary derivative works, and requiring nearly nothing in return with regard to obligations moving forward.
There are no good or bad licenses, and no one license is better than another. Anyone can create an open-source license that suits them, which is the reason that there are so many out there. This can make choosing an open source license a complicated business. To help narrow down the decision and make sense of it all, the Open Source Initiative (OSI) put together a list of approved licenses, consisting of a little over 80 open source licenses that are most commonly used.
Of the tens of open source licenses in the OSI approved list, some reign supreme and are used by some of the most popular open source projects out there.
Open source license management tools are a critical element for safeguarding your code, software, and applications, as well as reducing financial and legal risk for your organization. They reinforce the integrity of the components and dependencies you use, and ensure that your use of these components will neither compromise your organization nor the product that you create.
The GNU’s General Public License is the most popular open source license. GPL is a copyleft license. This means that any software based on any GPL component must be released as open source.
This license is released by the Apache Software Foundation (ASF). It’s a popular and widely deployed open source license backed by a strong community. The Apache License allows you to freely use, modify, and distribute any Apache licensed product. However, while doing so, you’re required to follow the terms of the Apache License.
This is a free and open source software license released by Microsoft.
You can reproduce and distribute original or derivative works of any software licensed under the Ms-PL license. However, you may not use any contributor’s name, logo, or trademarks when you do so. The Ms-PL protects the authors by explicitly not offering any express warranties or guarantees for using their code, so they’re not liable if the code doesn’t work well.
When you distribute software (or a portion thereof) under the Ms-PL, you don’t need to distribute its source code. You are required to retain all copyright, patent, trademark, and attribution notices that are in the original software.
Additionally, if you distribute any portion of the software in its source code form, you may do so only under the Ms-PL by including a complete copy of this license with your distribution. If you distribute any portion of the software in its compiled or object code form, you may only do so under any other license that complies with the Ms-PL.
BSD Licenses or the original BSD License and its two variants – the Modified BSD License (3-clause), and the Simplified BSD License/FreeBSD License (2-clause) are a family of permissive free software licenses.
The BSD License lets you freely modify and distribute your software’s code in the source or binary format as long as you retain a copy of the copyright notice, list of conditions, and the disclaimer.
CDDL is an open source license published by Sun Microsystems (now Oracle) to replace the Sun Public License (SPL). T It is inspired by the Mozilla Public License (MPL). CDDL is made to facilitate reusability.
You’re free to reproduce and distribute any original or derivative works of any software licensed under the CDDL. However, you must not remove or make any changes to any copyright, patent, or trademark notices contained in the software. You must also retain any notices of licensing or any descriptive text that attributes any contributor or the initial developer.
When you distribute your software in an executable form (any form other than source code), you must make the source code availableunder the CDDL. The executable form may be released under the CDDL or any CDDL compatible licenses.
This source code should include your contributions if they in some way modify the contents of a file containing the original software – or new files that contain parts of the original program. If your modifications are in separate and independent files that do not contain the original code, you do not have to release it under the CDDL. Furthermore, you must include a copy of the CDDL with any source code that you distribute. For each modification that you make, you must identify yourself as the modifier by including a notice in your modified files.
This is an open source license developed by the Eclipse Foundation. It’s derived from the Common Public License (CPL). The EPL license is a copyleft license. If you modify an EPL’ed component and distribute it in the source code form as part of your program, you must disclose the modified code under the EPL. If you distribute such a program in its object code form, you must state that the source code can be made available to the recipient upon request, and you must explain how to request the source code.
If you redistribute a program with an EPL component, you must include the full license text and the copyrights.
The EPL protects the author from possible lawsuits or damages caused if a company uses their component in a commercial product. It also offers a patent grant.
The MIT License, created at the Massachusetts Institute of Technology, in the late ‘80s, is one of the most permissive free software licenses. Basically, you can do whatever you want with software licensed under the MIT license, as long as you add a copy of the original MIT license and copyright notice to it.
As you can see from this list of the main open source licenses, a knowledge of how they work, their benefits and drawbacks is important, because it contributes to choosing which software and licenses serve you best.
If you’ve gotten this far, then you know that open source licenses are not for the faint of heart.
However, considering the fact that nearly all software developers rely heavily on open source components, it’s crucial to understand the basics of open source licensing, and the main differences between the popular open source licenses out there.
We only hope that this explanation has made the potential minefield of licenses just a little more navigable.
Together with our content partners, we have authored in-depth guides on several other topics that can also be useful as you explore the world of open source.