Dedication, Social Pressure, and Spite | Hendrik Erz

Abstract: Today something a bit more personal: Recently I asked myself the very existential question of why I even continue developing Zettlr, given that there are so many alternatives out there. The reason turns out to come back to three fundamental driving forces: Dedication, Social Pressure, and Spite. But especially spite.


These are the three main ingredients that keep Open Source alive. And, incidentally, these are the same ingredients that keep me working on Zettlr. Let me explain why.

Dedication

Of course, one needs dedication to keep working on a project, but that typically only carries you through the initial project phase. When you start a new app in the green field, it’s an exciting journey: there’s much to learn, and you normally don’t know how it will look a month down the road.

Dedication is crucial for getting things started and seeing if something is even viable. However, after the app is more or less feature complete, dedication will dwindle. This doesn’t have anything to do with whether you like the app or not; it’s like being in love: for the first months, everything will be rosy and beautiful, but at some point, reality is going to kick back in.

You realize that you have a life outside your relationship, and you will have to adjust to that fact. Now, that is a phase where many app projects will come to a crossroads. Some will become monetized so that the creator can live off of these earnings. And that is a great motivation for keeping to work on it. Examples include Nextcloud, Rectangle, or Notable. Others will get lots of help so that the responsibility is shared among a large group of people who can keep themselves motivated mutually. Examples of this include Logseq, or the entire Linux ecosystem.

But this is only a fraction of the projects. The large majority will do what most Microsoft products had to do, too: they die off, alone in the desert, with no big announcement. At some point the maintainer will just move on.

And that is where the other two reasons come in: Most projects die because nobody really needs them or they are niche, or because there are other apps that fulfill similar use cases, rendering the reason of existence for the project void and nil.

Social Pressure

But Zettlr is being used by thousands of people worldwide. This means that I have a responsibility towards those people. Sure, I could just stop developing the app and eventually, everyone would move on. However, this means that all those people (me included) would have to readjust their workflows. It’s kind of a sunken cost fallacy, but given that I know the code base in and out, it’s efficient to keep on working on the app rather than collectively switch to another one. Also, it’s a nice thing to do, and I frankly never understood those people who were capable of ignoring that responsibility. I believe people who are able to just leave their user base to fend for themselves are psychopaths. Or at least very egocentric. But maybe this comes with being a full time developer, which I am not. No, I’m my own best customer because I still do the work for which I have started development in the first place: science.

Another great example of social pressure is the development of jQuery. In the past few days, many users on social media in the various web development bubbles were very surprised to hear of the start of a beta phase for a new version of jQuery. jQuery is extremely old and has been the crutch for modern websites for more than a decade. jQuery was the glue that powered most features of dynamic websites in a time when the corresponding web standards were still very coarse and did not offer features such as accordion menus or advanced movements of elements on websites. By now, everything that jQuery does can be achieved with vanilla web design techniques. But they still keep on developing. Why? Because half the world still requires jQuery: Thousands of websites still run very old WordPress installations, and the last line of defense between these and armies of hackers are the developers of jQuery. So they continue even if, theoretically speaking, their services are no longer needed in 2024.

Spite

But the royal class of all reasons to keep developing an Open Source project is spite.

I cannot stand the thought that, if I’m gone, the competition will just absorb Zettlr’s user base and I will be completely forgotten within a year at most. And that is possibly the biggest driving force behind me working on Zettlr: spite. A part of me wants Zettlr to continue against all odds. For what, I don’t know. But this feeling of spite fuels a strong determination to stoically work on fixing bugs and add new features.

And I believe that this is also the reason some other projects continue to improve. Take for example Pandoc: Markdown is – technically speaking – broken, and the entire application is band-aid upon band-aid to try to keep document conversion from and to Markdown going. John McFarlane, the main developer, once said in a workshop that Pandoc is like an unwanted child. One day you accidentally become a parent, but now that the mistake has happened, you may as well make the best of it — just to spite your extended family who doesn’t believe in your abilities as a parent.

But spite doesn’t stop at being a generic feeling. It can also be very particular. There have been a few very annoying bugs in the code base that I never experienced. But because a few users were experiencing them, I kept on poking until I found the root cause, realized why I never experienced them, and fixed them.

The Secret to Successful Projects

Spite is not really a socially acceptable feeling. That makes it hard to theorize. But it is a strong, dark power that drives me and others even when personal life experiences a valley. Looking at what others are doing with entire teams of full time developers gives these people a lot of motivation.

“But Hendrik,” you may now say, “it is not healthy to go through your life on such lowly feelings!” And it’s probably correct. But what can I say? When was the last time you came back home from work and felt energized? Can you even remember it?

Life is what it is, and the hard reality also includes accepting that we all don’t continue existing because there is so much joy in the world. We keep existing despite all the evil in the world. Seen in that light, I think all three driving factors that keep me and others going are actually good.

Social pressure can be negative, yes, but if it’s paired with care for other people whom you don’t owe anything, I believe it’s a sign of care for the world. Take OpenSSL. They were a team of free-time developers who had to deal with one of the largest and most decisive software bugs of all time — heartbleed. Google even went and just forked their work, renamed it to “BoringSSL” and never paid them a single dime for all the work they did for Google. And what did they do? Continue. They didn’t get money, and others would have been able to move to Google’s fork. But the OpenSSL developers never stopped — out of spite.

And if the feeling of spite drives a good intention — offering something good to the world, then that is something desirable, and not plain negative.

I don’t recall that altruism has to be morally pure. As long as it benefits everyone involved, it’s a perfectly fine thing to do. And if the alternative to spite is to abandon a project and leave users that do not necessarily possess the appropriate skills to help themselves alone, I’ll take spite any time.

Next time you use Open Source software that you don’t pay for, which may have been around since you graduated from high school, and that just received an update, heed my words: There is probably lots of spite fuelling the never-ending engine of development.

Suggested Citation

Erz, Hendrik (2024). “Dedication, Social Pressure, and Spite”. hendrik-erz.de, 16 Feb 2024, https://www.hendrik-erz.de/post/dedication-social-pressure-and-spite.

Did you enjoy this article? Leave a tip on Ko-Fi!

← Return to the post list