The Difference Between Copyleft and Permissive Open-Source Licenses
When a developer creates a piece of software, they have a variety of options that they can choose when it comes to licensing and/or sharing that software. The particular option that is best for the software creator depends on a number of factors, such as whether or not he or she wants to profit financially from the software, whether or not they want credit for the software, whether or not they want the source code to be shared, etc.
The choices that the software creator makes, in regards to these options, will determine exactly how the software can or cannot be shared, used, and altered by other people. Below is a breakdown of some of the most common forms of software licenses and permissions.
Permissive licenses are one of the most liberal licenses. They have the least restrictions about how the software can be used out of any license. Permissive licenses allow people to freely copy, distribute, and change the original software that was licensed. Many developers support this type of license ardently because they believe that it is the best way to spur on innovation and keep development moving along swiftly.
One of the most important characteristics of a permissive license is that developers are allowed to modify the source code and create a proprietary work from their modifications. What this means is that people can create standard copyrights from their modifications to the original software. Then, they can use these copyrights to profit from their innovation.
Restrictive licenses allow for the free distribution of the software, however, there are a number of restrictions with these licenses. The exact restrictions depend on the particular piece of software and the choices that the developer makes. One of the most common types of restrictive licenses is copyleft licenses.
Copyleft licenses are similar to permissive licenses in that they allow people to freely copy, distribute, and change the original software that is covered under the license. However, copyleft licenses are more conservative than permissive licenses. Copyleft licenses only allow people to copy, distribute, and change the original software under the terms of the original license.
So, for example, when a software work has a copyleft license, a person cannot make a modification to the source code, then get a copyright for this modification and profit from it. This is arguably the biggest difference between a permissive license and a copyleft license. This difference is the source of heated debates between developers as to which license is best for the developer community and for people in general.
Who Uses Which License?
Generally speaking, people who want to make sure that their work remains available to all and who do not want to see anyone profit from their original work use copyleft licenses. In contrast, people who want people to have the freedom to do anything with their work, including the ability to modify their code for copyright and to profit from its use, prefer to use permissible licenses.
Both licenses allow people to use the original work of the creator. So, both licenses are used by people who are proponents of open-source software. The biggest difference between the users of each type of license is whether or not the original developer wants to allow others to be able to be copyright their source code through modification.
So, Which is the Better License?
The answer to this question depends largely on who you ask. However, it is safe to say that permissive licenses are better for people who want to make money from the original source code that another developer created, and copyleft licenses are better for developers who want their source code to be equally available to everyone.
Both types of code can help the developer community and the general public at large by allowing for software to be created and shared. But the true answer is that neither one of these types of licenses is necessarily “better than the other.” In fact, it is beneficial to the community to have both of these types of licenses available to developers. Because both are available, developers are not forced to go with one type when they would prefer to go with another. Instead, developers can freely choose which license they would like to use for their software. This is the ideal situation.
What About Traditional Copyrights?
Traditional copyrights protect the creator’s source code from being shared, distributed, or modified at all without the permission of the original creator. Traditional copyrights are typically for people who want to profit off of their software directly and who do not want to make it open-source and available to the public. People who get traditional copyrights for their work generally do not want to share their work; they want to make money from it. Unlike developers who make their work open-source, developers who copyright their work are usually not concerned with spurring on innovation and helping the community at large. They are primarily concerned with their own interests.
Both copyleft and permissive licenses are excellent options for developers who want to make their software open-source. Of the two options, permissive licenses are more liberal in that they allow people to do more with the software than other licenses do. Developers who want to profit by building on the work of another developer should seek out the software with permissive licenses.
Copyleft licenses still allow for open-source sharing, they just require developers to abide by the same rules of the original license. Oftentimes, this means that they are not allowed to profit from and copyright modified versions of the source code. So, developers who like to contribute to and advance projects, but who are not looking to copyright modified versions of source code should seek out the software with copyleft licenses. Both license types are essential to a thriving development environment.