My father, whom I have already mentioned in this magazine in a previous article about skeuomorphism, is an architect and urbanist. While walking down the streets of Buenos Aires, he would often mention what he thinks is one of the greatest paradoxes of our time: humans have invented cities to feel safe from predators and to ensure their survival, yet most cities are nowadays among the unsafest places for humans to live.
Software developers are, to a large extent, still humans, although this situation might change substantially between this and the next decade. As such, we will still gather around our favorite technologies, clustering as if we were peasants migrating to the city, or stars orbiting around a galaxy, and participating (or not) in the various rituals that make up those communities. There are many different activities possible in such cities and galaxies: attending conferences and meetups, publishing blog posts or videos, and of course, contributing code to our favorite open-source projects.
25 years after the term “Open-Source” has been coined, and almost 40 years after the creation of the Free Software Foundation, economists are still scratching their heads, watching one of the wealthiest segments of society work for free during their leisure time, towards the building of another tragedy of the commons. The reasons why they do this are beyond the scope of this article; let us ask ourselves, instead, what kind of communities spring up to life around those projects.
Many of those communities present themselves as built around positive values. Let us look at their websites. For Ruby on Rails, the choice of words says it all: “improving”, “help”, “thanks”, and even a heart emoji at the bottom. The OpenShift Commons website shows various ways to “get involved” in the community. The F# community has the literal word “community” on its URL, and features a big map with lots of local user groups scattered around the world. The WordPress project, having recently celebrated its 20th anniversary, is happy to share another map showing the distribution of its community members around planet Earth. The Cloud Native Computing Foundation sponsors a series of events called the “Kubernetes Community Days” spread across all continents, one of which recently took place in Zürich.
Debian goes even further, screaming out loud the words “The Debian Project is a Community”:
Everyone can be a part of our community; you don’t have to be a developer or sysadmin. Debian has a democratic governance structure. Since all members of the Debian project have equal rights, Debian cannot be controlled by a single company. Our developers are from more than 60 different countries, and Debian itself is translated into more than 80 languages.
Some projects even have “community architects” in place, like CentOS or Fedora, whose role is to ensure that the interactions between those “community” members are civilized, or at least aligned to whatever agenda their major funding members would like to push.
All very positive instead.
But let us be honest: nothing binds people together better than a common enemy. Negative values have always been a strong glue to build communities, arguably stronger than positive values. Humans will be humans.
Examples abound in the computer world; haters of systemd get together and build their own Linux distributions, like Devuan, Obarun, Artix, or Void Linux. Haters of bureaucracy and processes in the Rust language get together and build Crablang. Haters of Red Hat gather around AlmaLinux and Rocky. Haters of corporations mishandling their communities revolt (usually due to a clumsy-slash-evil CEO, or an upcoming IPO), like in the recent cases of Stack Exchange or Reddit.
These examples point out to the major risk faced by open-source communities: forking. Thus were born LibreOffice (itself forked from OpenOffice), MariaDB (from MySQL), OpenSSL (from SSLeay), and even WordPress (a fork of b2/cafelog). And we are not even mentioning a myriad of BSD kernel variants.
Surprisingly enough, some projects have not had major forks in decades: Vim, Emacs, Git, or Linux. The last two managed by the same person, somebody who is not particularly well-known for his attention to people’s sensibilities. The same can be said about David Heinemeier Hansson, and other “benevolent dictators” in other projects, who can passive-aggressively drive their projects to where they believe should go.
Much is debated nowadays (in rather derogatory terms) about the “wokeness” (the use of quotes is to highlight the derogatory part) and “inclusivity” factor in online communities. Many open-source communities are, as a matter of fact, strictly unsafe for non-Caucasian males between 25 and 35 years old. And I am not even talking about “rude” behavior (comes to mind the infamous “RTFM or GTFO” or “use the source, Luke” attitudes), but openly hostile acts of incivility that, should they happen in the “real” world, would face immediate reaction from the powers that be.
Online communities, however, are a new far west for many predatory acts.
The spread of savage capitalism practices has made us forget that the primary reason we gather is to collaborate. We created cities so that we would have easier access to food and shelter. The idea was to help one another. The idea was not to use one another, but to give a helping hand whenever we could.
Code these days is free as in freedom, and very often free as in beer. We need more than ever to remember that kindness is the killing feature of our species. Be kind to one another, at all times. Take care of one another. Do not bully, harass, tamper, harm, or belittle anyone, for our human existence is already quite complex as it is.
People seem to really have bought into the capitalist version of open source where software is still a product that requires support and marketing and a roadmap and exists to serve a user community separate and apart from the project.
But a whole lot of open source is really just a sharing economy. It’s devs doing something they found useful and deciding to share it rather than hoard it. Those devs don’t owe anyone extra labor just because they chose to share.
To all of you managing open-source projects, here is our call to action: do not tolerate intolerance. Manage your “degree of openness” if needed; you could go full Open-Source by Default, as Orta Therox once said, but you can also choose whichever way you would like to do it.
To all of you joining open-source projects, please make sure to do your due diligence, despite all the enthusiasm you might have to join a particular community. Read the forums, review old pull requests, and take a conscious decision: is this a community you want to be a part of?
As my father pointed out at the beginning of this article, most modern cities on Earth have become unlivable swamps of dirt, crime, corruption, isolation, and despair. As humans, we have transformed pre-capitalist cities, which used to be our primary social vehicle of survival and collaboration, into one of techno-neoliberalism, destruction, and desolation. Communities built around open-source projects run the same risk, every single day. Let us not let this happen.
Paraphrasing Alfred in the DC Cinematic Universe, “We are not our enemy.”
And, who knows. Maybe one day, after we have conquered code, we will apply what we have learned by giving away our free labor towards the creation of other common goods, in the real world. Think about it; spending 3 hours a day, but instead of coding, feeding homeless people, planting trees, or helping the elders.
PS: readers of this magazine shape a small yet thriving community, built on top of decidedly positive values. Among the most important, we can mention: opening the eyes of our readers to the history of computing and programming; to highlight software developers’ role as a major shaping force for society; and to increase the overall awareness of professionals in our industry. And maybe even to make you smile from time to time. Some of those community members even provide financial support for this operation to sustain itself, and we could not be happier to have you on board.