Open Source License Picker

Browse licenses, compare permissions side-by-side, take the quiz, and generate a ready-to-commit LICENSE file.

Select a license from the list to view details.
Browse 10 popular open source licenses.

How to Choose an Open Source License

Choosing the right license is one of the most important decisions for an open source project. The license determines how others can use, modify, and distribute your code. The wrong choice can limit adoption, create legal confusion, or fail to protect the principles you care about. Use the Browse tab to explore full license text, the Compare tab to see differences between two licenses side-by-side, or the Quiz to get a recommendation based on your goals.

The Most Popular Open Source Licenses

MIT License

The MIT License is the most widely used open source license. It is extremely permissive: anyone can use, copy, modify, merge, publish, distribute, sublicense, and sell copies of your software. The only requirement is to include the original copyright notice and license text. MIT is used by React, Vue.js, Rails, jQuery, and thousands of other major projects. Choose MIT when you want maximum adoption and minimal friction for users and contributors.

Apache License 2.0

Apache 2.0 is also permissive and adds explicit patent protection. When a contributor submits code to an Apache 2.0 project, they grant all users a perpetual, worldwide license to any patents they hold that are necessary to use the software. This prevents contributors from later suing users for patent infringement. Apache 2.0 is used by Android, Kubernetes, Swift, and many Apache Software Foundation projects. It is compatible with GPL 3.0 but not GPL 2.0.

GNU GPL 3.0

The GPL (General Public License) is a copyleft license. Any software that includes GPL code or links to GPL libraries must also be released under the GPL when distributed. This ensures the software remains open source in all its derivative forms. GPL 3.0 adds patent protection and anti-tivoization clauses (preventing hardware manufacturers from locking you out of running modified software). GPL is used by Linux, GCC, Bash, and WordPress.

BSD, ISC, and Other Permissive Licenses

BSD 2-Clause and BSD 3-Clause are similar to MIT but with slightly different wording. BSD 3-Clause adds a non-endorsement clause preventing use of the project name for promotion. ISC is functionally identical to MIT with simpler language — it is the default license for npm packages. The Unlicense and CC0 release software into the public domain with no conditions at all, not even the requirement to include copyright notices.

Generating Your LICENSE File

After selecting a license, enter your name and the current year, then download the LICENSE file. Place it in the root directory of your repository. GitHub automatically detects the license and displays it on the repository page. Without a LICENSE file, your code is technically "all rights reserved" by default — no one can legally use, copy, or distribute it, even if it is publicly visible on GitHub. Always include a license in open source projects. See our README Generator to add a license badge to your README.

Frequently Asked Questions

Both are permissive licenses allowing commercial use, modification, and distribution. Apache 2.0 adds an explicit patent grant protecting users from patent lawsuits from contributors. Apache 2.0 also requires preservation of NOTICE files. MIT is simpler; choose Apache 2.0 when patent protection matters.
Copyleft requires that derivative works be distributed under the same license. GPL is strong copyleft — any project including GPL code must be GPL. LGPL is weak copyleft — applies to modifications of the library but not code that merely uses it. MPL 2.0 is file-level copyleft — modified files stay MPL but can be combined with proprietary code.
Yes. MIT explicitly permits commercial use. The only requirements are to keep the copyright notice and license text. The same applies to Apache 2.0, BSD 2-Clause, BSD 3-Clause, and ISC. These are all permissive licenses with no copyleft requirements.
GPL requires sharing source code when you distribute software. If you run GPL software as a web service, you are not required to share source (the ASP loophole). AGPL closes this: if users interact with AGPL software over a network, you must provide the source. AGPL is used for server-side software like databases and web apps.
Maximum adoption with no restrictions: MIT or ISC. Patent protection: Apache 2.0. All derivatives must stay open source: GPL 3.0. Library usable in proprietary code: LGPL. Server-side software must stay open: AGPL. Public domain: Unlicense or CC0. MIT is the most popular choice for libraries and tools.