License Zero

sustainable software in the open

License Zero is a new way to support open software developers.

Developers can choose from two new licenses that make their work free for noncommercial or open-source users, then sell private licenses to other devs who want to use commercially or in closed source. Everything happens through a simple, dev-friendly interface.


Noncommercial users of noncommercial projects, and open source users of reciprocal projects, don’t need any special permission to use License Zero software. For them, License Zero code works like open source under two-clause BSD, MIT, or a similarly permissive license.

Users who want permission for commercial or non-open source uses can identify, price, and buy licenses for all License Zero dependencies of their Node.js projects, in one checkout transaction, using a free command-line tool:

npm install -g licensezero
# Installs the License Zero command-line interface.
l0 identify "Larry Licensor" US-CA
# Configures the CLI for Larry, a developer in California.
cd a-node-project
l0 quote
# Lists License Zero dependencies in node_modules
# and the costs of missing licenses.
l0 buy
# Opens an online order page for all needed licenses.
l0 import-bundle $ORDER_BUNDLE_URL
# Imports a bundle of licenses from the order page.


In a perfect world, making software wouldn’t cost anything, and neither would using it, no strings attached. License Zero maintainers can offer to bring their software closer to that perfect world, by relicensing, for a fee, on permissive terms. Sponsors can accept those offers:

npm install -g licensezero
# Installs the License Zero command-line interface.
l0 identify "Sam Sponsor" US-NY
# Configures the CLI for Sam, a developer in New York.
l0 sponsor $PROJECT_ID
# Opens an online order page for sponsoring relicense
# of a project onto License Zero Permissive terms.


On the maintainer side, it’s quick and easy to create, license, and price projects, with just a few short commands:

npm install -g licensezero
# Installs the License Zero command-line interface
l0 identify "Anna Maintainer" US-TX
# Configures the CLI for for Anna, a developer in Texas.
l0 register
# Provides a link to connect a Stripe account receive payments,
# and an access token once the Stripe account is connected.
l0 set-licensor-id $NEW_LICENSOR_UUID
# Prompts for the new new licensor's access token, to save
# for use offering projects for license.
cd a-node-project
l0 offer 500
# Offer private licenses through at $5 US.
l0 license --noncommercial $NEW_PROJECT_UUID
# Writes LICENSE and package.json metadata for
# `l0 quote` to read.
git add LICENSE package.json
git commit -m "License Zero"