Emacsen's Blog

The GNU Kind Communication Guidelines are Bad for Free Software

I have been a long time supporter of the Free Software movement and the Free Software Foundation. I care deeply about Free Software, and it's the ideals of the movement that have been at the cornernerstone of much of what I've spent the last 20 years of my life using and promoting. Last week's announcement[1] of the GNU Kind Communication Guidelines[2] were a grave dissapointmnet.

I came to Free Software in late 1997, just as the Open Source movement was beginning. I saw the change as people started to take sides, disassociating themselves from the social/political movement of Free Software and onto the business-friendly, apolitical side of Open Source.[3] I choose then and remain now a Free Software supporter. I support Free Software as a movement because I want to see a better world and see Free Software and Free Culture as part of those values.

Free Software's appeal to me was and continues to be its practical ethics and unapologetic political stance. While Free Software began officially in the 1980s, the movement itself is more relevant than every. Today most of us interact with dozens of computers a day- in our phones, in our cars, televisions, even our refrigerators and thermostats. And while it's possible to run a 100% Free Software desktop, most of these devices are outside of our control or even understanding. Free Software's goal of self-determination is more important than ever.

Richard Stallman (RMS), the father of Free Software, said that software could not be labeled as Free Software unless the freedom it provides are the same for everyone.[4] I have always held this value to be true, not just as an abtract concept but as a core value. Our goal is not to simply to provide liberty to those in the upper eschelons of society, who have won the genetic lottery of being born into wealth or privledge, but to provide those freedom to everyone, and offer everyone the opportunity to realize their potential.

Free Software has historically put this idea into practice. The One Laptop Per Child project, whose goal it was to bring technology to impoverished children all over the world, has explicitly stated its support for Free Software[5]. With computing becoming increasingly inexpensive, it is now more possible than ever to give access to everyone, no matter where in the world they live.

Universal access is not a new idea in Free Software. At the beginning of the GNU project, Unix machines were expensive and beyond the reach of most people. With the advent of Linux and *BSD, running a Free Software operating system was now possible for people to have at home. Even before GNU, Stallman rebelled against a computer "aristocracy", believing that everyone should have access to computers.[6]

The idea of universal access and equality is baked into the history and fabric of the Free Software movement. When we violate these ideals, we harm the movement as a whole. If we can't put our ethical principles into effect in the way we do through coding and licensing, then our goals are not fully realized.

In the same way that the freedom of Free Software leads to practical benefits[7], bringing in people from different backgrounds and experiences also has practical benefits such as increased creativity and better work overall[8][9]. Ensuring that our projects are not only open to but openly inviting people from all walks of life is vital to the long-term survival of our movement.

In the GNU Kind Communication Guidelines announcement, RMS explicitly states that diversity is not a goal of his. This is a mistake both for him personally but also in his role as a leader of the Free Software movement, and the GNU project. GNU is more than a series of software programs, it is the realization of a Utopian vision. Software that is Free only for some is not truly Free. In ignoring the larger social constructs about why someone might feel excluded, he is turning a blind eye to the people who would gain the most from the benefits that Free Software provides, especially in the areas of surveillance and access. These are the same issues that RMS explicitly touts as reasons to use Free Software. [10][11][12][13]

In a post I made in 2012, I described my experience of accidentally going to a women's only Python tutorial and seeing how the innocuous behavior of men in the class changed the dynamics of the women participants. The behaviors that were being exhibited were not exclusionary or aggressive, but they had the effect of women in the class tuning out.[14] From this experience and subsequent discussions with women and other marginalized groups, I've come to understand that being inclusive requires more than just the absence of barriers- it requires being openly welcoming and even changing one's approach to fit the cultural norms of the group one is trying to attract. As the Python tutorial showed me, behavior that would have been entirely normal in another context had the effect of turning people away from the material, and by extension away from programming. That experience helped me see why the onus on communication must be on the speaker to understand their audience.

The GNU Kind Communication Guidelines takes the opposite approach and begins with addressing the recipient of a message, instructing them to hear what is said to them in good faith. Talking to the recipient first, before the speaker starts the conversation off wrongly,places the bulk of the emotional labor on the recipient of a message rather than on the sender. It's precisely this attitude that has gotten us where we are, and what needs to change, not just to attract women to our community, but to make the development of Free Software something people enjoy doing.

The goal of Codes of Conduct is to spell out what people who join a community can expect from that community. It's a sign that these issues are taken seriously and that someone who joins can and should expect to be treated with respect by existing members.[15] The GNU Kind Communication is not wrong in its words, it's wrong in that it only addresses a tiny slither of the problems we have in the community and turns a blind eye to the larger social contexts around why Free Software remains as insular as it does.

Stallman states in his announcement that his concern is in keeping the developers of a project happy and productive. This is a complex topic, especially as so many individuals in Free Software (including myself) have felt at time ostracized by others for being "different". We have found our home amongst others like ourselves and want that home to continue. In addition, as I saw when I researched this issue during my time in OpenStreetMap, a small percentage of a project's contributors do a majority of the work. On a cursory look, it would appear that the best thing to do would be to optimize solely for the minority of developers doing the bulk of the work.

The problem with this argument is that it ignores both the larger social context of Free Software and the problem of the invisible developer. The ultimate goal of the Free Software movement is not just to build better software, but to build a better world. We can't build a better world when groups of people feel excluded. And if people feel excluded, they will never join the community and thus we'll never see their contributions.

In a recent article, RMS reaffirmed that Open Source is "amoral" and "depoliticized".[16] I agree. Free Software has been the moral choice for those of us who want to do more than write software, we want to make the world a better place. But that can't happen if it's not better for all, no matter their gender, their race, sexual orientation, geography, etc. We want Freedom in our Free Software, for everyone.

The GNU Kind Communication Guidelines are a mistake for Free Software and I urge those who care about Freedom as a principle to ignore it and adopt more comprehensive Codes of Conduct which provide guidelines on what behavior is acceptable, what behavior is not, and what steps the community will do in enforcing them. I also urge the GNU project as a whole to reject these guidelines, as well as RMS to redact or entirely rewrite the guidelines and provide the kind of comprehensive changes that have been talked about in this and other critiques.

[1] http://lists.gnu.org/archive/html/info-gnu/2018-10/msg00001.html [2] https://www.gnu.org/philosophy/kind-communication.html [3] https://www.gnu.org/philosophy/open-source-misses-the-point.html [4] https://www.gnu.org/philosophy/free-sw.en.html [5] http://one.laptop.org/about/5-core-principles [6] https://www.oreilly.com/openbook/freedom/ch07.html [7] https://www.edutopia.org/blog/benefits-free-software-shahzad-saeed [8] https://www.npr.org/2018/07/02/625426015/the-edge-effect [9] https://www.scientificamerican.com/article/how-diversity-makes-us-smarter/ [10] https://www.wired.com/2013/10/a-necessary-evil-what-it-takes-for-democracy-to-survive-surveillance/ [11] https://www.gnu.org/philosophy/right-to-read.html [12] https://www.gnu.org/proprietary/malware-microsoft.html [13] https://stallman.org/apple.html [14] https://blog.emacsen.net/blog/2012/06/07/observations-from-a-python-workshop/ [15] https://opensource.guide/code-of-conduct/ [16] https://newleftreview.org/II/113/richard-stallman-talking-to-the-mailman