Every time we contribute to an open source project, in any way, we are answering an important question:
Why don’t I walk away and start a new fork?
I’ve been working in and with and around open source software for the better part of 15 years, and over that time I’ve seen the rise of amazing ideas, powerful communities, valuable ecosystems, and massively profitable companies. Which is great. Open source is eating the world by giving everyone a chance to contribute and use software and technologies without being beholden to expensive proprietary licenses. I’ve also seen a slow and systemic erosion of the principle of walking away. Which is not great. Actually, it very bad.
Some time ago I posted what I called the “Open Source Serenity Prayer” on Twitter.
My intention was to remind open source contributors of what I believe is the core ethos of open source: the ability to walk away and make something new. Yet when I posted this text, a chorus of concerned friends and acquaintances chimed in with the same refrain: “Walking away? If I walk away, I lose everything.”
This is a problem. This keeps me up at night.
Asking for clarification on people’s concerns, I heard variations over the same theme:
- My job depends on the success of this particular version of a project.
- My skills are tied to this particular version of a project, I can’t succeed anywhere else.
- A project is too big / too dominant for a fork to be successful.
- A project is no longer a tool; it has become infrastructure.
In other words, some open source projects have turned into monocultures – the exact opposite of what open source was meant to create.
This is why walking away matters, maybe now more than ever before.
The Ethos of Open Source
At the core of open source ideology and practice lies the powerful concept of “forking;” taking what already exists (a “branch”) and making a new copy (a “fork”) from which new branches can grow. Very much like cultivating a garden. This is the proverbial “standing on the shoulders of giants” made real: You take something that works, often the work of countless other contributors like you, and build something from it. It may be a slight variation on the same theme, or something entirely new and different. Then someone else can take this new thing you built, fork it again, and build something new and different from it.
Forking and branching gives open source communities the freedom to explore a plurality of ideas without starting from scratch, and individual contributors the capability of choosing every day to do work they find meaningful and valuable without any expectation or obligation of future commitment or their work being wasted: If you create something which you find valuable, and the project you want to contribute to does not want to include your work, you can create a fork and build your own vision of the future. All the while, the maintainers of the original project and anyone else can copy or build from your new work to make further works, with or without your involvement. Everything is connected to everything else, and everything builds on and learns from everything else.
Contribution to open source and the open commons is in a very real way the giving away of your work without direct remuneration or reward. Your work may be funded by someone, and you may get status, or praise, or even power from your contributions, but these are secondary. Once contributed to the commons, the work becomes the property of everyone, from which new forks can be made.
Thus, every time we contribute to an open source project, in any way, we are saying to ourselves “I believe in this fork, I believe in the future it builds, and I am going to give away my time and work to it today to move it forward.” We are also saying “today I choose to stay with this fork, to not walk away and start a new one.”
The important things here are agency and capability: The choice of continuing to contribute to a particular fork, or to walk away and create a new one, must be a real choice. When a project becomes so powerful, or dominant, or such a monoculture that the choice of walking away becomes unfeasible, or a significant risk, or even impossible, the effective capability of forking the project is lost. And with it we lose what makes open source valuable to begin with.
Open source ideology started as a revolutionary counterculture fighting monopolies, monocultures, and corporate control. Choosing open source was an active walking away from the default models of expensive and restrictive proprietary licenses. Inherent to the open source ideology is the freedom of agency, autonomy of contribution, and the capability of walking away and starting a new fork when the work is no longer meaningful to you, or you have a new vision of the future, or you disagree with where the project is headed. This, the capability and willingness to walk away and start new forks and new projects and new versions and futures, is what made open source so successful. If we don’t embrace this, if we don’t actively cultivate the plurality of ideas which brought us here, we’ll fall victim corporatization, monopolization, and the creation of monocultures. Which is what I’m seeing everywhere I look.
When an open source leader says their project is “not a grain, it is the soil” and implies a single fork should become the infrastructure for everything, it may be time to find the strength to walk away and start a new fork to keep our open source garden from succumbing to monoculture.
Note: This article was inspired by Cory Doctorow’s book “Walkway” in which he explores a future where citizens literally walk away from “Default” society to live and work in a new society founded on open source ideals and values. I think this book should become essential reading for open source ideology and open source contributors (it’s also a very good and entertaining book, so there’s that.)