Open source software is present in many more areas and sectors than it may seem. Only in most cases it is not exactly visible or within reach of end users. But it is in these areas where it is most used. So much so that it is estimated that 90% of all software used today has an open source license. There is software open source not just among applications used on consumers’ computers. It is also in frameworks, libraries, databases and even operating systems.
Its popularity is basically due to the fact that open source licensed software is designed and developed in a way that is completely accessible to the public. That is, so that everyone who wants and can is able to see, use, modify and distribute your code in the way they see fit. Of course, complying with certain standards established by each of the available open source licenses.
Their advantages are multiple for all types of sectors, organizations and companies, apart from end consumers, since they offer more control to their users, and greater transparency over their development and governance. There are two large categories of licenses considered open source as provided by the OSIthat is, the Open Source Initiative. The first are the permissive type, which have few restrictions regarding software modifications and distribution, which makes them popular among companies that want to use their products commercially.
The second large group, licenses considered copyleft, offer freedoms similar to those of permissive licenses, but any modified version of the software must be distributed under the same original copyleft license. That is why they are less attractive to companies that want to protect their work. Let’s see which of the most used ones fit into each case.
Permissive open source licenses: MIT and Apache 2.0
The MIT license originates from the Massachusetts Institute of Technology in the 80s of the last century. It is the most popular in several sectors, and the most used among the GitHub developer community, for example, for many years. Among others, it is used by projects React (a frontend JavaScript library) and general purpose programming language Ruby.
It allows developers to use the software as they prefer. It is offered without any type of guarantee, which means that the authors of the projects are not responsible for any damage that their software may cause, such as in the event of data loss. But in return, all developers have to do to assign this license to their projects is to include the original copyright notice and the MIT license with them, and do the same for any derivative works of them.
It has a disadvantage: it does not explicitly grant patent rights, so if any software component depends on technology that is patented, the developers who have created said component or element will be involved in legal uncertainty if they do not have additional permissions on patented technology. TO
As for the Apache 2.0 licenselaunched by the Apache Software Foundation, was born in 2004 as an update of a previous license granting an explicit patent guarantee to protect users from legal lawsuits.
So, let’s say a developer contributes a data processing algorithm to a project that is licensed under Apache 2.0. Then, any patent that the developer has on that algorithm automatically goes on to offer its license to all users of the software.
An example of a project with this type of license is the Android Open Source Project (AOSP), available under the Apache 2.0 license. Google gave it this license to fight against Apple and to encourage mobile phone manufacturers to use Android instead of other operating systems in use when they launched the project, as was the case with Symbian. It was successful, since one after another, all mobile manufacturers apart from Apple were abandoning their systems and switching to Android.
In addition to these two licenses, there are other open source licenses that we can consider permissive, although they are not as widespread as these two. One of them is the BSD 2-Clause License, which is similar to the MIT but with the exception that when a tool is distributed with this type of license, a copy of the license must be included with both its source code and with the compiled binary form.
There is also the BSD 3-Clause Licensewhich has an additional “no endorsement” clause that restricts the use of the names of copyright owners and contributors for promotional purposes in any derivative projects. Lastly, the licensed by MIT (Non-attribution MIT), simpler than MIT, does not require attribution in the derived software. Using it is very similar to putting software in the public domain, except that the author retains the copyright and the ability to make changes in the future.
Licencias open source copyleft: GPL, AGPL, LPL y Mozilla Public License
The GPL license has been in force since 1989, when the Free Software Foundation (FSF) made it public. It is one of the first general-use copyleft licenses, which are more convenient for projects that need to have contributions from the community, instead of being developed by a single entity.
By requiring that all modifications be available under the same open source license, it is ensured that contributors will not have to see their work used in proprietary software without the community of developers and users receiving nothing in return. At least in theory, since discovering any non-compliance and requiring that the license terms be followed in all cases can be complicated.
Its latest version, GPL 3.0was released in 2007 and is currently the third most popular open source license, according to GitHub data. This is an update from the previous version, GPL 2.0with notable improvements over it, including patent grant provisions and improved compatibility with other open source licenses.
In addition, the GPL 3.0 license was also created to prevent a hardware vendor from allowing users to reinstall modified GPL-licensed software on their devices from preventing other proprietary software on the device from working correctly. This happened, for example, with proprietary applications that were crucial for the hardware functions to work well.
Among the most famous projects that have adopted the GPL license is Linux, perhaps the most successful of all open source projects to date. It is used in personal computers and even in video game consoles, through servers, cloud infrastructure and integrated systems. Also in the operating system for Android mobile devices. However, the Linux kernel is available under the GPL 2.0 “or later” license, which leaves it open to the developer to decide which license should be distributed for any modification made to the system.
AGPL 3.0
Born in 2007 and launched by the FSF, the license AGPL (Afero General Public License) 3.0 It is very similar to GPL 3.0. Like it, it is a solid copyleft license, which promotes free software and ensures that modified versions of AGPL 3.0 licensed software remain open source. It differs from the AGPL license in that it is intended for web-based services and applications. That is, it is for software that runs on servers rather than users’ machines.
Developers of GPL 3.0-licensed software do not necessarily have to release the source code of modified software if it runs over a network, as is the case with software-as-a-service applications. The AGPL license closes this gap, since third parties have to make the source code available even if the software, once modified, runs only on one server. Due to the popularity of cloud computing and software as a service, it is the fifth most popular open source license.
LGPL
Also from the FSF, the license LGPL (GNU Lesser General Public License) It is a copyleft license usually considered weak, more suitable for companies that have less restrictive conditions on what is shared. It is mainly used with software libraries in cases where project authors want to encourage the community to contribute to their software developments.
This type of license allows proprietary software to link to libraries without having to open source all proprietary code. If someone modifies the open source library, they only need to release the modifications with the LGPL license.
Mozilla Public License 2.0
The license MPL, o Mozilla Public 2.0is the tenth most popular currently. Like the LGPL, it is a weak copyleft license, designed to protect proprietary code while allowing developers to take advantage of open source software.
Unlike the LGPL license, focused on the library level; and from the GPL, which is used more at the project level, the MPL license works at the individual file level, allowing the user to share a smaller portion of code.
Other licenses: public domain and creative commons
Although an open source license grants specific rights to those who use software that has it, it always has a series of requirements to meet in order to do so. Those who do not want so many requirements to be met to use or distribute their software release it with other licenses, such as the Public domain. Among them, for software, is the Unlicense, the ninth most popular on GitHub, although not everyone agrees that it can be considered a license, despite the fact that it was approved as such in 2020.
The licenses Creative Commonsavailable in several versions, are licenses dedicated to the public domain, although more focused on creative works than the previous one. Creative Commons requested that version 1.0 of its license be approved as an open source compliant license, but withdrew the application after the OSI raised concerns that it explicitly excluded the granting of patents.