License Zero

gainful software in the open

Talking About License Rules a simple framework for grounded license-rule discussions

License Zero makes new rules for open software. Discussion of the licenses has been incredible. I’ve heard again and again that developers can’t understand novel software licenses, or don’t want to. I can point to dozens of GitHub issues, e-mails, and chat logs to show otherwise.

As we discuss licensing rules, it’s important to keep in mind a few sets of terms that any particular point may be talking about:

Designed Terms
the rules that I have in mind, as the principal design of License Zero
Implemented Terms
the rules that I have implemented in the specific texts of the licenses, within the constraints I chose
Applied Terms
the rules that a particular person speculates that another person or institution, like a party settling a claim or a court deciding a lawsuit, would apply

Designed Terms drive Implemented Terms. Under the law Implemented Terms, not Designed Terms, overwhelmingly drive Applied Terms. When it comes down to it, Implemented Terms are the code that actually runs. Designed Terms are merely the design document.

Good Implemented Terms leave as little room for speculation about Applied Terms as possible. But Implemented Terms can only achieve so much of that certainty, and often only by trading off other values. License Zero licenses embrace constraints affecting those trade-offs: plain language, short length, academic license format, and so on. The challenge of license drafting is choosing constraints that will compliment the Designed Terms in implementation, and squeezing out the most value as possible within those constraints.

There are many more developers coming up with useful Designed Terms than there are lawyers translating them into Implemented Terms. As a result, developers have often chosen Implemented Terms originally written to very different Designed Terms than their own. That is the history of dual licensing under GPLs. I blogged a couple of quotes from Stallman and Torvalds that acknowledge and reflect this very succinctly.