First, two guys at a programming conference made some jokes about big dongles and wanting to fork some other guy's repo, and the woman sitting in front of them took offense. Then she snapped their photo, shuttled it onto Twitter, and told her 11,000 followers what the two coders had said. Then one of the coders was fired by his company. Then someone launched an online attack against the woman's company. And then she was fired too.
The widely reported incident shined a harsh light on just about everyone involved: the coders, the woman with the camera, the companies who fired them, and the larger programming community -- a traditionally male-dominated culture that's still struggling to provide women with the same level of comfort it affords men. In the end, no one came out looking too good.
Well, no one but GitHub.
Jesse Noller is the chair of PyCon, the programmer conference where the incident occurred. It's his job to make sure this sort of thing doesn't happen again. But he's more than a mere administrator. He too is a programmer. On Thursday morning, as the controversy swirling around the incident came to a head, Noller grabbed the official PyCon code-of-conduct and posted it to GitHub, the wildly popular website where developers can collaborate on open source software projects.
His aim was to edit the document. After posting it to GitHub, he added language that explicitly frowns on the sort of public shaming that occurred when the two coders had their photo posted to Twitter. But the larger point is that Noller did this in a public forum provided by GitHub, sharing the changes with others and inviting them to discuss the changes or even make changes of their own. He was treating the document as the programming community would normally treat a piece of software, and whatever other problems the programming community may have, it has certainly learned to handle software in the most egalitarian of ways.
The goal, Noller says, is to turn the PyCon code of conduct into something the community is constantly revising. "The rationale, several years ago, when we put the PyCon code of conduct in place, was to make it a safer place, a more inclusive place, for everyone -- men, women, everyone," Noller tells us. "But the community evolves. People evolve. Standards evolve. So, being able to have this feedback loop for the community can be really important."
To be sure, a code of conduct is largely symbolic. But there's an importance to this symbolism, and if the document is edited in this collective way, it only becomes more important. Noller's change did spark discussion -- both on GitHub and on Hacker News, another popular hangout for programmers -- and the discussion led to additional changes.
It's yet another way that GitHub is moving beyond software, helping to democratize the development of other stuff, including everything from laws and other legal documents to cartoons and even Wired articles. “GitHub is revision control,” Noller says. “It lets you rapidly iterate things that need to be iterated.”
This movement is still in the nascent stages, but GitHub sees it as an integral part of its mission. "One of our core beliefs at GitHub is to open source (almost) everything, whether it’s code or in this case, a code of conduct," says company spokesperson Liz Clinkenbeard. "We’re always excited to see more ways that people are using GitHub to encourage community discussion and collaboration."
Jesse Noller often posts code documentation and other text files to GitHub and other similar services, and he's not alone. PyCon is a conference for developers who use the Python programming language, and this community is using another version-control system, called Mercurial, to manage text-based suggestions for how the language itself should be changed. "It's not that uncommon to have documents handled with the same source-control tools that handle software," Noller says. "That way, you have a history of what has changed, what had not changed, comments, etc."
If you like, you can see all this on the GitHub repository, or repo, where Noller posted the code of conduct. First, someone requested a grammatical change. "While English isn't my first language, wouldn't 'please do not disclose information publicly about the incident' be more correct than 'please do not disclose public information about the incident'?" Then another commenter suggested the meaning should change -- if slightly. "I'd emphasise letting the staff deal with it.... 'Please give the staff reasonable time to address the situation before making any public disclosure about the incident.'"
The discussion progressed from there, and at one point, someone even noticed that the document assumed that chair of the conference is always a man. "Depending on the incident, the conference chair or his designate may decide...," it read. So Noller made another edit.
Yes, he could have shared the document on, say, Google Docs and invited others to edit it there. But that's not quite the same. From where Noller is sitting, Docs isn't as well suited to collaboration. What's more, he says, GitHub is specifically designed to rapidly disseminate material across a broad community. It is set up a lot like a social network.
When Noller posted his change to the document, it was immediately sent to his long list of followers -- and they could immediately view it. "When you put something on GitHub," he says, "you tend to get more feedback, more collaboration."
Certainly, GitHub is geared toward software -- not documents. Editing a document has its challenges, even if you're intimately familiar with the online service (see screenshot below). And GitHub -- as a microcosm of the developer community -- is plagued by many of the same gender-charged issues. But it drives interaction. And that's a good thing.
Update: Jesse Noller adds that the decision to put the code-of-conduct was inspired by many from across the Python community, including Adria Richards, the woman involved in the incident at PyCon.