Back to license.wtf
📚

License Parameters Explained

Understanding what each license parameter means and how it affects your project.
These are the factors we consider when recommending licenses.
Quick Navigation
💰 Commercial Use
Can others use your code to make money — including in closed-source, for-profit products?
💡 Why it matters
Some creators are okay with others building commercial products from their code, others want to prevent it (e.g., artists, educators).
🎯 Real-world scenario
"You write a cool text-to-speech engine. A company bundles it into their product and sells it — is that okay with you?"
📋 How licenses differ
MIT Apache-2.0 GPL-3.0 Creative Commons Non-Commercial (CC-BY-NC)
👏 Attribution Required
Does someone need to credit you if they use your code?
💡 Why it matters
This is about recognition. Do you want your name listed in the project using your code?
🎯 Real-world scenario
"Someone includes your library in a mobile app. Do they need to include 'Built with X by @you' somewhere?"
📋 How licenses differ
MIT Apache-2.0 GPL-3.0 WTFPL Unlicense
🔄 Copyleft Strength
If someone changes your code, do they have to release their changes too?
💡 Why it matters
Copyleft licenses ensure the open-source ecosystem continues — forks of your project can't go closed-source.
🎯 Real-world scenario
"A company modifies your code and uses it in a product. Do they have to release their modified code?"
📋 How licenses differ
MIT (Do whatever) BSD (Do whatever) LGPL (Only modifications to your code must be shared) GPL (Entire project must be open)
🛡️ Patent Grant
Does the license protect users from patent lawsuits by contributors?
💡 Why it matters
If someone contributes to your project and holds a patent, they could potentially sue users — unless the license prevents that.
🎯 Real-world scenario
"A contributor adds a feature and later claims it violates their patent. Are you protected?"
📋 How licenses differ
Apache-2.0 GPL-3.0 MIT BSD GPL-2.0
🔒 Tivoization Protection
Can your code be used in locked-down hardware where users can't modify it?
💡 Why it matters
Some companies use open-source code in devices (like smart TVs) but make it impossible for users to change it. GPL-3.0 blocks this.
🎯 Real-world scenario
"Your code runs on a Wi-Fi router. Can the user replace it with their own version, or does the device prevent that?"
📋 How licenses differ
GPL-3.0 MIT Apache-2.0 GPL-2.0
🎯 Permissiveness
How many restrictions are there on reuse, remixing, and integration with other code?
💡 Why it matters
Permissive licenses allow your code to be reused more easily, even in closed projects. Restrictive ones enforce open-source behavior.
🎯 Real-world scenario
"A startup wants to use your code in a commercial SaaS product. How much legal work do they have to do?"
📋 How licenses differ
MIT BSD GPL-3.0
🤝 License Compatibility
Can this license be used together with other popular licenses in one project?
💡 Why it matters
In real-world software, dependencies often have different licenses. Compatibility ensures they can legally coexist.
🎯 Real-world scenario
"You want to use both MIT and GPL code in your project. Are you legally allowed to distribute it?"
📋 How licenses differ
MIT Apache-2.0 GPL-3.0 (Apache-2.0 compatible) GPL-2.0 (not Apache-2.0 compatible)
🗂️ Relicensing Allowed
Can others relicense your code under a different license?
💡 Why it matters
If your license allows relicensing, someone could include your code in a larger work and change the licensing terms.
🎯 Real-world scenario
"Your MIT-licensed code gets pulled into a GPL project. Now the combined project is under GPL. Is that okay with you?"
📋 How licenses differ
MIT LGPL GPL
⚖️ Jurisdiction Clause
Does the license specify which country's laws apply to disputes?
💡 Why it matters
Legal interpretation varies between countries. A license with specified jurisdiction (like Apache's US-focus) offers clarity in court.
🎯 Real-world scenario
"A license dispute goes to court. Which country's laws decide the outcome?"
📋 How licenses differ
Apache-2.0 (U.S. law) MIT BSD-3-Clause GPL-3.0