Armin Ronacher's Thoughts and Writings

Emotional Programming in Open Source

written on Thursday, November 28, 2013

I firmly believe that one of the biggest reasons for the perceived high quality of lots of Open Source code is that the developers are generally happier writing it. Lots of people in the Open Source community develop something that solve particular problems they have themselves. But what happens when you no longer have problems to solve?

I found it quite hard this year to work on my own projects because the bug trackers were full of things I personally did not really care about. The things I wrote over the last few years all work so well for me, that I don't need to fix problems or add things. When there is something that needs fixing, I will work on it, but otherwise I don't necessarily get the motivation to work on it.

A big reason for this is that I need to split my available time between work, my open source projects, learning new things and private life. Lately when I open the bug-tracker for my projects I get an overwhelming feeling of failure. github shows me 500 unprocessed notifications and my inbox is now up to 100 unreplied mails, many of which I regret not replying, but after a while it seems pointless to reply.

The unfortunate truth is that some things in my life started acting on their own without me having much control over it. Somehow it happened that on PyPI I am (was?) one of the authors with the most downloads and split across multiple projects and that sort-of happened by itself. It's incredible motivating to see people using my software but at the same time I fundamentally failed on reducing the bus factor so far.

This year I have spent a lot more time with keeping Splash Damage and Fireteam stuff running than with my Open Source projects. Not because there was a lot of need for it, but because I had more fun with it. I mentioned this up before, but the whole porting to Python 3 thing has killed so much motivation for working on my project for me. I cannot use Python 3 in practice and having to deal with issues I don't have myself is one of the most frustrating things.

I think this is however also always the biggest advantage of Open Source, especially if it's BSD licensed. Even though the project's author might at one point not be contributing as much to the project as before, you have full access to everything. You will never end up in an unfixable situation. This is in a strong contrast to how the proprietary world looks like. Commercial funding in a project might generally keep it more active, at least for as long as money flows, but commercial interests might not be yours. Companies get acquired, licensing deals change and you might be left from one day to the other in a situation where you need to switch technology because it's just no longer available. I have seen this happening.

With all that in mind I am currently trying to get things sorted out to everybody's satisfaction. It's unacceptable that issues hang around unprocessed this long.

Open Source can be hard sometimes.

This entry was tagged personal and thoughts