Consider the following quote from the Code of Conduct:
Members of the Fedora community should be respectful when dealing with other contributors as well as with people outside the Fedora community and with users of Fedora.
It seems quite reasonable. Think again: George Orwell's Animal Farm was seen as incredibly disrespectful to friends in the Soviet Union, comparing Stalin's totalitarian regime to a bunch of pigs. Russia was a British ally. Most publishers didn't want to touch the book for this very reason. It should be clear that there is no way Animal Farm's pig metaphor is compatible with the Code of Conduct as it is currently written.
Red Hat owns the Fedora trademark and any trademark owner has a right to control the trademark. At the same time, when somebody does work and contributes intellectual property to any free software project, they have a right to assert that they are the Developer and this will inevitably involve using the trademark too. With at least one organization, Debian, refusing to recognise all Developers equally, it is important to scrutinize this issue. After all, not fully and respectfully crediting every Developer is as unpleasant as plagiarism.
There are many signs that Fedora and Red Hat have no intention of going to such extremes. Nonetheless, it is always a good idea to learn from the mistakes of other organizations that are trying to re-invent intellectual property rights to beat people over the head.
Oddly enough, both Red Hat's trademark rights and the Developers' authorship rights can be traced back to the same place, Article 27 of the Universal Declaration of Human Rights.
- Everyone has the right freely to participate in the cultural life of the community, to enjoy the arts and to share in scientific advancement and its benefits.
- Everyone has the right to the protection of the moral and material interests resulting from any scientific, literary or artistic production of which he is the author.
Last time I cited this article in a blog post, the blog was immediately censored from Planet Debian and Planet Mozilla. I feel that some free software organizations take a one-sided view of these rights, they insist on the freedoms to use free software while showing contempt for any other rights, such as volunteers' right to speak or vote.
It is an interesting moment to look at the stated goals of some of these organizations. Fedora's Mission page defines the Four Foundations. The first foundation is Freedom, which includes:
We are dedicated to free software and content. Advancing software and content freedom is a central community goal, which we accomplish through the software and content we promote.
Mozilla's Manifesto states:
We are committed to an internet that promotes civil discourse, human dignity, and individual expression. We are committed to an internet that elevates critical thinking, reasoned argument, shared knowledge, and verifiable facts.
When that blog post encouraged critical thinking about the rights of volunteers, this is how Mozilla burned their own manifesto:
Fedora's Community Publishing Platforms proposal on its own doesn't appear very controversial until you think through all of this context. To understand why there is a problem, we need to consider how Codes of Conduct have been misused.
The term Code of Conduct has been used to give smears an appearance of credibility. If a smear against a volunteer is based on the Code of Conduct then it suggests there may have been some misconduct. To suggest misconduct, with the weight of the organization's reputation, is an attempt to harm somebody.
Whenever I see a reference to a Code of Conduct in a free software community, the first thing that comes to mind is that I resigned from some of my voluntary roles after the loss of a family member and the people who were oblivious to that immediately started the CoC-insult routine. Each time I see another volunteer being insulted and attacked with this weapon, in any free software community, it also reminds me of the same attacks on my family and I.
Looking through the history of our industry, before Code of Conduct mania, we can find many examples of people resigning or forking projects without any public acrimony. An example is Theo de Raadt leaving NetBSD to start OpenBSD, Wikipedia dedicates only a few words about personality clashes to the split. When Paul Allen left active operations at Microsoft in 1983, there was no public shaming on account of his medical condition. He continued to support the company in various ways. Since we have Codes of Conduct, each time there is some resignation, each time somebody forks a project, a narrative of wrongdoing can be falsified.
Codes of Conduct have created a form of extremism. People can't resign gracefully and move on with their life: some organisations retrospectively change a resignation into an expulsion. This is illogical, you can't expel or fire somebody after they resign. Alternatively, if somebody resigns and a vindictive leader feels cheated because he can't indulge himself expelling the person, the organization uses the Code of Conduct to publicly declare they have been banned.
Think of teenagers breaking up, both parties rushing to their social media accounts to publicly claim who-dumped-who first. Do we really want free software projects to be governed with the mentality of adolescent romance?
Leaving a voluntary role in a free software organization has become akin to leaving North Korea: any officials who want to resign have to run across the border to the south while getting shot at.
In 2011, immediately after the arrest of Dominique Strauss-Kahn (DSK) on false rape charges, the police sought to publicly shame and humiliate him by taking him, the head of the IMF, on a perp-walk, handcuffed, in front of the TV cameras. Yet after it became obvious that the police had been fooled, they came off looking like keystone cops.
Most countries don't indulge in these perp walks. Some countries, like Germany and Switzerland, give significant privacy protections to anybody accused of a crime up until a trial has been completed. Proponents of Codes of Conduct have sought to usher in the practice of perp walks as if these things automatically go together.
The most prominent examples of this have been the attacks on Jacob Appelbaum and Richard Stallman. In the Appelbaum case, I recently documented how existence of first-hand accounts was falsified and amplified across multiple free software communities. Appelbaum was accused of using his membership of free software projects to achieve privilege escalation in other organizations: yet the only evidence of privilege escalation is those using their Codes of Conduct to propagate a one-sided story. The effect of Codes of Conduct in that instance was to induce ongoing harassment of Appelbaum, his friends and neighbours. Using Codes of Conduct and the associated processes induced organizations as far away as Australia to take sides and jump to conclusions. The Code of Conduct was inferior in every way to the proper authorities for handling such complaints, this underlines how important it is to reject these inferior Codes of Conduct.
In parallel, the Fedora community is currently investigating a Code of Ethics and that may provide a credible way forward. Many professional organizations have a Code of Ethics and these codes typically have safety mechanisms encouraging dispute resolution rather than vendettas. I feel the Code of Ethics initiative is far more important than the proposed Community Publishing Platforms policy. I strongly believe these documents need to be worked on together, rather than rushing through the Community Publishing Platforms policy in two weeks.
The difference between a Code of Conduct, as we know it in free, open source software and a Code of Ethics in a professional body is much like the difference between adolescent romances and a well organized professional sporting team.
The ACM's Code of Ethics provides interesting reading. Consider the paragraph on Conflicts of Interest:
Computing professionals should be forthright about any circumstances that might lead to either real or perceived conflicts of interest or otherwise tend to undermine the independence of their judgment.
This has far reaching consequences. If we go back to the Appelbaum example, we can see that people who made decisions on behalf of the Tor organization had been personally and romantically involved in the case. These people were therefore ineligible to use Tor's name to make a public statement. They had the option to make statements on a personal basis but not in their official capacity.
One of the questions that arises whenever a Code of Conduct is introduced is the question of who will interpret it. What does this mean, interpreting the Code of Conduct? Most Codes of Conduct are incredibly short and overgeneralised so you can actually read anything you like into them. When a free software organization appoints some person or group to interpret their Code of Conduct, they are giving them a weapon that they can use at will, the smear of suggesting misconduct whenever such a conclusion is politically useful, even after somebody has resigned.