GitHub as a mechanism for public participation?

By Julienne Chen

Digital participation has become a hot topic in recent years, whereby traditional methods of gathering feedback from the public – Town Halls, workshops and meetings – are increasingly being augmented by online tools.

Maptionnaire (www.maptionnaire.com) is just one of many online engagement platforms that provide a growing suite of digital tools for the public to participate in planning and policy making processes – allowing people to remotely provide feedback, ideas and insights at specific geographic locations, respond to surveys, etc. – information that previously would have exclusively been provided in-person or with pen and paper.

In addition to these built-for-purpose platforms, urban governments around the world are also building up their mobile app infrastructure and social media presence, allowing their constituents to reach them through Facebook, Twitter, public service apps and more. While they have their limitations, these tools allow governments to engage on issues quickly and reach new segments of the population, for instance, younger people or those with busy schedules who cannot attend in-person meetings.

Recently, we’ve also been hearing references to another approach towards digital participation, one that utilizes existing, if unrelated, online platforms to facilitate engagement in new and unexpected ways. For instance, in January of this year, US Congresswoman Alexandria Ocasio-Cortez made waves for calling into a Donkey Kong Twitch session to discuss the challenges faced by transgender children and young people. Twitch is a live streaming platform for digital videos, with a core focus on gaming (i.e., you can watch other people play video games in real time) and a daily user base of ~15 million people.[1] While its purpose is not public participation, it provides a way for public officials to (virtually) meet and engage with people where they are.

As the title of this post suggests, however, the platform of interest here is not Twitch, but another online platform called GitHub. GitHub was founded in 2008 in San Francisco as a way for software developers to host, share and collaborate on software code. As such, even though it has more than 30 million registered global users, it’s used by a niche audience and generally speaking, a highly educated and technically-oriented audience.

Its core function has little overt overlap with public participation. However, they share some important principles. For one, GitHub is an important player in the open source community, and users can choose to make their software projects available in a public repository – which means their software code is available to others, who can “fork,” or take the code and adapt it for their own projects. Users can also submit and track issues with the code, or even contribute by helping to resolve some of those issues, that can then be used and built upon by others. Arguably, this open source ethos is aligned with that of public participation, as it supports collaboration across multiple contributors, and is meant to be transparent and open for others to see and use.

Functionality available in GitHub includes:
  • Documentation and wikis: written content for users to read and understand more about the project; in public projects, the wikis can be set to allow all users to edit and contribute to the written content
  • Issue identification and issue tracking: users can identify ‘issues’ with the repository that need further attention. The issues can be voted on and prioritized. When the issue is resolved, it is marked as ‘closed’ with a notation of who it was resolved by and when.
  • Task lists: shows items that are currently being worked on for the project and who is assigned to it
  • Pull requests: a pull request is essentially a user contribution. When someone proposes making a change to the repository, they can submit a pull request for the change to be accepted and merged into the base branch. They can also request the change be reviewed by others; the change can be publicly discussed and commented on before they are revised and approved.
  • Commits history: the commits history documents all changes that have been made, including which user submitted the change and which user subsequently approved the change
  • Forking: users can make a personal copy of the repository that they can then modify, adapt or simply keep.
  • Other relevant functionality includes the ability to embed interactive maps into the repository; graphs showing repository activity, users and contributors; and the ability for users to subscribe to updates

 

In this post, I highlight a few examples of how GitHub intersects with public participation, including:

  • GitHub as a community organizing tool
  • GitHub as a collaboration tool
  • GitHub as a dissemination tool


GitHub as a community organizing tool

The 996.ICU repository (https://github.com/996icu/996.ICU) is the highest profile example of GitHub being used as a community organizing tool. 996 is shorthand for the 9 a.m. – 9 p.m. working day, 6 days a week (9-9-6) required of many tech workers in China, while ICU stands for “Intensive Care Unit,” referring to the emotional and health toll that these working hours pose on them.

As of 3 May 2019, the 996.ICU repository is the second most tracked repository on all of GitHub, having been “starred” by more than 240,000 GitHub users. It does not actually house any software code; rather it’s used as a platform to raise awareness and enable collaboration on the topic of labour rights.

For instance, users can contribute to a black list of tech companies that follow the 996 schedule, and a white list of companies that do not. Within the repository, they have also created an Anti-996 software license that prohibits companies that violate labour laws from using the code. This license was developed on GitHub as a living document with multiple collaborators, and made available on the repository for others to adapt and use.

Users are invited to contribute other proposals to further the development of 996.ICU, which can be viewed and added to/edited by others. One such proposal to organize annual or quarterly events has generated 120 comments, and 221 ‘thumbs up’ and 11 ‘thumbs down’ responses.

People can contribute in other ways, with the repository stating, “Please feel free to translate 996.ICU’s contents, adjust the format, add some contents or fix grammatical errors.”

To date, 563 contributors have created more than 2,700 “commits,” or discrete changes to the repository. Users can create a proposal to merge a set of commits into the main repository – a ‘pull request’ – allowing others to comment and discuss the proposed changes, allowing for an open conversation that can help surface and reconcile different perspectives and points of view.

What works very well is that every change or addition to the repository is documented – people can see who suggested the change or addition; who ‘approved’ the change or addition; and when it was approved. This creates a chain of accountability and transparency that is often crucial to create trust in participatory processes.

GitHub as a Collaboration Tool

In 2012, Iceland made headlines for being the first country to “crowdsource” their constitution. They did so by creating a very open process, including publishing drafts of the clauses every week and asking the public to read and comment on them.[2]

GitHub was not used in this process, but as collaboration tool, it does provides much of the same functionality, including the ability to publish content for others to discuss, raise issues and propose changes.

Washington, DC has been one of the top cities exploring this functionality. For instance, the DC City Council GitHub page (https://github.com/DCCouncil) actually hosts the city’s digital version of its legal code (i.e., the laws and regulations of the city, including public safety, permitting, etc.). Any changes made to the code on GitHub subsequently update digital versions of the DC Code on the city’s website and other online sources it is linked to.

This means when Joshua Tauberer, a DC resident, noticed a typo when reviewing the DC Code on the city website, he was able to edit out the typo and submit the edit as a “pull request,” or a proposed change to the Code. This edit was subsequently accepted by the Council’s lawyer, and all versions of the digital code automatically reflected that change.[3]  While not a substantive change, it shows the potential of creating collaborative documents that members of the public can review, discuss and edit in a quick and transparent way.

GitHub as a Dissemination Tool

GitHub is not only a way for users to collaborate on a document or project. It’s also an important way for people to share and build upon the broader digital participation movement. It achieves this through providing a platform for people to share the code for open source software, thus allowing it to be used by others.

Why is this relevant? Because several open source e-participation tools have been made available on GitHub. This makes it easier and cheaper for entities that are interested in implementing digital participation. In the past, they would have likely needed to source and procure e-participation software; now, they are able to go to GitHub, and download and customize existing (and free) software for their own purposes.

One compelling example is Consul (http://consulproject.org/), an online participation platform that was developed by the City of Madrid. Its functionality includes allowing citizens to submit and vote on proposals; debate issues; engage in participatory budgeting; and collaborate on legislation. Instead of keeping the software to themselves, the City of Madrid made the code available for free on GitHub, enabling dozens of other cities to adapt and use it for their digital participation activities.

Summary

In this post, I explore three different uses of GitHub in the age of digital participation: GitHub as a community organizing tool; GitHub as a collaboration tool; and GitHub as a dissemination tool. Each of these have interesting use cases, and show the potential to: 1) learn from tangential and nascent communities, such as the software development community, and the methods and tools they use to foster participation; and 2) leverage existing platforms to engage with constituents in novel and collaborative ways.

GitHub: Advantages as an engagement platform
  • Allows for transparent tracking of who is contributing and how; and the chain of approval for those contributions
  • Allows people to raise very specific, and often action-oriented issues
  • Allows people to participate in developing and submitting solutions to those issues; and to see when and how issues are resolved
  • Easy for people to “fork,” or copy all of the content to their own repositories, meaning the content and contributions have more distributed and shared ownership and are more likely to be accessible in the long-term
  • Because of its open nature, it’s easy to share and replicate content and tools for other entities who wish to initiate their own engagement activities
  • Free (for publicly-available repositories)
Disadvantages 
  • Barriers to participation are fairly high; relatively little of the population has a GitHub account or knows how to use it; its reputation as a technical platform can be intimidating or discouraging for others – leading to concerns about the digital divide and its further implications
  • Its key purpose is not public participation – rather, it’s a collaboration tool for software development that in some rare, but notable cases, has been appropriated for public participation.

 

It also signals a trend to try to engage people “where they are.” Staying up-to-date on new digital platforms – whether it’s Snapchat, Twitch, GitHub or other emerging players – allows entities to engage with diverse audiences in ways that are convenient and meaningful to them. This is essential to address important concerns such as how to make sure that participatory processes are well-utilized and representative of different population segments.

What GitHub does well, and why it’s important, is because it shows the potential of digital participation as a general practice. There are multitudes of GitHubs repositories that model an open and transparent process in which multiple users debate, contribute and collaborate on a common project – one that is available to all users, and can be widely shared and distributed for public gain. As an advocate for digital participation, this seems like an important process indeed.

 

References

[1] Iqbal, Mansoor “Twitch Revenue and Usage Statistics (2019).” Business of Apps, 27 February 2019, URL: http://www.businessofapps.com/data/twitch-statistics/
[2] Siddique, Haroon. “Mob rule: Iceland crowdsources its next constitution.” The Guardian, 9 June 2011, URL: https://www.theguardian.com/world/2011/jun/09/iceland-crowdsourcing-constitution-facebook
[3] Tauberer, Joshua. “How I changed the law with a GitHub pull request.” Ars Technica, 26 November 2018, URL: https://arstechnica.com/tech-policy/2018/11/how-i-changed-the-law-with-a-github-pull-request