Introducing Forks vs. Knives

Format note: Written as a grant proposal.

Forks vs. Knives – Developing the code that governs us

Describe your project

Reaching consensus is never easy and when it gets really tough some reach for their knives. We say, drop the knives and pick up the forks.

Imagine a site – – where each community can store its social pact – be it legal, economic, ethical or religious code – and share it with its members and the world. Much like the social coding sites – Github and Bitbucket – the site will let each community member create her own version, a “fork”, and then share and discuss it with others. Forking becomes an opportunity to reflect, explore and innovate.

But we will not stop at that, communities need a way to agree on a mutual social pact. FvsK will support a well-defined enactment process for accepting forks and updating a pact. Using the power of distributed version control systems (DVCS) such as Git and Mercurial we will create a system that keeps the entire history of changes to the social pact and allows each member to propose changes. We will use the key processes of DVCS – forking and merging – to encourage free flow of ideas and to formulate agreement. On top of the DVCS system we will use tested organizational workflow solutions (such as BPM) to model the current process of pact revision approval and create simple tools to improve that process.

Our long-term vision is to create a system that can serve any size of community – from the manifest of a small ad-hoc activist group to a country’s statutory law – providing a way to keep their pact dynamic and encourage members’ participation.

This project will launch in Israel, one of the most challenging political environments today, where opposing communities are torn over national, religious, economic, racial and cultural differences. The future of our region is dependent on gaining the permission to read, write, and enact the codes that govern us, and to dare innovate, engage and affect them.

During the first year of this project we will build a system to serve two Kibbutz communities to be elected from the 256 “Kibbutzim” in Israel. Being a communal village of a few hundred people, the bylaws of the Kibbutz are critical to its members. The issues of private vs. communal property are hotly debated as kibbutzim adapt to economic changes and the evolving needs and wants of their members. Continue reading “Introducing Forks vs. Knives”

Wikipedians look to the past, coders looks to the future(s)

Anil Dash just published an interesting post looking at the social implications of the code fork, and how it has changed from a huge contested point to a feature of the collaborated process:

“While Linus Torvalds is best known as the creator of Linux, it’s one of his more geeky creations, and the social implications of its design, that may well end up being his greatest legacy. Because Linus has, in just a few short years, changed the social dynamic around forking, turning the idea of multiple versions of a work from a cultural weakness into a cultural strength. Perhaps the technologies that let us easily collaborate together online have finally matured enough to let our work reflect the reality that some problems are better solved with lots of different efforts instead of one committee-built compromise.”

ShiftSpace's network graph on

This is something we touched upon in the Collaborative Futures book, both in the Multiplicity and Social Coding and the Forks vs. Knives chapters. Anil goes on to suggest a distributed collaborative model that encourages forking might reinvigorate Wikipedia, which follows the more traditional centralized collaborative model:

“Most importantly, the new culture of ubiquitous forking can have profound impacts on lots of other categories of software. There have been recent rumblings that participation in Wikipedia editing has plateaued, or even begun to decline. Aside from the (frankly, absurd) idea that “everything’s already been documented!” one of the best ways for Wikipedia to reinvigorate itself, and to break away from the stultifying and arcane editing discussions that are its worst feature, could be to embrace the idea that there’s not One True Version of every Wikipedia article.”

Extending the distributed model beyond code and leveraging forking in other collaborative processes have interested me for quite some time. In commenting on Anil’s post, I realized something  about the inherent difference between Wikipedia and software. Instead of rewriting it, I’ll just quote my comment in its entirety:

I’m happy that both the merging and the network view issues were addressed on the previous comments. I have been interested in extending the git&github models beyond software myself. I understand the interest in considering Wikipedia as the next logical step for networked collaboration right after code, but I think there is a fundamental difference between the two. While software code contains a set of rules that would operate a system, Wikipedia’s model is almost opposite – it documents a system that is already happening or has happened. Wikipedia attempts to document a monolithic past while software attempts to imagine the multiplicity of the future(s). Read the rest of this comment→