+++ title = "Towards A Communal Software Movement" #template = "index.html" +++
In response to the surprise, undemocratic reinstatement of Richard Stallman to the board of directors of the Free Software Foundation after his resignation in September 2019, the Free and Open Source Software movement is in the midst of a reckoning. The authors of this document recognize and honor the contributions Richard Stallman has made to this movement while unequivocally condemning his harmful behavior which has pushed many capable, dedicated people away from the movement.
Regardless of what happens in the Free Software Foundation, we believe it is time to reflect on the shortcomings of our advocacy so we can grow into a more effective and inclusive movement for justice. Towards this end, we believe the movement will benefit from new terminology to describe what we do and what we aim for. Richard Stallman authored the free software definition in 1986. This term has always created difficulties communicating the ideas behind it because of the different meanings of the word "free" in English. Moreover, it is not the freedom of machines we are concerned with, but the freedom of humans. In response to this and other issues, in 1998, the term open source was promoted using an adapted version of the Debian Free Software Guidelines. The history of computing in the past 23 years have validated critiques that the term "open source" is insufficient for communicating the values behind it. The term "open source" and the ecosystem of Free and Open Source Software (FOSS) is today used by powerful companies, governments, and other institutions to harm people on enormous scales through surveillance and violence. These institutions use FOSS to minimize economic costs by benefitting from decades of work done by others, much of which was done by unpaid volunteers motivated by curiosity, passion, and the ideals of the FOSS movement.
We believe a significant reason for the failures of both "free software" and "open source" to prevent this cooptation is that the men who coined and initially promoted these terms did not and do not critique capitalism. Richard Stallman has generally dodged the question of whether free software is opposed to capitalism. In the historical context of the United States in the 1980s, that may have been a wise decision. But that was then, and now it is 2021. The promoters of "open source" emphasize its compatibility with capitalism and go out of their way to distance "open source" from critiques of capitalism. We believe we need to build on the FOSS movement with an explicitly anticapitalist political movement which proactively collaborates with other movements for justice.
We propose the term "communal software" for this movement. By "communal software", we mean software that is constructed by and for the people whose lives are affected by its use. It is not sufficient to narrowly focus on the people who directly interact with the computers that the software runs on. Communal software which is run on a server should not be controlled solely by the administrator of the server, but also by the people who interact with the server over a network. Similarly, the data generated by the software and the data which the software requires to function should be in the control of the people who are affected by the software. Communal software that uses cameras should not be controlled solely by the people who own the cameras, but also the people who are observed by the cameras. Communal electronic medical record systems should not be designed for the interests of insurance companies or hospital administrators, but for the interests of patients and the clinicians who directly use it.
We aim for a world in which all software is communal software and recognize that any amount of proprietary software is in conflict with this goal. As an explicitly anticapitalist movement, we recognize that any institution which motivates people to put money, power, or self-interest above the welfare of humans is in conflict with our goals. Corporations are beholden to their shareholders who can hold the corporation legally liable for spending money in a way that is not intended to further enrich the shareholders. Other capitalist forms of enterprise have similar problems.
We are not opposed to exchanges of money being involved in the creation or distribution of software. However, we should carefully consider the motivational structures of the institutions which fund software development. Who benefits from the software and who determines the priorities of its development and design? These are questions we ask about software whether money is involved or not. It is in our interest to use safeguards to ensure that software always remains controlled by the community which develops and uses it. Copyleft is one such safeguard, but it is insufficient on its own to prevent cooptation of our movement. Any communal software project that receives funding from a for-profit enterprise must institute governance structures which prioritize community interests over profit in case there is a conflict between the two. We oppose business models which are in conflict with community interests such as "open core"/proprietary relicensing.
Similarly, we are opposed to authoritarian and hierarchical governance structures of software projects such as "benevolent dictators for life". Communal software is developed democratically; no single individual should have ultimate authority in community projects. While we recognize the need for leadership and private communication, discussions regarding communal software should take place in public unless there is a specific reason for communications to be private. Organizations which advocate for communal software should likewise operate democratically and transparently.
We do not emphasize source code in our political discourse because we recognize that creating high quality software requires much more than writing code. Communal software is not only for people who have the skill of writing code (unless the software is for writing code such as a compiler). Communal software strives to be easy to use, including for people with disabilities, and acknowledges that this is best accomplished by continual dialog between programmers and users. Providing such feedback is a valuable way to contribute to the construction of communal software without needing coding skills. Ideally, the programmers of the software should also be using it themselves. Moreover, there are many ways to contribute to communal software without programming skills such as imagining ideas new features, reporting bugs, writing documentation, graphic design, translation, promotion, and financial support.
We explicitly reject Richard Stallman's moralistic judgements of individuals for using proprietary software. The free software movement has failed to create a world in which humans in technological societies can live without using proprietary software unless one chooses to live the ascetic lifestyle of Richard Stallman. This is an absurd standard and judging people for not meeting it pushes people away from our movement. People who are coerced into using proprietary software deserve our empathy and invitation into our movement, not condescension. Let us criticize institutions which pressure people into using proprietary software, not the people who choose to use proprietary software.
The purpose of this document is not to proclaim a legalistic set of criteria for determining what software is communal software and what software is not. History has demonstrated that this is not an effective political tactic for the reasons explained above. The free software definition and the open source definition are useful criteria for evaluating copyright licenses for code, but an effective political movement cannot be so narrowly focused on legalistic and binary judgements of copyright licenses to judge whether certain software aligns with our goals. We believe the focus of the communal software movement should be on the practical impacts that the use of software has on humans and the universe we inhabit. The scope of this extends beyond humans and must consider the environment around us. Moreover, we believe it is counterproductive to have a small self-appointed group of privileged men determine what our movement's terminology, goals, and tactics are. We encourage anyone interested in building a better world through technology to engage in discussions with your own communities about what you want "communal software" to mean.
While we agree with the Ethical Software Movement that we must resist when our efforts are coopted for unjust purposes, we explicitly reject putting restrictions on the ways people may use software through copyright licenses as a wise tactic for achieving our goals. The history of the Free and Open Source Software movement has shown that the proliferation of incompatible copyright licenses which prohibit software from being legally combined creates more obstacles than opportunities for our movement. Any new copyright licenses for use with communal software must be written with this consideration in mind to intentionally avoid fracturing the software ecosystem. Adopting incompatible copyright licenses for different software would make it easy for our adversaries to divide and suppress the movement.
Furthermore, we explicitly reject Richard Stallman's dogmatic insistence that other people use words the way that we want them to, whether that is "free software" or (non)gendered pronouns. Language is constructed collectively and is always evolving. It is counterproductive to our movement to refuse to collaborate with people because they use the words "open source" or "free software" to describe their work. They may even disagree with the entire premise of this document. That does not mean we should not work together towards shared goals, but we should be conscious that our goals may not perfectly align and this may cause tension in our communities from time to time. We invite anyone to collaborate with us who is interested in building a better world and treats us and others in our communities with dignity and respect.