March 5, 2018
Withholding open source doesn't have to mean less
In Fulcrums, I stood up a framework for thinking about the leverage independent open source maintainers have to get the financial compensation they need. It’s fundamentally a descriptive framework, a mental model, my mental model. But that mental model also works as a game plan, a checklist of dimensions along which developers could shrink the meaning of “open source”. If “open source” means less, developers bear responsibility for less, and the job becomes that much easier to manage in a healthy way. Maybe even a sustainable way.
Swamped with GitHub issues? Stop offering free support, and demand compensation for it, instead. Struggling to update tutorials? Take them down, and start selling books and workshops. Can’t fund the time to work on your project? Stop doing free work, and only push commits when someone pays you to do so.
I could put any number of initiatives, tools, and companies within the Fulcrums taxonomy, based on what part of “open source” they withhold from the commons and monetize. If you don’t believe that charity—via Patreon, Liberapay, Open Collective, or personal donation pages—offers a scalable, equitable solution, you’re left slicing bits off the all-inclusive package called “open source”, and charging for them. You’re talking about value developers can withhold from open source to drive a bargain for compensation that enables them to do the rest for free.
I don’t like this picture. I don’t like how it will affect kids and the poor, who only get the full open source package now because it’s all $0. I don’t like how it will affect freedom to express correctness, aesthetic sensibility, and completionism in the projects developers want to be proud of. I don’t like where advertising-based business models have led, and I don’t want that for programmingdom.
More abstractly, I don’t like how it cuts across the grain of Open Source development methodology, the belief that open process and open output make better process and better output. I don’t like how it cuts across the grain of Free Software, a social movement for a better world where more systems we rely on stand open to scrutiny and change.
The Good News of License Zero is that one of the fulcrums of developer leverage, licensing, is fundamentally different from the others. Withholding and selling permission for commercial and proprietary use of your open source work is better than withholding and selling user convenience, advertising, or the freedom to direct your own work. It’s better for individual contributors, it’s better for projects, and it’s better at scale.
We want independent developers to do as much of the best work they can as possible. And we want independent developers to earn compensation that enables them to live healthy, autonomous lives, and develop their craft. Selling licenses for commercial and proprietary use of software rewards volume, quality, and refinement of contributor work. When the wedge is a reciprocal license, it rewards businesses making open source, too, with freedom to use at no cost. That fundamentally ties financial incentives to production of open software, piping the input we want to the output we want. That’s also true of donations, but donation systems, as designed, don’t apply leverage like dual licensing does.
Infrastructure for selling professional services around open source rewards good service, and projects that create need for additional services. Infrastructure for selling training rewards good training, and projects that lack good documentation. Infrastructure for selling speaking engagements rewards good speaking. Infrastructure for selling advertising rewards good marketing, charisma, and networking. These talents may coincide with making good software, but when they coincide, they compete: Doing more of what pays takes time from what we want to encourage. But selling licenses to use and build with good software rewards good software development. There’s no rivalry for time. Goals and compensation align.
“Open Source” started with licensing for a reason. That’s where independent developers’ power is.
To recite the orthodox economics, governments sought to avoid underproduction of useful creative work by making it excludable, or giving creators the power to sell permission to copy and therefore benefit. Intellectual property was a policy response to a class of social problems—finance of public good production—that now includes open source sustainability. The law attempted to solve the problem by turning public goods—software anyone can use and build on—into private goods—software you need a license to use and build on.
The law overshot. Imposing copyright on nearly all software imposed the transaction costs of copyright licensing on nearly all users. We suffer the difference every time we accept a EULA without reading it.
The permissive language of open source licenses reacted to overcompensation in the law by foregoing license revenue in exchange for reduced transaction costs. That trade-off, rejection of secrecy and nondisclosure agreements, plus the Internet, made incredible software rivaling proprietary projects.
The MIT and BSD licenses, written to release projects developed by folks with academic funding, were maximally permissive licenses. But the movement of independents that began as “Free Software” and became “Open Source” started with GPL, the first copyleft license. “Free Software” withheld universal permission, imposing conditions instead, for good reasons. Some were very individual: Copyleft ensured downstream users wouldn’t lose the freedoms they’d been granted by original developers. But some were social: In aggregate, an expanding network of copyleft software would make more and more new software free, creating a world in which most software that matters to people would become free. Only later did those mechanisms prove helpful for dual-licensing and bringing patches back.
License Zero, and dual-licensing based models more generally, continue these lines, rather than break with them. License Zero feels disruptive, because it touches at the heart of the problem, licensing. Developers have been acculturated to treat licensing as magic, and to address it only by rote. And that is exactly why a workable approach to open source sustainability that honors free and open values has been so elusive.
Licensing did the work that made modern open source possible. Licensing was the natural tool for that job. It can do the job of making an unadulterated, expanding notion of open source financially viable, without surrendering its values or accomplishments.
Special thanks to Ben and Mikeal, who drew this out of me, helped me refine it, and probably still disagree with it.