Software Licences Explained#

Licenses are responses to historical pressures, not abstract ideologies. πŸ‘‰ It’s basically choosing a social contract, not a legal detail.

TLDR#

  • MIT β†’ Freedom without obligations
  • Apache 2.0 β†’ Freedom with legal safety
  • GPL β†’ Freedom with reciprocity

Licence summary#

LicenseBirthdateCreator / OriginMental modelCommercial use?Closed-source allowed?What must be sharedFamous examplesWho profits
Unlicense~2010Public domain attemptDo literally anything.βœ… Yesβœ… YesNothingβ€”Anyone
MIT1988MIT (academia)Take it and run.βœ… Yesβœ… YesKeep license noticeNumPy, Flask, RequestsEveryone
BSD (2/3-Clause)1988UC BerkeleyOpen code, no strings.βœ… Yesβœ… YesKeep copyright noticeFreeBSD, OpenSSHApple, Juniper
Apache 2.02004Apache Software FoundationOpen, but legally safe.βœ… Yesβœ… YesPreserve notices + patent peaceKubernetes, Spark, KafkaGoogle, Confluent
MPL 2.01998Netscape / MozillaOpen files, closed products.βœ… Yes⚠️ Except MPL filesModified MPL filesFirefoxMozilla
LGPL1991Free Software FoundationShare the core, not the app.βœ… Yes⚠️ App yes, library noChanges to LGPL libraryglibc, FFmpegRed Hat, IBM
GPL (v2/v3)1989 (v1)Richard Stallman (FSF)Take it, but give back.βœ… Yes❌ No (if distributed)Full source + same licenseLinux kernel, WordPress, GitAutomattic, Red Hat, Canonical, GitLab
AGPL2007FSF + Affero Inc.SaaS must share too.βœ… Yes❌ No (incl. SaaS)Source, incl. network useNextcloud, MastodonNextcloud GmbH
Proprietaryβ€”Vendor-definedYou rent, not share.⚠️ Limitedβœ… YesFees, data, complianceWindows, macOSMicrosoft, Apple

How do companies monetize open source?#

Most organizations and individuals make money with open-source software through:

  • Hosting, support, subscriptions, enterprise services, and trademarks (GPL, AGPL, LGPL)
  • Cloud services and managed platforms (Apache 2.0, BSD, MIT)
  • Support, dual licensing, enterprise contracts (LGPL)
  • Products, hardware, internal use (BSD)
  • Licenses, subscriptions, lock-in (Proprietary)

The monetization model is often similar across licenses, focusing on added value, services, or proprietary extensions rather than direct software sales.

How to choose a license?#

Ask yourself one simple question first:

❓ Am I okay with someone taking my code, improving it, and never contributing back?

  • Yes β†’ choose MIT
    Maximum adoption, zero friction. Your code can go anywhere.

  • Yes, but I want legal & patent safety β†’ choose Apache 2.0
    Same freedom as MIT, with stronger protections for companies.

  • No β†’ choose GPL
    You allow commercial use, but improvements must stay open.

There is no β€œbest” license β€” only a license that matches your values and goals.

License philosophy and intent#

LicensePhilosophyIntent
GPL (v2/v3)Strong copyleft / reciprocityEnsure that all distributed modifications remain open-source under the same license, protecting user freedoms and preventing private capture of community code.
Apache 2.0Permissive with legal safetyPromote broad collaboration and commercial adoption while providing explicit patent protections and requiring preservation of notices.
MITUltra-permissiveMaximize reuse and adoption by imposing minimal restrictions, allowing selling, re-licensing, and closed-source derivatives.
LGPLWeak copyleft (library-focused)Allow proprietary applications to link against open libraries while ensuring improvements to the library itself remain open.
AGPLNetwork copyleftClose the SaaS loophole by requiring source code disclosure to users who interact with the software over a network.
BSD (2/3-Clause)Permissive and business-friendlyEnable nearly unrestricted use, including proprietary and commercial use, as long as copyright notices are retained.
MPL 2.0File-level copyleftRequire sharing of modified MPL-licensed files while allowing combination with proprietary code in larger systems.
Unlicense / Public DomainNo philosophy enforcedRemove all restrictions entirely, placing the code effectively in the public domain for unrestricted reuse.