Fork me: The version-controlled political party.
Software engineers rely on platforms like GitHub, GitLab and Bitbucket to collaborate and track changes. By applying the same rigorous methodology and purpose-specific tools in politics, we could achieve a better democracy.
You’ve probably come across version control in word processors or collaborative web docs. Version control tracks changes by providing a new ‘revision number’ to your edits and makes it easy to collaborate by providing features for comparing, restoring and merging changes.
This is all great when it comes to simple text documents, but what if you’re collaborating on the scale of a complex system like an Operating System, a Party program, or a Country?
In this article I’ll demonstrate how we could potentially unlock political participation at an unprecedented scale. By putting text and numbers — like proposals and budget figures — on a platform like GitHub, forward-thinking political organizations could set a new standard for accountability and collaboration. But first, a brief background.
Setting off a collaborative explosion 💥
Back in 2005, Linus Torvalds, the founder of the hugely popular operating system Linux was faced with a challenge: Development of Linux was stifled by lack of tools for decentralized collaboration and a better approach was urgently needed.
Interviewed in the Linux Foundation blog, Linus describes how he got the basic ideas right “in just about ten days”. But yet, a disruptive technology, Git, was born.
Like many successful innovators, Linus knew the pain-points that his community was experiencing and had acquired the skillset to devise a solution. Since then, the Git version-control protocol (analogous to the versatility of the Blockchain technology) has become the backbone for larger platforms like GitHub.
With its focus on user-friendly collaboration, GitHub has accelerated software development and more than 73 million developers are registered on the platform, collaborating on millions of projects.
Introducing the version-controlled political party
As we’ve seen from the history of software development, better tools create better outcomes. Platforms like GitHub allow users to:
- Collaborate on complex problems
- Discuss issues with precision and traceability
- Test and peer-review ideas in a decentralized manner
- Publish changes and notify users
Furthermore, the tech community has come up with related terms like Forking, Pull Requests, Bounties, Branches, Agile and RFCs to increase inclusivity and efficiency, provide incentives and a safe climate for innovation. We’ll return to these concepts shortly.
All in all, as an engineer, I know first-hand how important these tools have been to increase the quality of my work and enable new forms of collaboration. With increasing frequency, I’ve asked myself: How can we give ‘the engineers of our society’ — the politicians — equally effective tools? In other words, are there ways in which we, the developer community, could introduce these tools to help address the political challenges of the 21st century?
Another thing I learned first-hand is that it’s best to demonstrate ideas by example — even rudimentary ones … so let’s dive straight in!
An open-source boilerplate
On this link I’ve open-sourced a template demonstrating a few key pieces. The template aims to:
- help citizens and journalists track the basic facts and political reasoning of a party
- increase the internal efficiency of parties by providing common standards and better user experience
I based the template on the largest party in Sweden — the Social Democrats — but it should work equally well in other countries and for other parties.
The template exemplifies two categories of features:
a) Version-controlling basic facts for increased accountability
This includes aspects such as budgets, representatives, key figures and priorities/manifestos.
b) Collaborative features enabled by modern version control platforms
This goes beyond ‘basic version control’ and focuses on translating proven engineering workflows to democratic procedures.
a) Version-controlling basic facts for increased accountability
The budgets
Today, it’s hard to compare basic information between political parties. At Datastory, we recently had to extract lots of financial information from PDFs (!) to compare the budgetary priorities of political parties.
With a simple excel or CSV file under version-control, we enable quick visualizations of the budget. And we can also compare changes in priorities over time. If more parties adopted the same standards, positive effects would multiply.
Thematic areas, institutions and ministerial responsibilities
How political parties organize in terms of thematic areas, establishing or dismantling government institutions, and ministerial responsibilities, is a good proxy of their ideology.
As we’ve seen recently in Swedish politics (for example the discussion about the scope of Public Service media or the naming of the The Swedish Prison and Probation Service), the battle of ideas is fought through the gerrymandering of institutional reach.
Most parties have a summary of their ideology in a party program document.
By putting this text under version control, we can track changes over time and visualize key words:
Large donors
Another ‘no-brainer’ would be to put the largest donors in a CSV file so that it would be easier to track who finances each political party. Since a few years, there’s a law in Sweden that regulates this and there’s now a website to search all the records. But parties could do their voters a courtesy and ‘commit’ this data to version control along with other facts.
b) Collaborative features enabled by modern version control platforms
In addition to putting spreadsheets and text documents under version control, what if political parties could adopt other features of a platform like GitHub?
Tracking political proposals using RFCs*
RFCs, Requests for Comments, is a process that came about in 1969, as part of the seminal ARPANET project. By managing the expectations across authors and reviewers, based on an agreed format, RFCs constitute a formidable way to communicate ideas and receive feedback. To give an example, the popular React framework — that powers a large chunk of the web — uses this RFC template to capture new proposals.
In the context of a code framework — as the React example shows — the RFC template includes headlines like Summary, Motivation, Detailed design, Drawbacks, Alternatives and Adoption strategy.
Thinking instead of a format for political proposals, headlines could perhaps include:
- Summary: What does the proposal seek to address?
- Motivation: What’s the background, why should this be a priority?
- Evidence: What’s the scientific basis of this proposal?
- Drawbacks: Can you steel-man your own proposal, finding counter-arguments that everyone should be aware of?
- Examples: Has this idea been tested anywhere?
- Implementation: How do you imagine your proposal being best implemented?
Using the GitHub format of Issues and Discussions, it would be possible to track, review and interrelate such RFCs, making it easy for participants to trace, and participate in, the evolution of political ideas.
* Note: I am not claiming that political parties are devoid of such tools today. The purpose is simply to increase cross-pollination of ideas between tech and gov 🐝
Using bounties to incentivise politicians
Promises are cheap. Execution is hard. During an election year (like we’re experiencing in Sweden now) there are many promises made. “Lower unemployment”, “Lower petrol prices”, “Lower taxes”, “More teachers”, “Shorter waiting times in healthcare”, “Less gang violence” and so on.
Discordant with the quarterly reporting in business, only every four years we get to reinvest or divest in our favourite political vehicles, and it seems like this area of incentives and tracking KPIs in politics is ripe for innovation; we are many who are more interested in the progress of our country on a quarterly basis than that of Volvo, IKEA or Ericsson.
Using extensions to version-control platforms, such as the ability to tie a bonus to resolving an issue (a so called open-source bounty) we could perhaps achieve a more vibrant democracy?
More concepts to translate!
I only brought up a handful of concepts from the world of version-control. What other tech concepts could find a way into Government 2.0? The prime minister as a scrum minister? The political promise as a smart contract? Looking forward to hearing your ideas! ✨
If you want to read more like this, subscribe to our newsletter at www.datastory.org.
Daniel Lapidus is the founder of Datastory, an organization that uses data storytelling to explain science and global trends. In this series of posts, he puts forward experimental ideas on different topics.💡