What is an open source licence? Definition and types of licence
What is an open source licence? These licences, also known as open code licences, govern the use of open source software. The source code of such software may be reused, and modified versions may be redistributed under certain conditions.
GNU GPL, MIT, Apache, with or without copyleft ? How do you choose a licence? We take a look at the most commonly used open source licences to help developers choose the one best suited to their project.
Open source licences: definition
What is an open source licence?
An open source licence is a software licence where the source code is "open". In other words, the code is made available to the general public and can be shared and modified. It is also referred to as free software or a free licence.
This type of licence in no way removes the author's copyright in the licence; simply, the author grants users the right to use the licence and exploit his or her work.
The Open Source Initiative is an organisation that promotes the use of open source software worldwide.
©️ guidecms.com
Why go open source?
The original idea was to offer an alternative to proprietary licences protected by copyright. These rights are held either by a company or by a programmer.
Today, open source is based on a solid community.
©️ Anybox
What are the four criteria that define free software?
Software can be said to be free if it offers the following freedoms:
- freedom to use the software,
- freedom to modify the software to meet specific needs,
- freedom to copy and share the software,
- the freedom to modify the software and share modified versions.
What is the difference between free software and open source software?
In English, the term " free software" is ambiguous in that " free" means both "free" and "gratuitous". It is this dual meaning that has led the developer community to draw a distinction between free software and open source software.
The expression "open source" was proposed in 1998 by Christine Peterson to convey this reality in words. The aim is to remind people that software has a cost.
Open source software, like free software, is not free software. It requires resources, whether human, financial or material, in order to :
- develop the software
- modify it and make it meet the needs of a company or organisation,
- keep it up to date
- resolve problems in the absence of support,
- hosting it on servers.
All this comes at a cost: you can't confuse open source software with free software, even if users can have access to the source code.
The different types of open source licence
There are hundreds of different open source licences. Some are compatible with each other, others are not. If they are compatible, this means that it is possible to merge code from different programmes.
We'll take a look at the most common types of licence to help you make sense of things.
Copyleft
Copyleft is translated into French as " gauche d'auteur", in reference to copyright. It is the author's permission to "use, study, modify and distribute his or her work", whether it is a text, a work of art or a computer programme.
This means that a user of a copylefted work can modify it, reuse it and distribute it, but is obliged to respect the same freedoms that apply to the original work. In other words, if a developer wishes to modify software and share it again, the modified software will necessarily be subject to copyleft.
It is not possible to distribute software with a copyleft licence under a proprietary licence.
©️ Wikipedia
There are several levels of copyleft:
- strict copyleft : the software, whether modified or not, and its components may only be redistributed under the original licence;
- standard or low copyleft: the software, whether modified or not, may only be redistributed under the initial licence, but new components may be added and redistributed under another licence, or even under a proprietary licence.
The best-known copyleft licences are as follows:
- MPL,
- DSL,
- ODbL,
- GFDL,
- GNU,
- OLD,
- SIL Open Font License,
- CC-BY-SA,
- CeCILL,
- free art licence.
GPL or GNU GPL general public licences
These are the most widely used free software licences: more than half of the free software currently distributed is licensed under the GNU GLP.
GPL (General Public License ) licences are recommended if you want to make your code accessible and reusable by as many people as possible. They benefit from a strong copyleft.
Several versions are available: GPL 2, GPL 3, the last version being the most complete, as it deals in particular with the problem of tivoization ("the creation of a system that includes free software, but uses electronic hardware to prohibit users from running modified versions on it" according to Wikipedia).
There are licences derived from the GPL, also drawn up by the Free Software Foundation:
- the LGPL, Lesser General Public License: this licence is derived from the GNU GPL and aims to be less restrictive with proprietary software. It is often applied to libraries.
- the AGPL licence, or GPL Affero, is derived from version 3 of the GNU GPL. It has one requirement: "if you run a modified program on a server and allow other users to communicate with it, your server must also allow them to download the source code for the running modified version" (source: gnu.org).
The MIT licence
This licence takes its name from the Massachusetts Institute of Technology, MIT. The term is misleading because, in reality, MIT uses several licences.
The MIT licence is a very permissive licence, with few constraints on the re-use of code and no copyleft. It is compatible with a large number of licences, including the GNU GPL.
It includes several licence models, in particular the Expat licence and the X11 licence.
The MIT licence is similar in many respects to the new BSD licence.
The BSD licence
The BSD licence is a permissive, non-copyleft open source licence that is compatible with the GNU GPL.
It is recommended that you do not use the original version because of a restrictive advertising clause: the copyright notice is compulsory in any advertisement or document supplied with the software. The new version of the BSD licence no longer contains this clause.
Among the most popular BSD licences is the Apache licence. This is a permissive licence, compatible with the GNU GPL v3, but not v2. It is recommended to use the Apache 2.0 licence for large programs, in particular to avoid the pitfalls associated with patents.
Table of different open source licences
Licence name | Copyleft | Compatibility GNU GPL |
---|---|---|
GNU, GNU GPL | Yes | YES |
MIT | No | Yes |
BSD | No | Yes |
Apache | No | Yes with GNU GPL v3 |
The most popular open source software
Here are some examples of open source software by category:
- Framework: Angular (MIT),
- FTP/file transfer client: FileZilla (GNU GPL),
- CMS: Drupal (GNU),
- CRM: SuiteCRM (AGPL),
- Database management: mySQL (GNU),
- Text editor: Notepad2 (GNU),
- ERP: Odoo (GNU GPL),
- Forge: GitLab (MIT),
- Web browser: Mozilla Firefox (GNU GPL),
- Operating system: Red Hat Enterprise Linux,
- HTTP Server: Apache HTTP Server (Apache).
Final tips: how do you choose an open source licence?
- Is copyleft a mandatory criterion?
- How reusable do you want your code to be?
- Do you need a licence that allows community work with other developers?
- Do you need a permissive licence, and if so, how permissive should it be?
- Do you need a large support community?