W O R D S

Essays, etc.

February 4, 2019


Structural Advantages for Software Developers to Leverage and Destroy

I learned recently that the IWW does not endorse trade unions, and philosophically opposes them on the basis that they factionalize workers. I can understand that position. But as a software developer looking to organize, I see a broad front, and I wonder what it means to organize software. Not only the workers, but the works too. What will it feel like when digital infrastructure is not subject to the profiteer?

Dealing with code is like working with a post-scarcity putty. You can mold it, make it into words or art, train it to execute helpful tasks, even to think and dream; most of all, you can replicate it infinitely for everyone to review, modify, and use. Every question of scarcity, like how will we divide too little, falls away. And yet, the creation of software is still managed by imperatives of scarcity. We use paywalls to enforce artificial scarcity in place of organizing our labor differently. The greatest archive of human artifacts lives and breathes today, but it is jealously divided against itself. Free and open source software represents a post-scarcity methodology, but this methodology does not fill our bellies or pay for our roofs; we do that for ourselves. Given the nature of our works, tech workers are in a unique position to call into question scarcity itself: if we can pay for our labor without paywalls, we can build post-scarcity systems.

Prelude: Free and Open

Too often do I sit with programmers and hear of the blood on our hands. The jobs we couldn't lose and the things they asked of us; the jobs we lost anyway and the scars they left. Together we bemoan the killing machines and the surveillance drones, the trackers and the ads and the backdoors our employers have on billions of people, and then we talk lightly of side projects: the things we want to build, that we feel would be of genuine and humane service. From solo efforts to libre infrastructure, we try meagerly to rejoice in our commitment to the craft. No one mentions overtime -- except, perhaps, in jest.

Without the normalization of FOSS, software would be even more hostile than it is now. There would be no ecosystems of open tools, only profiteering vendors. There would be no training programs for open systems, only vendor certifications. Even so, it has been turned against us. What we make freely as in free time is stolen just as easily, and though by law it is not theft our works entrench the rich. Our efforts and those of scabs become indistinguishable. We find ourselves manifesting the half-baked ideas of bluebloods selling disenfranchisement, exploitation, and outright violence as innovation. Uber, Palantir, Microsoft, Google -- the list has no end. Even the dictator-for-life who imagines that a thing made by the many belongs solely to their vision cheats us of our labor and denies our communities just representation.

It is not enough to produce free alternatives to scabware if we cannot support the labor and materials to steward our offerings through every cycle of their development and usage. Linux is a spectacular failure in this regard: a vital technology and thriving community eclipsed by corpers who can just buy lifetimes. How can we compete?

Across history, in parts and in facets, craftspeople have faced what we face. We can learn from them of the path to a higher standard for our works and our communities.

The Rise and Fall of Medieval Trade Guilds

Medieval guilds represented classes of tradespeople and established shared norms for working conditions and applied standards. They maintained common infrastructure for passing knowledge from elders to initiates while supporting the livelihoods of all members. In many cases, these institutions evolved into universities that still exist today. Surviving records document orders that held profiteering in contempt, and forbade its members from practices fundamental to modern exchange: arbitrage, hoarding, and middlemanning among them. Artisans organized into borderless trade unions which worked together to assert rights and norms. They maintained their power by controlling the means of production -- that is, the labor, materials, relationships, and expertise of their trades.

Guilds enshrined their power through civil law and trade secrets, advantages dismantled by industrialization. Nascent capitalists opposed them for the same reasons profiteers always had, but so too did proto-communists: they demanded popular representation and rejected a fixation on artisanal methods. The Luddites of 19th century England, caught in the industrial fray, destroyed machinery not in opposition to machinery itself but to the bosses that used them to exploit workers.

All that remains today of the guild system are ritualistic fraternities and universities. The capitalist defeated and consumed them. The Luddites were shot in the streets.

Structural Advantages of Software Development

Like many pre-industrial trades, software development is onerous to learn, to teach, and to organize. Despite being a practice rooted in saving labor, it is remarkably labor-intensive. FOSS, for all its ideological hopes, drives down the visible costs of software and so ends up creating labor shortages that result in cascading failures.

We are so intimately aware of our interdependence that projects like webpack and groups like Women Who Code Atlanta operate with annual budgets in the hundreds of thousands of dollars solely through the contributions of supporters. Our systems for patronage and mutual aid sustain a vital layer of software's global labor corps, divorcing them financially and culturally from the profiteer.

FOSS as a practice abhors trade secrets, and yet our works seem to one another as arcana, lost while still living but for the expertise of a few. We know that secrecy allows vulnerabilities to fester and multiply, but plagued by reinvention we struggle to distribute our knowledge. Secrets emerge not from avarice but from how thin we spread our labor. I hope the day comes that this struggle lies behind us, when the craft has become accessible to all people. Until then we stand in a unique position as workers: we control the labor and expertise that constitute the means of production -- just as Medieval guilds did.

These structural advantages -- thriving volunteer corps, robust mutual aid systems, and the complexity of our secrets -- are like heavy stones, providing leverage while weighing us down. We must not become jealous of power or it will crystalize and shatter like the strength of the guilds before us. We must utilize and destroy our advantages before they can be turned against us.

Organizing the Craft: Software Guilds

Today we approach our obligations to the craft in pieces, on occasion and in ad-hoc manners. Mozilla, the ASF, the FSF, and the PSF reflect the ways we have discovered the shape of the work through decades of trial and error, and sought to accomplish it amid commercialization's degradation. Tech cooperatives like Feeltrain have provided public operating agreements to assist others seeking to organize similarly. Outreachy provides paid participatory training for people too often excluded from the craft and its industry. Only by synthesizing these duties can we shoulder the whole of the burden.

A small group of developers with common experiences often possesses abilities found nowhere else in the world. Frequently they organize together for representation as dev shops, but to manifest a higher standard for our works and our communities we must take on obligations bigger than ourselves:

  • Standards: We must be bold enough to assert our beliefs and to grow from our mistakes. A guild ought codify the technical and ethical standards it practices, and should enforce them like a code of conduct.
  • Stewardship: Through mutual aid do we support the ecosystems that we rely on. We must stand by what we use enough to commit resources to their maintenance and improvement, whether developed in-house or elsewhere.
  • Infrastructure: It is useless to produce tools without precedent for their application, and so we must maintain not only the code but also the infrastructure that puts it to use. The spec and the implementation alike fall to us.
  • Contracts: As law remains a craft more inaccessible than even our own, we must share the artifacts we develop to navigate it. Contracts for ourselves, for freelancers, for other guilds, and for anyone looking to organize similarly.
  • Service: We can transform labor into welfare through commissions, and could take on work that fits the guild's purview and its requirements. While we depend on wages to survive, it seems we must.
  • Training: Paid apprenticeships advance the craft by distributing it. It cannot be that our educations are a risk we take on alone, so we should raise one another up with all we have learned together.
  • Governance: Stakeholders must have accountable representation, from members and accomplices to clients and users. Forbid such powers as the BDFL and embrace cooperation.

How a group decides to lay down and carry out these duties is up to you and yours. The important part is to lay them down and carry them out at all, to commit to your purview and to each other. Once gathered, put up a fosspay or an OpenCollective portal and start paying each other a living wage for the time you spend carrying out your duties. We cannot liberate the craft by exploiting ourselves.

A guild scales by splintering. Maintain a tight scope and branch efforts as needed in order to maximize your bus factor. Together splinters become a federation, and with enough application arbitrary opinions become living standards. Remember that the craft is bigger than code: involve project managers, accountants, and even lawyers, and pay them as you are paid. As the IWW argues, it defeats us to factionalize workers. Rather, we must take collective responsibility for our works, even within the nuance of specialized scopes like ours. Together, we are strong!

Conclusion: Death of the Guild

We have no right to these advantages, and there will come a day that they limit our craft more than the spectre of the boss. As the classical guilds clung to their power unto stagnation, we must organize as a transitory measure; a tactical pattern toward the advancement of our communities. The rarity of our expertise makes our works brittle, and our secrets lend strength to the scab that can circumvent them. When we have strong and accessible standards, some equitable equivalent of piece-work in software, there will be enough minds among us to construct and maintain enduring infrastructure. When no dev to come threatens their elder and together they grow stronger, the craft too will be made strong.

Drawing on the same dynamics that empowered Medieval guilds, we can seize on a degree of leverage that is unique to this moment within our craft. Through a diversity of forms of collective action and through their collaboration can we hold prevailing powers to account. Guilds, unions, collectives, cooperatives, cells -- comrades all. Only together can we assert our rights and secure our wellbeing.


> Structural Advantages for Software Developers

My name is Diana. I make things but generally not very well. I put thoughts here.