There's an inherent ethical tension in sharing code. A developer releases their work for anyone to use, yet cannot control what monster it might one day become a limb of.
A simple software license could change the terms. A license you could drop into your repository, just like MIT or GPL. A license that would ban nothing: anyone could use, modify, sell, or embed your code. There would be just one condition: if that code is used in a system that assesses or monitors people, the operator must publicly justify that use in light of the license's ethical principles.
That's the very idea embodied in the Kantian licenses.
Code travels downstream. Your library could be running inside a credit-scoring engine, a tenant-screening platform, or workplace surveillance software. Under MIT, operators have no obligation to disclose that use—to you or to the people being assessed.
The usual response is a so-called "ethical license" that prohibits uses you consider unacceptable. But there's a catch: prohibition makes the software non-free, is difficult to enforce, and grants the developer the authority to decide what everyone downstream may or may not do.
By contrast, the Kantian licenses never say no. Rather than letting developers decide what's right or wrong, they shift the burden of justification to those who run the systems.
There are three ethical traditions to choose from: Kant's categorical imperative, Aristotle's virtue ethics, and Mill's utilitarianism. According to the ethical principles of the chosen license, operators must make their case in public. Not to the developer—to everyone affected.
Silence or a knowingly false statement terminates the relevant rights. Continued use may then constitute copyright infringement, a violation courts reliably redress.
Sunlight, with teeth.
The license travels with the code. Anyone who uses or redistributes it must preserve the license and notices, and make its presence discoverable. For ordinary library use, no ethical declaration is required.
Deployment triggers the condition. Once the code becomes part of a system that affects people, the obligation falls on its operator. Even if the library is buried five dependencies deep.
The whole system goes on record. The operator must publish an honest, plain-language declaration covering the entire deployment, not just the licensed code. It must remain public and be updated whenever the system's impact on people materially changes.
"We score incoming mail by spam probability and sort it out of the inbox, and we hold that every mail provider may do the same."
Quillpost Mail Co. — posted 2026-04-14 · standing
Survives all three tests. An honest deployment answers §3.5 in an afternoon — and the answers are now on the record, quotable by every sender it filters and every regulator who asks.
"We score employees by keystroke rate and screenshot sampling, and the score informs termination — and we hold that every employer may watch the same way."
Tallyfloor Workplace Analytics — internal draft · legal advises against publication
Convicts itself. The KPL forbids nothing here. It demands the three answers — and written truthfully, they read as an indictment the operator signs. Publish that; or publish a flattering version and lose the license under §5, every further run copyright infringement; or stop. No committee needed — the document does the judging.
Each license requires the operator to answer a different ethical question in public. No background in philosophy is needed: each text defines its own terms. Pick the question you'd most want to ask those who operate a system aimed at you.
Showing: strict · lesser — lesser variants can be combined with GPL code
after Kant's Groundwork
What rule are you acting on — and would you accept everyone in your position adopting it? A rule that only works as long as others don't follow it fails the test.
after Aristotle's Nicomachean Ethics
What does running this system make of the people it touches — and of those who run it? You become what you repeatedly do; so does a company.
after Mill's Utilitarianism
What good does your system do, what harm are you willing to accept for it, and why is the trade-off worth it — for everyone affected, not just for you?
Strict or lesser: the strict version keeps its condition in force all the way downstream. That makes it incompatible with the GPL and AGPL, which forbid adding conditions of their own. In code combined with GPL, the lesser version turns its condition into a request rather than a requirement, so the combined work can still be distributed without breaking the GPL. If you don't know which you need, take the strict one.
The Kantian licenses deliberately fall outside the official Open Source Definition: their conditions extend to the entire deployed system and are triggered at runtime.
Large companies may treat code under these licenses as they do AGPL: not by lying, but by banning it from their dependency lists.
If that's a dealbreaker, these licenses aren't for you. If that's the whole point, welcome.
In depth explores how the six licenses are structured, whether declaration-based licensing can work at all, and four philosophical traditions still awaiting their own licenses: Levinas, Kropotkin, Spinoza, and ethics of care.
It also examines related projects, including firstdonoharm.dev, the JSON License, and ethicalsource.dev.