What is an Open Source License?

A software license is a legal agreement that defines the rights and restrictions for using, modifying, and distributing software.

Open-source licenses specifically make the source code publicly available while establishing clear terms for how others can interact with it.

Why does this matter? Without a license, software is automatically protected by copyright law, which means others cannot legally use, modify, or distribute it. An open-source license grants these permissions explicitly.

The Two Main Categories

Open-source licenses fall into two broad categories:

  • Permissive Licenses: Allow broad freedom with minimal restrictions. You can use, modify, and commercialize the software with few obligations.
  • Copyleft Licenses: Require that derivative works remain open-source under the same license. They ensure the software stays free for everyone.

Permissive Licenses (Most Flexible)

MIT License ❤️

The most popular permissive license. Simple, short, and straightforward.

Key Features:

  • Use, modify, and distribute freely in any form
  • No copyleft requirements
  • Can be used in commercial and proprietary projects
  • Only requirement: include the original copyright and license notice

Best for: Projects where you want maximum adoption and don’t care how others use your code.


Apache License 2.0

A business-friendly permissive license with explicit patent protection.

Key Features:

  • Free to use, modify, and distribute
  • Includes patent grant protection for users
  • No copyleft clause
  • Requires attribution and documentation of changes
  • Provides explicit patent rights

Best for: Companies and projects concerned about patent liability.


BSD 3-Clause License

A permissive license similar to MIT but with an additional clause.

Key Features:

  • Use, modify, and redistribute freely
  • Three conditions: include copyright notice, don’t use names for endorsement, include disclaimer
  • No copyleft
  • Very similar to MIT in practice

Best for: Projects wanting slightly more protection than MIT while remaining permissive.


ISC License

The simplest permissive license—even shorter than MIT.

Key Features:

  • Nearly identical to MIT but with simpler wording
  • Recognized by OSI as fully open source
  • Minimal legal complexity
  • No copyleft

Best for: Developers who want the simplest possible license.


Copyleft Licenses (Share-Alike Requirements)

GNU General Public License v3 (GPLv3) ❤️

The most popular copyleft license. Ensures software remains free forever.

Key Features:

  • Strong copyleft: all derivative works must use GPLv3
  • Can be used commercially, but source code must be available
  • Prevents tivoization (restricting modified versions from running on hardware)
  • Patent protection included
  • If you distribute, you must provide source code or offer to provide it

Best for: Projects where you want to ensure all improvements remain open source.

Caution: Difficult to combine with proprietary software.


GNU Affero General Public License v3 (AGPLv3)

Like GPLv3 but for network services.

Key Features:

  • Same as GPLv3 but includes “network copyleft”
  • If software runs on a network server, users accessing it must receive the source code
  • Prevents SaaS loopholes where companies run GPL code without sharing modifications

Best for: Web applications and services where you want to prevent proprietary forks.


Mozilla Public License 2.0 (MPL)

A balanced middle-ground license with file-level copyleft.

Key Features:

  • File-level copyleft: only modified files must be shared under MPL
  • New files can be proprietary
  • Can combine with proprietary code in the same project
  • Patent rights included
  • Commercial use allowed

Best for: Projects wanting some copyleft protection without the strictness of GPL.


European Union Public Licence (EUPL)

A copyleft license tailored for European legal environments.

Key Features:

  • Strong copyleft similar to GPL
  • Available in all 23 EU languages
  • Compatible with GPL v2, v3, and AGPL v3
  • Respects moral rights (important in EU law)
  • Governed by EU member state law

Best for: European projects and public administrations.


Open Software License v3.0 (OSL)

A strong copyleft license designed for network distribution.

Key Features:

  • Strong copyleft like GPL
  • Explicit provisions for “External Deployment” (network services)
  • Similar to GPL but more suitable for web applications
  • Patent protection included

Best for: Network-distributed software where you want GPL-like protections.


Minimal/No Restriction Licenses

The Unlicense

Release software into the public domain with no restrictions.

Key Features:

  • No license—software is in the public domain
  • No attribution required
  • No restrictions whatsoever
  • Simplest possible approach

Best for: Projects where you want zero legal restrictions.


Comparison Table

License Permissive Commercial Use Copyleft Patent Protection Best For
MIT Maximum adoption
Apache 2.0 Companies, patent concerns
BSD 3-Clause Similar to MIT
ISC Simplicity
GPLv3 ✅* Ensuring freedom
AGPLv3 ✅* Web services
MPL 2.0 ⚠️ ⚠️ Balanced approach
EUPL ✅* EU projects

*Can be used commercially but with source code obligations.


How to Choose the Right License

Ask yourself these questions:

  1. Do you want others to keep improvements open source?

    • Yes → Use a copyleft license (GPL, AGPL, EUPL)
    • No → Use a permissive license (MIT, Apache, BSD)
  2. Are you concerned about patent claims?

    • Yes → Use Apache 2.0 or GPL
    • No → MIT or BSD is fine
  3. Is this a web service or network application?

    • Yes → Consider AGPL or OSL to prevent SaaS loopholes
    • No → Any license works
  4. Do you want maximum adoption?

    • Yes → MIT (most popular)
    • No → Choose based on your values
  5. Are you in Europe?

    • Yes → EUPL is an option
    • No → International licenses work fine

Quick Decision Guide

For maximum adoption: MIT

For commercial projects: Apache 2.0

To ensure freedom: GPLv3

For web services: AGPLv3

For balanced approach: MPL 2.0

For simplicity: ISC or Unlicense


Resources


FAQ

Can I change my license later? Only if you own all the copyright. If you have contributors, you need their permission.

Can I use code from multiple licenses? Yes, but you must comply with all licenses. Some combinations are incompatible (e.g., GPL + proprietary).

Do I need a lawyer to choose a license? For most projects, no. Use established licenses from OSI. For commercial products, consult a lawyer.

What if I don’t include a license? Your code is automatically copyrighted. Others cannot legally use it without permission.