Guides · 02

Permissive vs Copyleft: Which to Choose

Compares permissive licenses such as MIT and Apache with copyleft licenses such as the GPL, LGPL and MPL by goal, ecosystem and usage, with a checklist to review before deciding on a license.

Last checked: 2026-09-23

Start with your goal

Choosing a license is not a matter of taste but of what you want. Most people sit somewhere between these two goals.

Permissive: wide adoption, little friction

MIT, BSD, ISC and Apache-2.0 require little more than keeping notices. Most corporate legal teams have them on their pre-approved lists, so adoption is fast. On the other hand, you cannot stop someone from modifying your code and putting it in a closed product.

Choosing among permissive licenses mainly comes down to two things.

Copyleft: a chain of openness

The GPL sets disclosure obligations for the whole combined program, the LGPL for the library and the MPL per file. For software that runs on servers, the AGPL fills the GPL's gap. With copyleft, some companies may hesitate to use or contribute to your project. The AGPL in particular is restricted by many companies' internal policies. That may be the intended effect, or an unwanted side effect.

Ecosystem conventions matter too

A license causes less friction when it matches community conventions.

EcosystemCommon licensesNotes
JavaScript (npm)MIT, ISCMany small packages, so short permissive licenses are preferred
Rust (crates.io)MIT OR Apache-2.0Rust itself uses this dual approach
Python (PyPI)MIT, BSD-3-Clause, Apache-2.0BSD-3 is common in scientific computing
GoBSD-3-Clause, MIT, Apache-2.0The Go standard library is BSD-3
Linux kernel modulesGPL-2.0-onlyPractically required to combine with the kernel
Desktop GNU toolsGPL-3.0-or-laterDefault for GNU projects
C/C++ librariesLGPL, MIT, BSL-1.0The linking method influences the choice

Decision checklist

  1. Check dependencies: See whether the licenses of libraries you already use limit your options. If you distribute a program combined with a GPL library, your options narrow to GPL-compatible licenses.
  2. Check ownership: Code written for work is usually owned by the employer. Check whether your company's open source policy specifies a license.
  3. Usage: The effect of copyleft differs depending on whether it is installed software, a library or a service.
  4. Contribution model: If you plan to accept outside contributions, keep in mind that changing the license later will be difficult, because multiple people's copyrights get mixed in.
  5. Revenue model: If you plan to sell a separate commercial license, consider copyleft + commercial dual licensing together with a Contributor License Agreement (CLA).

One-line summary

Answer these criteria as questions in the license wizard to see candidates and reasons.

This article is general information, not legal advice. Consult a professional for important decisions.

Sources