Open Source Licences
Many of you have heard about open source software. You might have also heard about the open source platform Github. When I first uploaded code on Github, I chose a license randomly. I thought of what use a open source licence might have, but i was wrong. When one builds such a tool or product, that can be forked by others
to build their own versions by tweaking and changing its source code,
one needs to decide an open source license for it. Today I am going to talk about the various open source licences.
What is a LICENSE?
Licenses provide rules and guidelines for others to use your work. Open source licenses help others to contribute to your work or project without seeking special individual permission to do so.
The different open source licencses
There are numerous licenses. I will list out the most commonly used Licenses. All these licenses are OSI (Open Source Initiative) approved licenses, except the last one.
1. Apache License 2.0 : It is one of the most popular licenses.
Limitations :
Used by : Android
To know more visit here.
2. GNU General Public Licencse v3.0 : It is one of the most restrictive licenses.
Permissions :
Limitations
Conditions :
Used by: Ansible
To know more visit here.
3. MIT License : A short and simple permissive license with conditions only requiring preservation of copyright and license notices.
Conditions :
Used by: Bitcoin, Bootstrap, Angular.js, react, Ruby on Rails
4. BSD (Berkeley Software Distribution) License : A permissive license that prohibits others from using the name of the project or its contributors to promote derived products without written consent.
Used by : freeCodeCamp, pandas
5. Eclipse Public License 2.0 : This commercially-friendly license provides the ability to commercially license binaries; a modern royalty-free patent license grant; and the ability for linked works to use other licenses, including commercial ones.
Used by : Ecclipse Che
6. Mozilla Public License Version 2.0 : Permissions of this weak license are conditioned on making available source code of licensed files and modifications of those files under the same license (or in certain cases, one of the GNU licenses).
Permissions :
Used by : Firefox for iOs
7. The Unlicense : A license with no conditions.
Permissions :
Some of the License requires you to mention about it in all of your code files. Generally you have to copy and paste a copyright notice as mentioned by the license you have chosen.
If you are using other libraries or you have forked from another repository and working on it, you have to read the conditions of the license of the forked repository or the library before you can license your work.
Lastly, GNU GPL v3.0 is the most restrictive license while The Unlicense is the most permissive. Apache and MIT license are more or less balanced and are heavily used. MIT license is the most popular license followed by GNU GPLv3.0 and Apache License 2.0. The figure below gives a overview of the most popular licenses.
What is a LICENSE?
Licenses provide rules and guidelines for others to use your work. Open source licenses help others to contribute to your work or project without seeking special individual permission to do so.
The different open source licencses
There are numerous licenses. I will list out the most commonly used Licenses. All these licenses are OSI (Open Source Initiative) approved licenses, except the last one.
1. Apache License 2.0 : It is one of the most popular licenses.
Permissions
:
- Commercial use
- Modification
- Distribution
- Patent use
- Private use
Limitations :
- Trademark use
- Liability
- Warranty
- License and copyright notice
- State changes
Used by : Android
To know more visit here.
2. GNU General Public Licencse v3.0 : It is one of the most restrictive licenses.
Permissions :
- Commercial use
- Modification
- Distribution
- Patent use
- Private use
- Liability
- Warranty
- License and copyright notice
- State changes
- Disclose source
- Same license
Used by: Ansible
To know more visit here.
3. MIT License : A short and simple permissive license with conditions only requiring preservation of copyright and license notices.
Permissions :
Limitations : - Commercial use
- Modification
- Distribution
- Private use
- Liability
- Warranty
- License and copyright notice
Used by: Bitcoin, Bootstrap, Angular.js, react, Ruby on Rails
4. BSD (Berkeley Software Distribution) License : A permissive license that prohibits others from using the name of the project or its contributors to promote derived products without written consent.
Permissions :
- Commercial use
- Modification
- Distribution
- Private use
Limitations :
Conditions :
- Liability
- Warranty
- License and copyright notice
Used by : freeCodeCamp, pandas
5. Eclipse Public License 2.0 : This commercially-friendly license provides the ability to commercially license binaries; a modern royalty-free patent license grant; and the ability for linked works to use other licenses, including commercial ones.
Permissions :
Limitations :- Commercial use
- Distribution
- Modification
- Patent use
- Private use
- Liability
- Warranty
Conditions :
- Disclose source
- License and copyright notice
- Same license
Used by : Ecclipse Che
6. Mozilla Public License Version 2.0 : Permissions of this weak license are conditioned on making available source code of licensed files and modifications of those files under the same license (or in certain cases, one of the GNU licenses).
Permissions :
- Commercial use
- Modification
- Distribution
- Patent use
- Private use
Limitations :
- Liability
- Trademark use
- Warranty
Conditions :
- Disclose source
- License and copyright notice
- Same license (file)
Used by : Firefox for iOs
7. The Unlicense : A license with no conditions.
Permissions :
- Private use
- Commercial use
- Modification
- Distribution
Limitations :
- Liability
- Warranty
Used by : youtube-dl
How to add a License ?
While making a repository, you can add a license by clicking on "Add LICENSE" and choosing the appropriate license.
You can also create a license by creating a file named "LICENSE" . GitHub will provide you a button to choose the license template. From there you can choose the appropriate license and commit the changes.
Some of the License requires you to mention about it in all of your code files. Generally you have to copy and paste a copyright notice as mentioned by the license you have chosen.
If you are using other libraries or you have forked from another repository and working on it, you have to read the conditions of the license of the forked repository or the library before you can license your work.
Lastly, GNU GPL v3.0 is the most restrictive license while The Unlicense is the most permissive. Apache and MIT license are more or less balanced and are heavily used. MIT license is the most popular license followed by GNU GPLv3.0 and Apache License 2.0. The figure below gives a overview of the most popular licenses.
Comments
Post a Comment