License Zero

gainful open software development

September 13, 2017

Open Source Accession via License Zero? a paved path to permissivity

I’ve written that License Zero ought to be a simple machine, an artless device—plain, transparent, and self-consciously scrutable. But the simplest machine does nothing at all. I’m wondering whether License Zero shouldn’t add one more service to its competency: administering offer and closing of deals to buy out License Zero projects to Open Source.

I have a lot of material and prior thinking on this, but it’s not enough. If these deals are of interest, as part of or entirely separate from License Zero, I’d greatly appreciate your help figuring out how to do this right. Even if doing it right means not doing it through License Zero at all, and having good reasons why.

Double Stairway to Heaven

The License Zero toolkit already paves a road to Open Source. Condition 3 of the public license, which contains all the new legal terms, falls away if private licenses stop being available:

The conditions of this paragraph [Condition 3] are waived if licenses on other terms cease to be available via the following agent, or a successor named in a subsequent release, for 90 consecutive calendar days: [Agent Name, Website, and Product ID follow.]

In essence, License Zero is a patch to two-clause BSD. Waiving—giving up the legal benefit of—Condition 3 undoes the patch, leaving you with two-clause BSD again.

The difference between turning License Zero into Open Source software by l0-retract-ing private licenses from sale and turning License Zero into Open Source software for a price boils down mostly, but not entirely, to payment, LICENSE, and metadata updates. The company’s published a form contract for these kinds of deals, the License Zero Open Accession Agreement. The form is short, and its essence is very simple: Developer has code under relatively restrictive public terms, or no public terms at all. Sponsor pays Developer. Developer relicenses under a pre-agreed Open Source license, and publishes into a pre-agreed distribution system. There are no ongoing service commitments, other than keeping the project code on distribution for a year, as long as that’s free. There’s no obligation to make future contributions Open Source, or to make them at all. That’s Switchmode territory.

The Accession Agreement is already public, and publicly licensed. It’s perfectly possible to use the form as a starting point on deals for existing License Zero or proprietary software, right now. Get lawyer help. Go get paid.

Linguistic Relativity

In conversation with maintainer friends, we often land on the term “ransom” to describe these kinds of exchanges. For many, that single word does more, and more quickly, to explain what the Open Accession agreement is about than anything else. I understand why. I also have deep misgivings about that why. Hence a new term, “accession”, in my writing and throughout the License Zero toolkit.

Intuitively, Open Source is the high point on a scale of practical liberation for code. It’s where, ideally, we want code to be. Extending the analogy, License Zero holds software captive, takes it out of its natural state of freedom. Perhaps for some valid purpose, sure, but takes it captive all the same. “Ransom” is paid to bring it home.

One side wants freedom. The other side wants cash. Pirates are fun. Culturally, we’re into pirates. But Good Guys don’t tend to practice ransom as a business model. You’re The Baddies.

Unfortunately, that view embarks from a point of view that fundamentally depersonalizes software, often as “information”, which compares unfavorably to “work product”, to say nothing of “craft”. Were everyone well cared for as a matter of course, and software written only for aesthetic, intellectual, addiction-service, or other inherent motivation, everything would be Open Source. Or rather, the law would make total freedom in software the norm, rendering Open Source as we know it—an escape hatch out of laws that lock up software—legally and practically unnecessary.

Open Source is very, very necessary. The law is not as our ideals would like to dictate. And neither is software impersonal, in conception or in maintenance, though it’s easy to see it that way, especially when it works reliably and well. If there’s a price to be paid ferrying indie software between the distant shores of reality and paradise, it’s not clear to me that developers should always pay the whole toll. They get stuck with all kinds of bills—and risks—as it is.

So more to reject a damaging framing effect than to add any new coinage under my name, License Zero calls deals to bring software across “accessions”, not ransoms.

In my mind, “accession” carries strongest association to libraries: each new volume added to a library or collection is an “accession”, receives an “accession number”, and adds to the available store made open to all, for any purpose, free-of-charge. There’s no resentment of the fact that books take paper, glue, ink, printing, editing, distributing, storing, and repairing to make and bring in. “Accession” holds no disdain for just compensation en route to the commons behind its teeth. That’s not what software and software makers deserve, even if they happen to be invisible.

Implementation

As I see it, License Zero could simplify the process of acceding software to Open Source in a fairly straightforward way:

There are a few potential problems with this approach that I can see:

Can you think of any more?

Lawyerball

Apart from structuring the process, this calls for continued, thorough analysis of the form agreement. Or rather, what developers and sponsors will think of the form agreement.

Unlike private licenses, where there’s ample prior art and established practice on terms, accession looks newfangled. In terms of prior art, it’s probably closest to my own work on Switchmode, which is seeing use, but still very young. Issues and pull requests on both stand open, and I’d love input on what would work, especially from the company-sponsor point of view.