Open Source License Picker
Browse licenses, compare permissions side-by-side, take the quiz, and generate a ready-to-commit LICENSE file.
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.