Skip to content

A comprehensive guide to understanding various open-source licenses. This repository explains the terms and conditions of each license, helping developers make informed decisions when using, modifying, or distributing open-source software.

License

Notifications You must be signed in to change notification settings

developer-sumit/awesome-software-licenses

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Awesome Software Licenses

This repository provides an overview of various open-source licenses. Understanding these licenses is crucial for developers who want to use, modify, or distribute open-source software. Each license has its own terms and conditions, and this guide aims to explain them in a clear and concise manner.

Table of Contents

MIT License

The MIT License is a permissive license that allows users to do almost anything with the project, such as making and distributing closed-source versions.

  • Permissions: Use, copy, modify, merge, publish, distribute, sublicense, and sell copies of the software.
  • Conditions: Include the original license and copyright notice in all copies or substantial portions of the software.
  • Limitations: The software is provided "as is", without warranty of any kind.

GNU General Public License (GPL) v3.0

The GPL v3.0 is a copyleft license that requires anyone who distributes the code or a derivative work to make the source available under the same terms.

  • Permissions: Use, copy, modify, and distribute the software.
  • Conditions: Modified versions must also be open-source and distributed under the same GPL license. Include the original license and copyright notice.
  • Limitations: The software is provided "as is", without warranty of any kind.

Apache License 2.0

The Apache License 2.0 is a permissive license similar to the MIT License but also provides an express grant of patent rights from contributors to users.

  • Permissions: Use, copy, modify, and distribute the software.
  • Conditions: Include the original license and copyright notice in all copies or substantial portions of the software. Include a NOTICE file if the software is distributed.
  • Limitations: The software is provided "as is", without warranty of any kind.

BSD 2-Clause "Simplified" License

The BSD 2-Clause License is a permissive license with minimal requirements regarding redistribution.

  • Permissions: Use, copy, modify, and distribute the software.
  • Conditions: Include the original license and copyright notice in all copies or substantial portions of the software.
  • Limitations: The software is provided "as is", without warranty of any kind.

BSD 3-Clause "New" or "Revised" License

The BSD 3-Clause License is a permissive license with minimal requirements regarding redistribution, with an additional clause that prohibits others from using the names of the project or its contributors to promote derived products.

  • Permissions: Use, copy, modify, and distribute the software.
  • Conditions: Include the original license and copyright notice in all copies or substantial portions of the software. Do not use the names of the project or its contributors to promote derived products.
  • Limitations: The software is provided "as is", without warranty of any kind.
  • Use Cases: Suitable for projects where you want to allow wide usage and modification but prevent misuse of the project's name.
  • Examples: FreeBSD, NetBSD, and other open-source projects.

For more information and to create a BSD 3-Clause License, visit opensource.org.

Boost Software License 1.0

The Boost Software License is a permissive license that is very similar to the BSD and MIT licenses.

  • Permissions: Use, copy, modify, and distribute the software.
  • Conditions: Include the original license in all copies or substantial portions of the software.
  • Limitations: The software is provided "as is", without warranty of any kind.
  • Use Cases: Ideal for libraries and tools where you want to allow wide usage and modification with minimal restrictions.
  • Examples: Boost C++ Libraries.

For more information and to create a Boost Software License, visit boost.org.

Creative Commons Zero v1.0 Universal

The CC0 license allows creators to waive all their copyright and related rights in their works, effectively placing them in the public domain.

  • Permissions: Copy, modify, distribute, and perform the work, even for commercial purposes, without asking permission.
  • Conditions: None.
  • Limitations: The work is provided "as is", without warranty of any kind.
  • Use Cases: Suitable for creative works like images, music, and literature where the creator wants to relinquish all rights.
  • Examples: Public domain works, open data projects.

For more information and to create a CC0 License, visit creativecommons.org.

Eclipse Public License 2.0

The EPL is a copyleft license that requires modifications to be open-source but allows larger works to be distributed under different terms.

  • Permissions: Use, copy, modify, and distribute the software.
  • Conditions: Modified versions must be open-source and distributed under the same EPL license. Larger works that include the software can be distributed under different terms.
  • Limitations: The software is provided "as is", without warranty of any kind.
  • Use Cases: Suitable for software projects where you want to ensure modifications remain open-source but allow integration into larger proprietary systems.
  • Examples: Eclipse IDE, other Eclipse Foundation projects.

For more information and to create an EPL License, visit eclipse.org.

GNU Affero General Public License v3.0

The AGPL is a copyleft license that requires anyone who distributes the code or a derivative work to make the source available under the same terms, and also requires that the source code be made available to users who interact with the software over a network.

  • Permissions: Use, copy, modify, and distribute the software.
  • Conditions: Modified versions must also be open-source and distributed under the same AGPL license. Include the original license and copyright notice. Make the source code available to users who interact with the software over a network.
  • Limitations: The software is provided "as is", without warranty of any kind.
  • Use Cases: Suitable for web applications and network services where you want to ensure that users can access the source code.
  • Examples: MongoDB, other network-based applications.

For more information and to create an AGPL License, visit gnu.org.

GNU General Public License v2.0

The GPL v2.0 is a copyleft license that requires anyone who distributes the code or a derivative work to make the source available under the same terms.

  • Permissions: Use, copy, modify, and distribute the software.
  • Conditions: Modified versions must also be open-source and distributed under the same GPL license. Include the original license and copyright notice.
  • Limitations: The software is provided "as is", without warranty of any kind.
  • Use Cases: Suitable for software projects where you want to ensure that all modifications remain open-source.
  • Examples: Linux kernel, other open-source projects.

For more information and to create a GPL v2.0 License, visit gnu.org.

GNU Lesser General Public License v2.1

The LGPL is a copyleft license that allows developers to link to open-source libraries without affecting the licensing of the larger project.

  • Permissions: Use, copy, modify, and distribute the software.
  • Conditions: Modified versions of the LGPL-licensed code must be open-source and distributed under the same LGPL license. Larger works that include the software can be distributed under different terms.
  • Limitations: The software is provided "as is", without warranty of any kind.
  • Examples: GNU C Library, other open-source libraries.

For more information and to create an LGPL License, visit gnu.org.

Mozilla Public License 2.0

The MPL is a weak copyleft license that allows the software to be combined with other licenses, but requires that modifications to the MPL-licensed code itself be open-source.

  • Permissions: Use, copy, modify, and distribute the software.
  • Conditions: Modified files must be open-source and distributed under the same MPL license. Larger works that include the software can be distributed under different terms.
  • Limitations: The software is provided "as is", without warranty of any kind.
  • Use Cases: Suitable for software projects where you want to ensure modifications remain open-source but allow integration into larger proprietary systems.
  • Examples: Firefox, other Mozilla projects.

For more information and to create an MPL License, visit mozilla.org.

The Unlicense

The Unlicense is a public domain dedication that allows developers to freely use, modify, and distribute the software without any restrictions.

  • Permissions: Use, copy, modify, and distribute the software.
  • Conditions: None.
  • Limitations: The software is provided "as is", without warranty of any kind.
  • Use Cases: Suitable for projects where you want to relinquish all rights and place the software in the public domain.
  • Examples: Public domain software, open data projects.

For more information and to create an Unlicense, visit unlicense.org.

Creative Commons Licenses

Creative Commons licenses are used for creative works such as images, music, and literature. They provide a range of permissions and restrictions.

  • CC BY: Allows users to distribute, remix, adapt, and build upon the work, even commercially, as long as they credit the original creation.
  • CC BY-SA: Allows users to remix, adapt, and build upon the work even for commercial purposes, as long as they credit the original creation and license their new creations under the identical terms.
  • CC BY-ND: Allows for redistribution, commercial and non-commercial, as long as it is passed along unchanged and in whole, with credit to the original creation.
  • CC BY-NC: Allows users to remix, adapt, and build upon the work non-commercially, and although their new works must also acknowledge the original creation and be non-commercial, they don’t have to license their derivative works on the same terms.
  • CC BY-NC-SA: Allows users to remix, adapt, and build upon the work non-commercially, as long as they credit the original creation and license their new creations under the identical terms.
  • CC BY-NC-ND: The most restrictive license, allowing others to download the works and share them with others as long as they credit the original creation, but they can’t change them in any way or use them commercially.

Other Licenses

There are many other open-source licenses, each with its own terms and conditions. Some of the other notable licenses include:

  • Eclipse Public License (EPL): A copyleft license that requires modifications to be open-source but allows larger works to be distributed under different terms.
  • Artistic License: A permissive license used primarily for Perl and its related libraries.
  • Zlib License: A permissive license similar to the MIT License, used for the zlib compression library.

License Keywords

When creating or updating a repository on GitHub, you can specify a license using keywords. This helps GitHub recognize the license and display it prominently in the repository. Here are some common license keywords:

License Name Keyword
MIT License mit
GNU General Public License v3.0 gpl-3.0
Apache License 2.0 apache-2.0
BSD 2-Clause "Simplified" License bsd-2-clause
BSD 3-Clause "New" or "Revised" License bsd-3-clause
Boost Software License 1.0 bsl-1.0
Creative Commons Zero v1.0 Universal cc0-1.0
Eclipse Public License 2.0 epl-2.0
GNU Affero General Public License v3.0 agpl-3.0
GNU General Public License v2.0 gpl-2.0
GNU Lesser General Public License v2.1 lgpl-2.1
Mozilla Public License 2.0 mpl-2.0
The Unlicense unlicense

For more information on licensing a repository on GitHub, visit the GitHub documentation.

Contributing

Contributions are welcome! If you have suggestions for improving this guide or want to add information about other licenses, please open an issue or submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

A comprehensive guide to understanding various open-source licenses. This repository explains the terms and conditions of each license, helping developers make informed decisions when using, modifying, or distributing open-source software.

Topics

Resources

License

Stars

Watchers

Forks