Jeff Kreeftmeijer

Abandoned open source projects


The first time I tried to create my own blog — yes, it took me a couple of tries before I ended up with Jekyll — I wanted to use Tumblr’s API to write articles using their back end, fetch everything and display it all on my website. I know that sounds stupid now, but bear with me for a minute.

I found myself abandoning the whole project

Because I couldn’t find a Ruby API wrapper that suited me and thought it would be wicked cool to write one myself, I created my first open source project. I couldn’t think of a witty and clever name, so I just went with “Tumblr”.

I had a lot of fun writing it and I even stopped working on the blog I built it for in the first place. It didn’t have any tests, but I didn’t really care about that back then so I didn’t take the time to add any. I released it as a gem and some people started using it. Great.

After a while, I realized I never used it myself and I started to dislike the project, but I decided to keep supporting it. That worked until I got a full-time job at 80beans and found myself abandoning the whole thing while working on more interesting stuff and even cooler open source projects.

Today, it seems like the project is more popular then when I still worked on it. People are creating issues I can’t fix because I haven’t been into the Tumblr API for a while now, nor am I planning to. Also, the project has more watchers than ever and it’s the only project that pops up when you google for my name.

Marking projects as abandoned

I could add a nasty banner to my README file telling people the project is abandoned and you shouldn’t use it or you should fix any bugs you find yourself, but that’s not what I think a README is for. I could even remove the issues page so people can’t report issues anymore, but I don’t want that either. There’s some helpful information in there.

Instead, I would love to see a feature in Github to mark a project as abandoned. Here’s the idea:

The project owner would have a check box in the project’s admin area to mark the project as abandoned. Maybe the repository can get the abandoned state after not being updated for a certain amount of time automatically too, but I’m not sure how long that’s supposed to take.

When abandoned, the repository page shows a message telling everyone that the project isn’t being worked on anymore, you should fix bugs yourself and maybe contact the project owner if you want to start maintaining it.

The project would have an “abandoned” tag next to its name when it gets displayed in the search results, so you don’t have to compare last commit dates anymore. The abandoned projects could even be pushed down on the results page.

The project would have an “abandoned” tag next to its name when it gets displayed in the search results

I don’t think the issue tracker should be disabled for abandoned projects, since users can solve problems in there without needing the project owner. But when creating issues, you should see a message again saying the project is abandoned and it could take a while for anyone to respond.

What do you think?

This would be a good way for project owners to notify people they stopped supporting the project and will probably help them to find somebody that wants to start maintaining it. Also, it would become easier for users to find active projects and prevent them from using code that nobody has worked on for months.

I’ve created a feature request in Github’s support forums to see if they’re willing to start implementing something like this. I would love to hear your opinion too, so what do you think?