License Decision Flowchart
Visual guide to choosing the right license
Click on any license to learn more
flowchart TD
Start[Choosing a License]
Start --> Public{Is this a public
open source project?}
Public -->|No| Private[Private Project]
Public -->|Yes| Goal[What's your goal?]
Private --> PrivateChoice{Do you need
explicit license?}
PrivateChoice -->|No| NoLicense[No LICENSE File
✓ Strongest protection
✓ Zero maintenance]
PrivateChoice -->|Yes| PropLicense[LICENSE.md
All Rights Reserved
✓ Crystal clear
✓ Professional]
Goal --> ShareFreely[Share Freely
Maximum adoption]
Goal --> KeepOpen[Keep Open
Force sharing back]
Goal --> Business[Business
Prevent profiting]
ShareFreely --> Patent{Want patent
protection?}
Patent -->|Yes| Apache[Apache 2.0
✓ Patent grant
✓ Trademark protection
✓ Enterprise-friendly]
Patent -->|No| MIT[MIT
✓ Simplest
✓ Widely used
No patent grant]
KeepOpen --> Scope[What scope?]
Scope --> FileLevel[Modified files]
Scope --> ProjectLevel[Entire project]
Scope --> NetworkLevel[Cloud services]
Scope --> LibraryLevel[It's a library]
FileLevel --> MPL[MPL 2.0
Weak copyleft
File-level only]
ProjectLevel --> GPL[GPL v3
Strong copyleft
Like Linux]
NetworkLevel --> AGPL[AGPL v3
Network copyleft
Companies may avoid]
LibraryLevel --> LGPL[LGPL v3
Library copyleft
Can link proprietary]
Business --> OSIChoice{Stay true
open source?}
OSIChoice -->|Yes| AGPL2[AGPL v3
✓ OSI-approved
Cloud can compete]
OSIChoice -->|No| SourceAvail[Source Available
SSPL / BSL / Elastic
✗ NOT open source
Dual-licensing]
%% Clickable nodes
click Apache "/result/apache-2" "Learn more about Apache 2.0"
click MIT "/result/mit" "Learn more about MIT"
click MPL "/result/mpl-2" "Learn more about MPL 2.0"
click GPL "/result/gpl-v3" "Learn more about GPL v3"
click LGPL "/result/lgpl-v3" "Learn more about LGPL v3"
click AGPL "/result/agpl-v3" "Learn more about AGPL v3"
click AGPL2 "/result/agpl-v3" "Learn more about AGPL v3"
click SourceAvail "/result/source-available" "Learn more about Source Available"
click NoLicense "/private" "Learn more about private projects"
click PropLicense "/private" "Learn more about private projects"
%% Styling
style Apache fill:#33507a,color:#fff
style MIT fill:#a8bfdd,color:#000
style MPL fill:#e5e7eb,color:#000
style GPL fill:#9ca3af,color:#000
style LGPL fill:#d1d5db,color:#000
style AGPL fill:#4b5563,color:#fff
style AGPL2 fill:#4b5563,color:#fff
style SourceAvail fill:#111827,color:#fff
style NoLicense fill:#ffffff,color:#000,stroke:#9ca3af
style PropLicense fill:#ffffff,color:#000,stroke:#9ca3af
Color Legend
- Blue
- Permissive licenses (recommended)
- Light gray
- Weak copyleft
- Mid gray
- Strong copyleft
- Dark gray
- Network copyleft
- Near black
- Source available (not open source)
- White
- Private/proprietary
Quick Tips
- → Most developers: Use Apache 2.0 or MIT
- → Want improvements shared: Use GPL v3 or LGPL v3
- → Prevent SaaS: Use AGPL v3 (or source-available)
- → Private code: No LICENSE file is simplest
- → When in doubt: Apache 2.0 is the safest choice