The Chef Community

Tl;dr

The short version: we should stop focusing on how to protect the revenue models of open source companies, and instead focus on how to create sustainable communities. Both because it leads to better software, but also because it’s better for business.

Today I’m launching the Sustainable Free and Open Source Communities (SFOSC) project. It’s a place to discuss what the principles are that lead to sustainable communities, to develop clear social contracts communities can use, and educate Open Source companies on which business models can create true communities. I also wrote a short book on why I think this is important, and the research that went in to the development of the principles themselves.

If you feel like I do, I hope you’ll join me in building a movement that is passionate not simply about how our software is licensed — but what values we hold for each other. That we take the phrase “Sustainable Open Source” and make it about building truly sustainable community resources, not about revenue models.

We need Sustainable Free and Open Source Communities

Today, December 13th, 2018, I am 41 years old. Free and Open Source software communities have defined my adult life. I learned how to program from the Perl community. The Cfengine and Puppet communities made me a better systems administrator. The Ruby community taught and empowered me to build Chef, which led to the creation of a community (and company) that has given me personally more than I could have ever expected.

The power of communities, of people coming together to help and support one another, and to solve their problems with software: that’s the best thing in my professional life. It’s the most fun. It’s the most fulfilling.

I’ve also, through Chef, grown in to a business leader. I spend most of my day not at a keyboard writing code, but helping to guide a growing technology business. I talk to customers. I think about revenue, I think about strategy, I think about product development. In that part of my life, my job is to create a business that is worth the investment that has been put into it, and that can sustain itself now and into the future. I love that too.

When I look back on 2018 in open source, I see a trend I do not love. It started with the Commons Clause, was expanded with MongoDB and the Server Side Public License, and peaked with this article by Salil Deshpande, a venture capitalist at Bain, titled “The crusade against open source abuse”. All these events have one thing in common: they are attempts to increase the ability of companies to monetize their open source software through limiting the rights of others, in ways they themselves would not accept.

I believe this is the exact wrong conversation to be having. What makes Free and Open Source software great is not how it enables (or not) your business model. What makes it great is that it recognizes that software is unique: it can be changed by the user, and it can be shared infinitely without damage. When we grant each other the right to do that, we grant each other the right to solve our problems. To create what we need in our lives. That might be small things — a bug fix, a new feature — but it might be big things: a business. A way to feed our children. A way to gain self esteem. Friends. Community.

I believe we need to start talking about Open Source not in terms of licensing models, or business models (though those things matter): instead, we should be talking about wether or not we are building sustainable communities. What brings us together, as people, in this common effort around the software? What rights do we hold true for each other? What rights are we willing to trade in order to see more of the software in the world, through the investment of capital?

Those questions led to a lot of conversations. A lot of research into communities, into business models, and into the history of free software and open source. It led to the following:

Principles of Sustainable Free and Open Source Communities

Preamble

We are a unified body of individuals, scattered throughout the larger society, who work in support of the creation, evolution, use, and extension of free and open source software; while ensuring its longevity through meeting the needs of the present without compromising the ability of the community of the future to meet its own needs.

The Core Commitment

We want the software to exist, to solve our problems, to continue to improve, and to be available for our use. Therefore, we commit that we will uphold these four freedoms for all, under all circumstances:

The freedom to run the program as you wish, for any purpose (freedom 0).

The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1).

The freedom to redistribute copies so you can help others (freedom 2).

The freedom to distribute copies of your modified versions to others (freedom 3).

The Sustainability Principles

The software must be released under a Free and Open Source license.

Rules for membership in the community must be published and adhered to.

Membership must be open to all classes of contributor to the community. It must not be limited to technical contribution, nor to any kind of external status.

Membership must have requirements for validation of identity, and review of contribution to the community (to avoid stacking the membership roles). Any impediment to membership must be low enough that a person with the least advantage could achieve it.

Voting processes must be put in place, which give each member an equal vote.

All positions of authority in the project must be, directly or indirectly, the result of a vote.

We must have a strong code of conduct, with clear, fair enforcement mechanisms.

Any patents included in the software must be granted under the terms of the open source license.

All contributors must retain their copyright, unless the software is being managed by a foundation for the purposes of license enforcement

All contributors intending to have their work incorporated into a distribution must contribute their work under the same terms as the software license they received it under.

Any commercial activity around the software must further the sustainability of the community, and the potential for commercial benefit must be available to all.

The incentives in any commercial model must bend away from the creation of proprietary downstream software

What’s next?

I think it’s time to change the conversation away from how to protect open source companies business models, to one where we are talking about how to build a community that wants every member, including businesses, to thrive. We need expansive, inclusive communities. If we want more free and open source software in the world, we need it. If we want better venture capital returns, we need it. If we want to enable each other to take from the software what they need to grow and change, we need it.

If you agree, come join the conversation at the SFOSC. Help me draft social contracts, and figure out the best way to help projects adopt them. Help me describe the various business models, governance models, etc — so that those new to starting Free and Open Source communities can get off on the right foot. Learn more about what I think by reading the book.

Most of all — if you agree with me, start saying clearly that Sustainable Free and Open Source is not about revenue and licensing models for a business. It’s about protecting and nurturing a community resource, together, as people.