Sat, 24 Feb 2018

Archiving my open-source projects

It's well past time that I admitted something to myself: I am no longer actively maintaining any of my personal open-source projects.

As I was staring at my inbox this morning, noticing that it was full of github issue reports and thinking "I should really make time to respond to those" and then feeling ashamed that some are now several months old, I came to a surprising realisation – it's not that I can't make time to maintain those projects these days, it's that I no longer want to. I'm not "busy with family stuff" like I've been in the habit of telling myself, and I won't "get to that sometime soon". I'm getting my software fix on the job and I'm spending my personal time on other things, and I'm surprised to find myself OK with that.

Thankfully, this is not another story of open-source burnout. I'm pretty good with boundaries, I continue to love open-source and the communities that grow around it, and I am incredibly grateful that my day job allows me to engage with them on a regular basis. It's just that 30-something-year-old me has different priorities than 20-something-year-old me, such as a full-time job that's a wonderful mix of engaging and exhausting, a partner who works full-time as well, and two kids who aren't yet old enough to be "too cool" to spend time with me.

Of course, that doesn't stop me from feeling bad about all those unanswered issues :-(

I'm reminded of Katie's talk-within-a-talk from PyCon AU (which you should watch by the way, for both the talk and the meta-talk) entitled "How to handle abandoned projects, Take Two", and particularly of her advice to "abandon responsibly". It's hard to admit that I'm at that point, especially for things I've worked on for years (like PyEnchant) or for things that really got folks excited (like PyPy.js). But it's the right thing.

So here's what I'm going to be doing over the coming days:

  • Updating a bunch of READMEs to mark projects as unmaintained and to link to this post.
  • Closing a bunch of issues with an appology and a link to this post.
  • Archiving repos that I know I'm never going to personally revisit.
  • Disabling issues on a handful of repos that I might poke at on occasion for my own personal use.

If you landed on this page by following a link from one of those repos,! Feel free to shoot me an email if you want to chat about the code or the project, and definitely reach out if you think you might like to take it over. I'll do my best to respond a lot more quickly over email than I have been on github issues!

Update: I've had some good feedback that it may be better to leave issues open while I try to find a new maintainers for some projects. I'm not doing this, because I want to optimize for getting things to a stable state rather than leaving anything open-ended. But if you are interested in taking over one of these projects, I will happily volunteer to restore any issues that may be useful to you!