The Complete Magazine on Open Source

What You Should Know about Open Source Licensing

, / 239 0

A business man touching Licensing word

FOSS is intellectual property and therefore is an asset that should be protected. The owner of the FOSS has a right to decide and control how it can be used by other developers and the public, in general. Various types of FOSS licences are used by software developers.

Many FOSS developers and designers want to release their work as open source projects. They also want to get recognised for their work. The open source community is vibrant because the essence of it is preserved through multiple iterations of the code. But there is a lot of confusion out there about what licensing means exactly. Licences fall in the domain of the law, which means matters related to it quickly become relatively complex. This article can’t be considered hard core legal advice, but you may find it useful when talking with your lawyer or, if necessary, coming to a decision without the help of a lawyer.


Figure 1: Open source versus free software

Differences between free software and open source software
To understand open source licensing, we need to understand the difference between free software and open source software. The term, FOSS or Free and Open Source Software shows that both are different entities. Richard Stallman and others started the Free Software Movement. The definition of free software is focused on the freedom to share code with your neighbour. It deals with the moral or ethical part of source code sharing. The point to be noted here is that not all the licences approved by open source proponents meet with the approval of free software advocates.
The open source philosophy is based on pragmatism rather than ideology. It promotes the notion that “…advocacy targeted at businesses should emphasise the technical merits and profitability of open (free) development models, rather than talking about ethical or political issues” ( The Open Source Initiative; Followers of this movement prefer to base their arguments on the economic and technical merits of making source code freely available, rather than the moral and ethical principles that drive the Free Software Movement.
So, coming back to licences again, the Free Software Foundation uses a specific licence under which it provides software. The Open Source Initiative (OSI) seeks support for all open source licences, including the one from the Free Software Foundation. The OSI is an organisation that focuses entirely on gaining support for open source software. The idea behind the OSI is to get more companies behind open source by allowing them to write their own open source licences, and have those licences certified by the Open Source Initiative (


Figure 2: GNU-GPL logo


Figure 3: BSD License

GNU licences
The Free Software Movement is headed by the Free Software Foundation, a fund-raising organisation for the GNU project. The GNU General Public License (GPL) is a means of implementing a concept called copyleft, which attempts to negate copyright for the purposes of collaborative software development.
GPL (V2 or V3) is a copyleft licence that requires anyone who distributes your code or a derivative work to make the source available under the same terms. V3 is similar to V2, but further restricts use in hardware that forbids software alterations.
The GPL, in brief, provides that anyone distributing a compiled program which is licensed under the GPL must also provide source code, and is free to make modifications to the program as long as those modifications are also made available in source code form. This guarantees that once a program is ‘opened’ to the community, it cannot be ‘closed’ except with the consent of every author of every piece of code (even the modifications) within it.
Most Linux programs, Git, WordPress, etc, are licensed under the GPL.
There are two versions of GPL in use— GPLv2 and GPLv3. The latter contains compatibility regulations that make it easier than before to combine GPL code with code that was published under different licences. GPLv3 also addresses digital rights management. It addresses what would happen if the terms of the licence are violated and specifies the cure for the violation.
To use the GPL, you have to include certain information in the software’s code, along with a copy of the licence. Further details and the licence itself can be found at
Another flavour of GPL is the GNU Lesser General Public License (LGPL). Because GPL requires other software with parts of licensed code to also be licensed under the GPL, developers cannot use GPL-licensed code for paid and proprietary software. The LGPL negates this aspect of the GPL since it does not require other projects with parts of the code to be similarly licensed. It grants fewer rights to a work than the standard GPL.


Figure 4: Mozilla License


Figure 5: The Apache Software License

BSD and the Mozilla License
Other open source licences like the BSD and Mozilla License also allow redistribution, but have fewer rules regarding the conditions for redistribution. The BSD License allows anyone to redistribute the work or any derivative without any source, if such is the desired path. Some people believe that these licences grant users more freedom, since they include a ‘superset’of the rights granted by the GPL. Other people believe that only the GPL truly respects users’ freedoms by guaranteeing that no one can co-opt their original work.
A ‘permissive’ licence is simply a non-copyleft open source licence — one that guarantees the freedoms to use, modify and redistribute, but permits proprietary derivative works. BSD is a permissive licence that lets people do anything with your code with proper attribution and without warranty.
The Mozilla Public License (MPL 2.0) is maintained by the Mozilla Foundation. This licence attempts to be a compromise between the permissive BSD License and the corresponding GPL.

Apache License
The Apache License is also permissive, and allows express grant of patent rights from the contributor to the recipient. Because some licences can be applied only to copyrights and not patents, this flexibility would be an obvious factor in a developer’s choice of licence. Redistributing code also has special requirements, mostly pertaining to giving proper credit to those who have worked on the code and to maintaining the same licence. Also, the Apache License states that no one can take these rights away once they’re granted. In other words, you don’t need to worry that after you’ve created some awesome derivative of the licensed code, someone down the road will swoop in and say, “Sorry, you can’t use this code any more.”


Figure 6: MIT License

MIT License
The MIT License is a permissive one, the wording for which is short and to the point. It lets people do anything they want with your code as long as they provide attribution back to you and don’t hold you liable. The MIT License is the least restrictive one. It basically says that anyone can do whatever they want with the licensed material, as long as it’s accompanied by the licence. You can use, copy and modify the software however you wish to. No one can prevent you from using it on any project, from copying it however many times you want and in whatever format you like, or from changing it however you want to.
There are also shared source licences that have some similarities with open source, such as the Microsoft Reciprocal License (MS-RL). These are mainly used by Microsoft and can range from extremely restrictive to being comparable with the GPL.


Figure 7: Licences and usage statistics

Not choosing a licence for open source software
Opting out of open source licences doesn’t mean you’re opting out of copyright law. The absence of a licence means that default copyright laws apply. This means that you retain all rights to your source code and that nobody else may reproduce, distribute, or create derivative works from your work. You retain all rights and do not permit distribution, reproduction or derivative works. You may grant some rights in cases where you publish your source code to a site that requires accepting terms of service. For example, publishing code in a public repository like GitHub requires that you allow others to view and fork your code.
For more information, do refer to the OSI website at