Programming for fun and profit

A blog about software engineering, programming languages and technical tinkering

Sun 18 August 2024

Taking a step back from open source development

Posted by Simon Larsén in Blog   

Over the past couple of years, I've half-heartedly tried to keep up with the bar I set for open source contributions back when I was in university. It has not been easy, and ultimately I haven't been able to align my current projects with where I'm taking my career. I's time for me to take a step back.

tl;dr. I am taking a step back from open source development. Response times on my open source repositories will be slow. Sometimes I may not respond at all. Open source development is not one of my current focus points; my free time is spent elsewhere.

Open source development got me to where I am

From creating RepoBee to maintaining Spoon, I've spent thousands upon thousands of hours of my free time contributing to projects and putting them out there for the world to see and use. It served me well in developing my skills, but also in more unexpected ways such as opening doors to publishing articles at academic conferences and mentoring more junior developers well before I had a full time job1. I am fully convinced that I would not be nearly as skilled a software engineer as I am today had I not had these experiences. Given the choice, I would take the exact same path all over again.

But things have changed

I loved open source development as a university student because it gave me the opportunity to collaborate with other developers on real and long-term projects, honing skills that were not being honed in the predominantly theoretical computer science program I attended2. I needed to ground the theoretical learnings in practical application, and open source development gave me an outlet where I could do just that.

However, I must now recognize that those circumstances are in the past, and new circumstances surround my day-to-day. A lot of what I got out of open source development as a student, such as collaboration and real-world application, I'm now getting from my job. This greatly lessens the appeal of open source development for me, as it was never about some altruistic notion of helping others, but about what I could learn from the experience. It was all part of my skills development process.

What I now desire from my skills development in my free time is to explore new technologies and concepts that I don't have time or reason to work with on the job. This leads to a lot of doing a little bit of this and a little bit of that. While this may still translate to the odd open source repository with some half-finished project, it does not mesh well with long-term maintenance of established projects.

So what's up now?

This disconnect between my own needs and open source development has been weighing on me for years. I've felt guilty for neglecting the projects I maintain, but at the same time haven't been able to do anything about it. A little while back, I decided that it wasn't a healthy way to go about it, and decided to more officially scale down my open source involvement. I started out by resigning as a maintainer of Spoon, and am finishing up with this blog post as a statement of my intentions.

I will still attempt to respond to issues and PRs on my existing open source projects. I will attempt to fix critical bugs in any project I maintain. But the keyword is attempt. I make no promises about anything, responses from me will likely be few and far between. Complex issues may never be investigated, and major PRs with difficult to integrate code will likely not be integrated.

Things may change in the future. I may find that spark for open source development again and dive back into it. But now is not that time. Right now, I just want time for myself to tinker with things that interest me, but are of little use to others in the state that I leave them.

  1. Sadly, I never managed to find someone to mentor me.
  2. I still think that studying computer science was well worth my time, but that's a topic for another blog post.