The Ubuntu Code of Conduct is one of the most surprisingly successful projects I’ve ever had the privilege of working on. On my first day working for the company that would become Canonical, I talked with Mark Shuttleworth about some ideas for community governance. Partially in reaction to some harsh behavior in other free software projects we’d worked on, Mark and I agreed that some sort of explicit standard for behavior in Ubuntu would be a good thing. Over lunch of what was my literally first day working on Ubuntu, I wrote a draft of code of conduct that was essentially the version that Ubuntu has used until today. Shuttleworth made a series of modification to my draft but I don’t think either of us took it too seriously. We figured it would be easy to update it later.
Over time, that code has become a central piece of the Ubuntu community. Every new Ubuntu member cryptographically signs the code. When conversation in any Ubuntu forums, channels, or lists becomes disrespectful, users almost instinctively remind each other of the code. Through this process, the code has become a sort of constitution of our community and a widely enforced standard. People treat the code as a reflection of what "ubuntu" — both the concept and our project — stands for.
Over time, the original code has spawned a Leadership Code of Conduct (which I also worked to draft), and has been modified and employed by scores of free software projects and by many projects that have nothing to do with free software at all. This is all wonderful, but a side effect has been that updating the code has become a more a difficult process that we originally imagined.
Despite it success, the code remains a text written in an afternoon in Mark’s flat. At times, this fact shows. For example, the code contains some off-hand humor that now seems a little akward and the text was a bit too developer centric at points. And there was a lot that, quite simply, we would have done better if we had realized that the code would be so important. So this summer, Daniel Holbach and I spent another afternoon in Berlin discussing and crafting a new version of the code along with a detailed rationale document that describes all the things we’d changed and why.
We believe that what we’ve created is fully in the spirit of the original code. We’ve made efforts to minimize the delta in terms of text as possible. Daniel and I realize that changing the code out from under our community is a dangerous game, and we’ve make exceptional efforts to make sure that the new code doesn’t say anything substantively different than the old code — but that it does say it better.
So I’m thrilled that, after being posted since early June and after incorporating a series of revisions with members of the Ubuntu Community Council, the new draft was approved at a council meeting earlier today.
Of course, we are continuing to think about how we might improve the text going forward. One important goal we’ve thrown around, for example, is the creation of a code that is no longer Ubuntu specific and that can be employed by a wide range of different groups and different free and open source software projects.