The GitHub Difference: Overcoming Barriers to Collaboration in Government

In a previous post, we introduced the GitHub web service and why our research center is investigating its use for facilitating collaborative document writing. In this post, we argue that GitHub is not just the dominant code-hosting platform on the Internet. Its underlying architecture also represents a new approach to collaboration that could have profound effects on our governing institutions and governance settings.

While the Web has transformed many aspects of people’s lives, it has not quite fulfilled Sir Tim Berners-Lee’s 25 year old vision of the Internet. Open governance is hampered by the flood of opinion, invective, snark, and ad hominem attacks. Knowledge sharing and collaboration within institutions — facilitated by web platforms — are often promoted as valued qualities of the knowledge organization, yet barriers to sharing knowledge and absent pathways for collaboration limit the ability of people inside organizations to connect with each other.

GitHub Can Help to Improve Collaboration

GitHub may have the potential to repair the broken social capital amongst web participants, overcome the barriers to knowledge sharing, and build pathways for collaboration because of some of its key features; particularly its socialness, openness, and transparency.

GitHub rests upon a recent innovation in collaboration architecture called Git, which creates a platform for disparate collaborators to contribute to a collective output without top-down coordination, using detailed version control and rigorously documenting every change that’s made.

Version control is a system that records changes to a computer file or set of files over time, and lets you to revert back to a previous state, compare changes over time, and explicitly and precisely identify who did what. Distributed version control is a system in which every user creates a full mirror of the target files. Git is a widely-used type of version control system and is responsible for the general movement towards distributed version control. Git also focuses on supporting distributed workflows, replacing coordination with a platform for collaboration.

But GitHub is not simply a place where collaboration can happen. It is also a catalyst in and of itself that creates a platform for structured feedback amongst participants. First, by creating their own mirror of a collection of files (called a repository, or “repo” in GitHub-speak), a participant on GitHub who creates a mirror (more GitHub lingo: a user would actually create a “fork”, or more accurately “fork the repo”) acquires the content of the target repository and becomes a partner in the co-creation of additional knowledge that builds on it. They can take the original content and send suggested modifications back (“issue a pull request”), or take it in a new direction — with the new knowledge available to the original owner. Rather than knowledge codified in documents, the platform becomes the mechanisms by which knowledge is shared, and new knowledge is created through collaboration.

How to Write a Policy Memo on Github

The concept of a briefing note helps to illustrate how this might happen in practice:

Consider a briefing note template for a government department being created as a GitHub repo. A policy analyst asked to create a new briefing note would fork that repo and start to write a new briefing note based on the template in the new fork. Both files now exist, with the system tracking their relationship (the new briefing note as a fork of the original template) and precisely logging all of the subsequent activity — including changes made by the policy analyst and contributions from other colleagues collaborating on the briefing note. If recommended changes to the template are sent back to the original owner as a “pull request”, these can be accepted and incorporated into the template or be used to create a new template (or, indeed, rejected). If the new note is repurposed in the future, a new fork of that fork will be created; any previous work that built on the template will be attributed to the original contributor, and new work attributed to subsequent users. The relationship amongst the documents is automatically tracked, as is the work of the person responsible for contributing to their content. Forking an existing template or note does not require permission of the owner (though there is a capacity for private repos in GitHub to closely control who has access to certain files and folders), but an owner must approve any changes back to the master document.

In such an environment, the accountability traces built into GitHub are a significant feature, and could have profound implications for performance management in a knowledge organization. If individuals were recognized for their contributions in collaborative efforts, their incentives to contribute would increase. And the fact that GitHub allows for knowledge to be openly repurposed should help to build knowledge within the organization.

Promoting Knowledge Organizations

What is striking is the potential impact such a revised model of working could have on the fundamental nature of governments as knowledge organizations. Public institutions are models of hierarchy, and those structures have created cultures that reflect this. Attempts to integrate new collaboration and knowledge sharing approaches continue to face barriers from prevailing cultural norms within institutions. Where these attempts are successful, these new approaches will disrupt those cultures. If any member of an organization can issue a pull request on any open document, can fork any repo, and repurpose knowledge towards any new direction, true knowledge organizations can start to flourish.

Since the emergence of the Web, we’ve seen e-government become a transformative force, followed by Gov 2.0 and the intermingling of governance and the social web. Interactions amongst citizens, and between citizens and governing institutions — the essence of open governance — are central elements of Gov 2.0.

But so too are interactions within the walls of government, based largely on computer-supported cooperative work amongst public servants. Open government, in an internal institutional sense, holds the promise of governments as non-hierarchical knowledge organizations, maximizing the potential contribution that all public servants can make if we can just find a way to ensure they’re pulling in the same direction, being able to openly build on each other’s efforts, and having their contributions evaluated on their merits and not the status of the contributor.

Such a change in the culture and conduct of governments would be revolutionary, but it is possible that the model that GitHub introduces may be capable of lighting the spark required for such a dramatic change.