This is a very personal blog post written as a way to express myself, not to establish universal truths. As Virgina Woolf says, “When a subject is highly controversial […] one cannot hope to tell the Truth. One can only show how one came to hold whatever opinion one does hold.”
I’ve been writing open source code in some form or other since I was about 15. It has become a very core part of my identity. I started because it offered a community of people, and lots of opportunities for social mobility. I made a lot of good friends through it, became a much better programmer and grew into the ideology. It wasn’t just a thing I did, I was an open source developer. Proprietary software was unconditionally evil, open source software was unconditionally good. 19 year old me was pretty happy with this — I had discovered truth! Writing open source code was an end unto itself — a moral imperative.
Over the years, I have become a lot less obnoxious — I don’t know if I can stand 19 year old me now. Being an open source developer was still a core part of my identity, but I stopped calling things evil (except for Oracle). I could see that my problems with proprietary software were really problems with late stage capitalism, and how it interacts with marginalized people. This made me feel great about being an open source developer — it was my small part in the fight.
And then I saw this
This was the beginning of a reckoning. Open Source, to me, was a ‘power to the people’ movement. But it had become so successful, that ‘people’ now includes folks who already have all the power, and have a long history of abusing it in horrendous fashion. The CIA uses MediaWiki. Cambridge Analytica, the NSA and countless others use Jupyter. ICE.gov runs on Drupal. And then, there is this:
All this makes good sense. MediaWiki is great for sharing information collaboratively. Jupyter is awesome when you have large groups of people sifting through large amounts of data. Drupal is (I am told) good for complex websites which have many people working on it. And Kubernetes is great for orchestrating dynamic workloads. Everyone wants to use the most efficient tool for the job, and right now in many cases those tools are open source.
Some definition of Open Source has ‘won’. Catastrophic success. I guess my mistake was to count ‘open source’ as a ‘power to the people’ movement, rather than a ‘make developing software as efficient as possible’ movement (To all the free software folks to whom I said ‘Free Software is the same as Open Source’ — I’m sorry.). My reasons for identifying with it were happy side effects, rather than a core part of its ideology. This has been a harsh realization.
I have an extremely tiny amount of code in Kubernetes. Will I feel complicit when the weapon system kills someone? Given the US’s history, this person is going to look far more like me than not. I don’t know if I will be complicit, and I don’t know how to feel. What if it was a project I had a lot more involvement in, like JupyterHub or mybinder.org? Is there a line? Where is it? I can feel ambivalent about other uses of software I wrote, but active weapons systems seem like a clear personal line. I acknowledge that many others might not feel this way, and this isn’t a judgement call on them.
I still believe Open Source code has been a massive net positive on the world, and I’m glad there isn’t really any going back. The utilitarian calculus is very much in its favor. However, utilitarianism is a poor moral replacement for a complete belief that you are doing the right thing. Open Source software was attractive because of its ethics, not because of its utilitarianism.
All this means I have been questioning having ‘open source developer’ as a core part of my identity. It is still something I love doing, but that is because I care about helping who I was when I was 14. I had to pirate Windows, and there was no way I could have afforded Photoshop or Matlab. My universities all failed validation for ‘Academic Institutes’ in places with ‘free academic licenses’. I was physically surrounded by people who didn’t share my passions. I found many friends through the community, and a lot of upward socioeconomic mobility. It has brought me immeasurable joy, and there’s no way I’m giving it all up.
These are the reasons I started doing open source work. They’re still valid, now more than ever. But the label feels ideologically off. I do not feel comfortable associating myself with it anymore. I don’t feel strongly about doing open source work for the sake of doing open source work — as a moral imperative by itself.
So I no longer recognize ‘open source developer’ as part of my identity. It is now a thing I do, rather than a thing I am. I feel privileged to be part of many projects whose mission I believe in, and I am going to keep pouring myself into them. The way I behave in the communities I am in is not going to change. It just frees up ideological identity space to explore who else I can be. This is an succinct, accurate representation of how I feel:
I’m excited to see who I’ll be. 28 year old Yuvi seems more mature than 15 year old Yuvi, and this exorcism opens up a lot of space for exploration. What it means to be an Open Source developer has changed, and I’ve changed with it. Cause to celebrate — feels like a coming of age. I’ve been reading and learning a lot recently, and it is starting to feel like an exciting time rather than a dreadful time. Projects to do, friends to make, books to read & ideologies to form.
RIP, ‘open source developer’ Yuvi. 2006–2019