Toward a Anarchist Philosophy of Techonlogy
2024-02-29
Toward a Anarchist Philosophy of Techonlogy
a friend sent me an email recently, and told me that my ideas intrigued them, and inquired whether I had a newsletter she could subscribe to. This blog is the closest thing I have, and I hardly ever use it. I want to change that. let's give shape to one of my more intriguing ideas. As a matter of fact let's be radical together. I think the current western philosophy of technology sucks. And I want to change it.
What has silicon valley to do with Athens.
When I start talking about the philosophy of technology people often get confused. They will shay things like "aren't computers just there to assist us", or "more efficiency is good", or in this is my favorite " it's just computer software, it's not worth getting all twisted and knots over." As it turns out the premise of the questions/thoughts si deeply rooted in american attitudes toward technology. In the US we tend to see all new technologies, especially those that increase so called "productivity", or "individual freedom" as good in themselves. Even further we tend to see "technological progress" as inevitable, almost divinely preordained. The techno deterministic attitude is so diffused within our culture, that trying to point it out and explain it can sometimes seem like explaining water to a fish.
But technological determinism as a philosophy only dates back about a hundred and fifty years. It was not always thus. In fact there is something of an urban legend, among students of Technology and Culture, that goes a little something like this.
A village on the periphery of the roman empire wanted to build a waterwheel to power its mill. At the time, construction of water wheels needed to be approved by the imperial court itself. The village leaders dutifully wrote to the imperial court, and were surprised when they got a reply from the Emperor himself. Much to their dismay however permission was denied. In his letter the emperor explained, that one of his duties as the emperor was to ensure all imperial subjects had a job. The village in question, was too small for a waterwheel, and therefore producing too much too fast would surely put too many people out of work.
I had a professor once swear to me that there was archaeological evidence to back this story up, but a time of writing I can't find anything to back it up. So for now we'll just put it as an urban legend. The historical veracity of the story is very much beside the point. For it demonstrates, that there are other ways to conceive of technology. rather than just blindly buying what the industry and marketers, say we need. We can be and in my view we should be more intentional and community oriented in our technological practice.
In fact history is replete with examples, of capitalists driving our technical development in directions that are demonstrably deleterious to society. At the turn of twentieth century for example, America had one of the best and the most well developed system of trains and public transit in the world. The problem however was that it was privately owned, and thus when the internal combustion engine automobile began to be mass marketed. Car companies such as principally General Motars began buying up streetcar companies, and in some cases railroad lines in order to destroy them. Worse in the post World War Two such companies used the capital they acquired from US taxpayers as a result of the war. To advocate for exclusively car centric public infrastructure. Not only was this not resisted by the public of the time, it was in most cases cheered. The car was seen as an icon of individual freedom, and efficiency. It mattered very little that this public perception was largely a result of automobile industry propaganda.
I feel like the detrimental effects of the automobile, at least in its internal combustion form are so well known to the audience of this blog. That I need not restate them here, and this is not an essay about capitalism or cars. For more information I would direct the interested reader to 99% Invisible episode 76. And the book Down the Asphalt Path by Clay Mcshane. Honestly the source page for the Adam Ruins Everything episode about cars, has most of the sources I would cite here. But this topic has provided ample fodder for more than one doctoral dissertation, in technological history so be careful it is a rabbit hole.
Automotive history, is but one example of the point I wish to illustrate. Which is simply this, rather than being an inevitable force from on high technological progress is driven by collective societal choice. Which is often shaped by forces within the culture in which the technology arises or is practiced. The reciprocal nature of the relationship between technology and culture is the foundational assumption, of both the modern history of technology, and an academic discipline, in its own right. In which I have 2/3rds of a degree.
I hope to have demonstrated in this brief aside that philosophy has a lot to do with technology, because if I failed in this endeavor nothing which follows in the remainder of this post will make any sense.
The dominant philosophy of technology
Assuming you are convinced that technology is a reflection of culture, and doesn't just progress as the result of some semi divine force. This then begs the question. What is the dominant philosophy of technology today? I would argue that it is some form of Frederick Winslow Taylor's concept of scientific management, combined with a heavy dose of technological determinism, and not and insignificant dash of neoliberal/capitalist realist nostrums. Which when combined form a philosophical milieu that encourages numb acquiescence in whatever technological innovation that our venture capitalist overlords, suggest.
In Taylor's 1911 book Principles of Scientific Management he opens with the startling thesis, " in the past man was first, in the future the system must be first". While he states in the very next sentence that this does not and should not imply that great men are not needed. He sees the development of human beings as subordinate to an "scientific management system". Whose central object, and overriding goal is to increase productivity and thus profit for business owners. Ask any MBA " scientific management" was a groundbreaking concept in the field of business management. And its modern descendants, most infamously, algorithmic scheduling are still almost ubiquitous across industry today.
The 1933 world's fair had a far more dystopian slogan for the same concept. " Science discovers, industry applies, mankind conforms".
this idea that humanity is subject, and moreover ought to be subject, to and inevitable force be it "science" or " the market", tor something else altogether is pervasive in our society regardless of political, or religious perspective.
Moreover occasionally the assumptions of the our socioeconomic system, are so unquestioned htat they are often held up as good of themselves, needing no explanation or defense.
Think for instance of one of the principal arguments of the so called returned to the office movement. The one that goes as such. If no one returns to the office than the commercial real estate industry will be destroyed.
The mere fact that some would cite the potential disruption and loss of money of a change in business model, as a reason that ordinary working people should be compelled to give up the benefits of work from home. Shows the pervasiveness of individual subordination to the economic system.
In our own industry, everyone bemoans the rise of so called browser monoculture. kvetches about the shocking amount of machine resources needed to run modern websites. And sometimes if one is really lucky or self aware. There will be moralizing sermons, about the environmental effects of so much electronic waste.
But it is worth asking how the hell did we get here? After all one could implement, and can still implement the first complete version of the HTML spec, rather confusingly called version "2.01" in less than three thousand lines of code. And javascript is famously one of those deadline driven hacks that was mostly powered by caffeine and prayer.
And there is still at least one javascript interpreter MuJs that can run in ms dos.
I would argue I think without much opposition, that the rise in the complexity of web browsers to a point where it would take more then ten human lifetimes, to make a new one. And the fact that it is almost impossible to make one that is efficient enough so that a computer from fifteen years ago can run on the modern internet. Is directly related to the discovery that the features is used for client side interactivity can be used to offload heavy computation onto the user's machine. thus saving on server costs. In other words the modern internet has become nothing more than a semi voluntary botnet for our venture capitalist overlords.
Software bloat is profitable, there is no other reason that it continues. There is no respect in our industry for the sanctity of the individual's data, so why on earth would there be any respect for the sanctity of the individual's machine. But this is nothing new.
Nearly every technological innovation of the last two hundred years or so, from factories, to mechanical combine harvesters, radios, to computers, and internet to AI has been sold to us as a great win for either individuals or the progress of the species of the whole. Indeed some have been, more often than not however these innovations are coopted to create wealth for a few while leaving a vast majority in poverty. But as I hope to demonstrate in the next section, it need not necessarily be this way. And indeed we in the technology professions are perhaps best positioned to write a new ending to this story.
An Anarchist TechnoPhilosphy
Does it have to start with a broken heart Broken dreams and bleeding parts? We were young and the world was clear Young ambitions disappear I swore, it would never come to this The average, the obvious I'm still discontented down here I'm still discontented..
-- Switchfoot, Burn out Bright from Oh! Gravity! Sparrow Records 2007
Perhaps I didn't need to convince you of the predicament we find ourselves in. Maybe it was even unnecessary to point out that Said predicament was brought about by collective societal choices, which favour moneyed interests in our culture. However if I know you, the question in your mind right now is what can I do about it‽
Well, I have a unique perspective on that question because I am, on the margins of the mainstream technology industry, to put it mildly.
Computers, Midas, and Myself
Allow me to introduce myself for those who don't know me, I am "Pius Q Bird". The principal fursona of a multiply disabled creator, and software developer. By the name of Matt Arnold. My disabilities include cerebral palsy, bipolar disorder, autism, and last but not least visual impairments. My disabilities have profoundly shaped the course of my life and my own concept of identity as you might expect.
There is a reason I play a bird on the internet, after all.
my condition, or more accurately its social and economic effects on me. Have shaped my relationship with technology in profound ways. I have never bought a computer that was new in my life. All my machines, have been at the least four years old at the time I bought them or at the most extreme ten years old. Although the latter one I had to throw away because a single core Celeron machine in 2022 was a bit too low and even for me. At the same time I have requirements, principally speech input and output, which make the demands upon my computing devices more hefty than average.
This is not by choice I have lived below the poverty line for almost all of my adult life. Even the fortune one hundred company I worked for briefly five years ago. Quickly found a way to get rid of me, after they found complying with the americans with disabilities act a bet too onerous for their tastes.
I switched to Linux in 2006 more is a survival mechanism than anything else. There was no upgrade path for my Pentium III running windows me. And a new computer wouldn't come for well over a year and a half.
I even managed to make a few contributions here and there back to the open source community, principally debian packaging. Between 2007 and 2011. I also made some contributions to slackbuilds.org and a few other places. But my principal work in open source has been as a situated software upstream for myself and other similarly disabled users. My software is not used by tens of thousands of people let alone hundreds. If I get ten regular users of my software I consider that to be "doing numbers" it is important work that I enjoy doing, although my favourite days are when the users actually donate. I love it when that happens. All digressions aside I have had to learn about efficiency, and proper stewardship of computing resources almost since the beginning of my software development career. So I think I can say with confidence, that it need not be this way.
But also in my experience, it is hard for software engineers trained in a more mainstream environment to grasp how I achieve the remarkable performance numbers that I get.
indeed, this is why I think I was hired at above mentioned megacorporation in the first place. They assumed I was a 10x superstar who had somehow gone undiscovered. and that I had some secret sauce that they could exploit to improve they're very unremarkable to django app. But alas there is only so much I can do when you're moving your internal line of business application to a React based single page deal, Client rendered API driven. requiring the latest version of chrome. All the while the machines that sit on your users desks are in fact single core Celerons.
There are not enough algorithmic optimizations in the world to fix that.
My point is my background and constraints how forced me to question industry orthodoxy. And to come to a completely different philosophy of technology then is mainstream. Only to discover that there was an entire nascent community forming around what I took to be, my own original thought. Indeed I have been sprinkling this essay with certain terms of art, that a careful reader might use to jump ahead.
This philosophy has no name, yet. the combination of these ideas might in fact be unique to me. but the ideas I am about to present are not new some of them even go back decades. Or in some cases centuries. one first appeared in literature in 2019. so as with all philosophies it is a giant remix of previous work. I call it Techno Anarchism. the next section will set out principles. and our final section I will attempt to give some resources for further study and practice.
a primer on techno anarchism
before we start slinging around terms like local first software, and critiquing the work of Drew Devault. I think it would be helpful if we first explained what anarchism is, because it is one of those things in life which nine and ten people hate what they perceive it to be. But not one in ten would hate what it actually is, if they understood it.
Anarchism simply put is a philosophy that is highly suspicious of all forms of human hierarchy. be it political, economic, religious, or indeed technologically established.
Anarchy seeks identify those forms of hierarchy which are unnecessary to individual human flourishing, or the common good of all, and eliminate them.
Anarchists do not seek to eliminate all forms of organization or government, however we do assert that societal organization need not involve some people being on top, and others the bottom. we seek a society, where power is as evenly distributed as possible.
But what has this to do with information technology or the software industry. the answer should be obvious if you're paying attention. it is the choices of the software industry, which perpetuates hierarchy.
by choosing to make websites but only render efficiently, on a browser which requires eight gigabytes of ram as a modern chromium based browser, inevitably needs. At a minimum we put a gate in front of those people and institutions who can't afford newer hardware.
let's say you're a victim of domestic violence, and were able to escape your abuser with only your government provided safe link phone. this is 2024, so it is at least a smartphone. Unlike the one I was issued back in 2015 which didn't even have a camera or texting capabilities as those were considered luxuries back then.
But the smartphone you received is only a single core model running android 4.4, and has four gigabytes of ram if we're lucky. Here's the thought experiment can you call an uber from such a device. The answer is kind of if you know what you're doing. Btu I don't know how long that will be the case.
Now assume you have the technical knowledge of the average member of the public, could you still do it. The answer I think would be no.
By practicing software engineering in the way we do, we say to that domestic violence victim you don't matter. We say to the mother of th enoeb tlanriuastvic child working two jobs on welfare. Your child can't have a voice. We as software engineers were raised on dreams of computer technology liberating the world and bringing it closer. But we still practice software like capitalists.
Understand I am not talking about open source or free software, they are necessary minimums. But only that, and as we have seen all too often foss gets exploited for capitalist ends. How then does an anarchist design software.
First principle, don't tap markets build communities
the first principle is perhaps the simplest. In software we think that the more users we have, be they paying customers, or users of your Linux distribution the more successful you are. but is any maintainer of a popular project can tell you this leads to burnout, because all your users will have different use cases. therefore the scope of the project will increase over time. And this scope creep will inevitably lead to a project that is too large for a maintainer to handle. At this point some projects get lucky, and can gather a community around them to sustain them.
And some projects are required to have a large ever evolving scope. Think the Linux kernel for example. Most projects aren't this way and just end up as archives on GitHub. more users will not make you happy.
What do we do instead, build the community first. Or seek out a community before you write code.
Or if you can't do that ta least seek out a community which can at least act as your cheering section.
ideally do both because in most cases your users will be less technical than you are, and you will need knowledgeable people to talk shop with.
whatever you do in this regard recognize that community is destiny. The communities you join will have and almost irresistible effect on shaping your beliefs and future practice. You are not alone choose wisely.
second principle, servant leadership
now that you have situated yourself within a community, either created for the purpose or found and chosen. Recognize that highly skilled people such as yourself, are often leaders in such communities. And in the case you built it yourself you will automatically and ipsos facto be the leader, this has a lot of privileges with it. You can now lol kick somebody for instance. Recognize however that the people who come to you are doing so out of a place of need and trust.
Very few people seek out new software just for the fun of it, Videogames being the one obvious exception of course. the users are here not because they like you, although that may be true, for come to be true in time. But the user wouldn't be here with you if they didn't have a need which wasn't being fulfilled anywhere else. therefore they are placing a lot of trust in you.
you should aspire to be worthy of that trust, and conduct yourself as if you were already worthy of it. This is the essence of servant leadership. The most admirable leaders are those who don't seek to accumulate power for its own sake, but to use it to bring up those lower than them.
third principle respect the user's stuff
this one is a little more concrete, but it flows naturally from the second one respect the users stuff. This means in large part placing the user's needs above your needs as a developer. Do you really need to render that documentation client side, yes it would be cool and up to date. But who are you excluding with that decision. Your users might have significantly more constrained hardware requirements than you do, or accessibility requirements you are unaware of.
I am not saying that you can't do things to make your own life easier. This principle only requires that you exercise due care and caution
As an example of this in action there was once a coding session which I had. I believe it was even caught on video. Where I spent three hours tracing down commit histories going back ten years, because I didn't want to accidentally bump the minimum python version on a particular project.
Now I later found out that the user for whom I was taking this extra step, had already upgraded their equipment. So I could've just bumped python version. However I consider this effort to success as it reminded me of the discipline required when developing software in this manner. yes in this particular case the effort proved unnecessary, but the exercise itself allowed me time and space to refine my techniques.
Fourth principle, respect yourself
this may seem to run counter to the third principle. But remember you are valuable too. My particular brand of anarchy asserts that every human being is equally and infinitely valuable and worthy of life and love.
Balancing the third and fourth principle can be tough at times. I think another example is an order.
there is a certain project, that I've wanted to do for years and my community groups seem to be excited about this one. The problem however is I have determined that I can only do this particular project in Rust, it's the only language that I am comfortable in with the library support required. However I have concerns about the rust compiler's ability to run in resource constraint environments. This is being worked on, on multiple fronts, but for now no one will see that project.
Because promising that which i cannot deliver would be stressful on both myself, and the community
Fifth Princpal, code it how you want to...
Beyond the principles of respect. Keep in mind that there there are no rules, for how you should code it. So do it in a way that makes you happy.
Therefore if you want to code your reminder app using functional programming techniques, in Lua based game engine. Or writing your custom pastebin in Haskell for the lulz. There is absolutely nothing stopping you from doing so. Software is art treat it as such. Just remember to have respect for the users.
Sixth principal empathetic testing
when we test our code, we do so on an environment either identical to our development environment, or so similar as makes no difference. This can lead to assumptions about the user's environment. Which become hard dependencies over time.
try to build the most absurd testing environments you can think of. QEMU is the thing, and we have mountains of abandoned or obscure software on the internet just to download away.
for example do you know if your latest webapp is able to run, in the fork of firefox which is maintained for legacy powerpc macs. You can test that semi trivially these days. And you should, or do something similar as a pure intellectual exercise. Even if you eventually opt not to support that use case. You will have gained valuable insight into what your dependencies truly are, and you might discover that you don't really want some of those hidden dependencies.
If you want a lower commitment way of testing web applications in particular. I would suggest the Seamonkey Web Browser, it is still updated as of this writing, is just modern enough to be interesting.
Yet it's update cadence, when compared to mainstream firefox is just slow enough to cause interesting bugs for the unwary. If your app can run Seamonkey without problem, you are likely to gain a lot of support for other low end browsers for free
My favorite testing platform is a Pentium 4 with just under a gig of ram, running OpenBSD. this forces the use of a lot of strange and obscure browsers, and I find the exercise of getting load times on such devices to acceptable levels stimulating.
Remember though that this exercise has a deadly purpose, validating your code has acceptable performance in these challenging environments, is an act of rebellion against the socioeconomic gatekeeping which currently controls the industry. and you aide in the fight for climate justice at the same time.
seventh principle: he who creates the data owns the data
we're getting towards the end here, but this set of principles wouldb e incomplete without this. As the creator of service, the user's data is not for you to monetize. if you need money to run the service ask for it, start a patreon or kofi. We have all seen what free services, such is Facebook really cost.
Be open and honest with your users about this, don't offer a service for a price that is unsustainable. And then turn to the data which you are cusotdian and protector of as a revenue stream.
if you ever think you might exploit the user's data for your gain, be upfront and honest about that. make sure all such exploitation meets the standards of informed concent. Which means at a minimum such exploitation is opt in, not opt out. And that before a user is allowed to opt in, an explanation of the benefits and risks must be given in plain and clear language.
Standard industry practice falls far short of this, and is only beginning to change thanks to activism at the federal trade commission, and other regulatory bodies.
A corollary to this principle is that you should not collect or retain data you don't actually need. Unsurprisingly minimal data collection and retention keeps cost down. So there's that benefit to consider.
Remember in this model you are a servant leader, not a founder, not a king, not a businesswoman. you Take care of the community, and in return the community we'll take care of you in time.
conclusion
there are more principles yet to be formulated. if you practice this way, I am sure you will encounter your own ethical dilemmas, and formulate your own principles to add to these.
But always remember principal zero. Be aware of the hierarchies you are creating, and participating in with your practice. please don't create new hierarchies. Also do your best to dismantle old ones. Peter Kropotkin said it best in the Conquest of Bread.
Every machine has had the same history—a long record of sleepless nights and of poverty, of disillusions and of joys, of partial improvements discovered by several generations of nameless workers, who have added to the original invention these little nothings, without which the most fertile idea would remain fruitless. More than that: every new invention is a synthesis, the resultant of innumerable inventions which have preceded it in the vast field of mechanics and industry.
Science and industry, knowledge and application, discovery and practical realization leading to new discoveries, cunning of brain and of hand, toil of mind and muscle—all work together. Each discovery, each advance, each increase in the sum of human riches, owes its being to the physical and mental travail of the past and the present.
By what right then can any one whatever appropriate the least morsel of this immense whole and say—This is mine, not yours?
further reading
we've covered a lot here, but I want to provide links to two or three other sources, which talk about some of these principles in a more concrete way. As well as pointers to some already existing communities, that practice technology in a similar way to what I have laid out.
for anarchism in general, peter kropotkin's _The Conquest of Bread is currently the most popular introduction to it that I know of. True there are more modern introductions that are less daunting on the reader. But there is just something about kropotkin's language and style that is timeless and captivating.
for a general introduction to techno cultural studies, I'd recommend McClellan and Dorn scincee and technology and world history an introduction. This is an introductory level college textbook so it can get a bit dry and academic at times but is ultimately worth the read. Because the authors try to push back on the dominant Cultural narrative. they take a global perspective as well not a eurocentric one. The section on the Mayans and their contributions to astronomy in other fields is utterly fascinating, and completely justifies the price on its own.
For a more science focused history, written in a popular style Clifford D Connor's A People's History of Science: Miners, Midwives, and "Low Mechanicks"
Have Thoughts?
Do you have comments on one of my posts? I would love to hear from you. Please send email to my public inbox. Or Toot at me over on Mastodon. I'm @piusbird@tilde.zone
Copyright © 2024 Matt Arnold CC-NC-BY-SA 4.0