Open Source Licenses: Fast Facts
For a software license to be certified as open source by the Open Source Initiative (OSI), it must meet the ten criteria set forth in the Open Source Definition. The Open Source Definition is a document created by OSI to maintain uniformity across the open source projects.
Most software developers rely on one of the most common OSI-certified open source licenses. These licenses possess variations making some more suitable for certain projects than others. This makes choice of license a strategic decision for a developer and their company.
First, it is important to understand the distinction between the two major categories of open source licenses: copyleft, and permissive. This level of classification refers to whether a modification of open source code is subject to the same license requirements as the original source code, and if so, to what extent. This may limit the user’s choice of license in their modification of a particular open source project.
Copyleft (More restrictive)
Any modifications to open source software under a copyleft license must be kept open source and may even be subject to the exact same license requirements as the original software.
Permissive (Less restrictive)
Modifications to open source software under a permissive license do not have to be kept open source and only require attribution to the original software.
When given a choice of which license, Companies largely prefer permissive licenses and they are among the most popular since there more freedom associated with software created under this type of license. Copyleft licenses, however, are preferable in circumstances where a developers wishes to promote development and improvement of their code by other developers.
Below are the five of the most popular OSI licenses, and some of their requirements/features:
GNU General Public License Version 3 (GPL v3)
Most Strict Copyleft License
User can do almost anything with the original code, but any modifications/uses must also be made available to others under the same GPL.
On any use or modification of the original source code must:
include a copy of the full license text
state all significant changes made to the original software
make available the original source code when you distribute any binaries based on the licensed work
include a copy of the original copyright notice
Allows the original developer the most control over their original code
Mozilla Public License 2.0 (MPL 2.0)
Least Restrictive Copyleft License
User can do almost anything with the original code, but must meet certain requirements to have choice of license
If user wants to distribute modifications made directly to the original code within the same file, the modification must:
Make the source code (including modifications) available under the same license as the original (MPL 2.0) and abide by the same restrictions
Provide notice of the MPL-License
If user wishes to distribute a modified code based on the original code, but keeps the modifications in a separate file, the user must:
Identify the MPL-licensed portions of the source code (including explicit notice that these portions are made available under the terms of the MPL)
Inform recipients how they can obtain the original source code
Operates as copyleft, but on a file level, allowing the user greater freedom of choice with respect to licensing their modifications, as long as they are kept separate from the original source code.
Apache License 2.0 (Apache-2.0)
Lowest Risk
User can do almost anything with the original code and has choice of license
On any use, or modification of the original source code user must include:
original copyright notice
A copy of the license
a statement of any significant modifications to the original code
A copy of the NOTICE file, if any, with attribution notes
Includes explicit patent grant
3-Clause Berkeley Software Distribution License (BSD 3- Clause)
Most Similar to MIT (but with stricter attribution restrictions)
User can do almost anything with the original code and has choice of license
On any use, or modification of the original source code user must include:
Original copyright notice
Full text of the license
Prohibits the use of the owner’s name for promotion of modifications/derivatives
MIT License (MIT)
Most Popular & Least Restrictive
User can do almost anything with the original code and has choice of license
On any use, or modification of the original source code user must include:
original copyright notice
copy of the license
Uses simple language that is easiest to understand