Abandoned open source projects
jeffkreeftmeijer.com
jeffkreeftmeijer.com
I still get support requests or requests for advice once in a while from people trying to use them, or thinking of hacking on them -- and these aren't even close to being popular projects.
I'm doing most of my open development on github these days, and this would mesh extremely well with the way that git hub, and more generally DVCS works.
Another possible nicety would be the ability to mark a repo as the "canonical" repo for a project. Right now that kinda happens with forks on github, but if a project is abandoned, and another person picks up maintenance on it, it would be nice to be able to say "this isn't the current repo anymore, look here instead" in a manner that isn't just putting a notice somewhere.
I don't want to setup a bunch of organizations just because they might change owners at some point in the future.
"When you lose interest in a program, your last duty to it is to hand it off to a competent successor." (1)
I think something like this is the ideal solution, and - as kaens says above - I think if features are to be added then it would be great if they supported this process rather than just marking a project as abandoned.
(1) Eric Raymond, The Cathedral and the Bazaar, http://catb.org/~esr/writings/cathedral-bazaar/cathedral-baz...
My opinion is that every extra field I add to a page means I've personally failed. It's so easy to correlate databases to HTML that people often go feature-crazy adding fields to solve their problems and you end up with a product like JIRA.
However, as a designer I'm directly opposed to this idea. Every field I add to a web application torments me. I think about it constantly and scheme for hours trying to come up with any alternative to adding another field. I've been known to dream about "simply adding another field" for weeks. I need to make sure that this field is really going to positively impact my users. That it's more important than any other field already on the page.
So, would this inactive/status flag provide a significant benefit over editing the name/description/readme? I guess that's the question I'd like you guys to think about.
I haven't looked through the GitHub API, but is there a way to pull the description? I see "abandoned" or something similar in there more frequently than anywhere else; a browser plugin could fetch that data and display the tag moderately accurately. Or color based on last activity, etc. and that way you don't have to add a field.
edit: on second / third thought, maybe that's a possible solution: show the last-updated date when multiple repos are listed. I know I'd find that useful. What defines an "update" is debatable... commits? Issues? Wiki? All of the above? Something else?
You can always cram more data into another field, but now you've lost easy access to valuable metadata--this would be a hack, rather than a solution. Proposing for users to use a hack rather than a clean, semantically different, UI element is not good on your part as a designer.
A "Status" field benefits users as repository pages can have a prominent notification of the current status. You can also use it as a flag for searches to avoid having to wade through various abandoned projects before finding one that is being maintained.
And for the GitHub developers, it will provide a valuable statistic. Now they can track the progress and usage of repositories without potentially using assumptions like "Hmm, this repo has not be committed to for X days--could be abandoned?" or having to parse through the description/readme for keywords like "abandoned" or "no longer maintained", etc.
So yes, I would say that this simple metadata field would significantly benefit the users and developers.
I realize the you said they don't want to but the info there, but why? If you really wanted to abandon the project why not just close the repo, which would shift all your traffic to another fork?
If github implemented this feature, I wouldn't be upset, but it seems very single purpose. Maybe a status flag, so the author can not just say "abandoned", but "up to date", or "active" though again, all of that can be seen through the commit history.
Just my 2 cents.
Perhaps someone can add the feature to the open-source Gitorious.
Good idea for abandoned projects however.
Here's a screenshot: http://imgur.com/vdkMS.png
http://toadjaw.com/article?url=http%3A%2F%2Fjeffkreeftmeijer...
If you are on a mobile phone, you can view a mobile version of HN that also provides a link to my reader here: http://toadjaw.com/hn
I can't recreate it on my machine at home although they both run the Debian testing branch and use Iceweasel. I'll let you know tomorrow but it's probably PEBKAC.
This is the first time it bites me in the ass though! It produces a shadow and lighting effect on the letters which is really distracting: http://imgur.com/qYkeh.png
I don't like the other idea about automatically setting the repository status to abandoned if it hasn't been updated for a while, because it's not necessary that project has been abandoned, because there were no code / repository updates recently.
Github might also offer the ability to indicate the new canonical repository, for the case where the original dev has stopped working on the project but other folks have picked it up.
Once you have a new maintainer, announce it, open a support request in http://support.github.com asking them to re-root the network to the new maintainer's fork, and then change the description of your repo (a one click change) to something like "this is no longer maintainer, check http://github.com/otheruser/repo
Yes, it takes a while, but then when you solve it, you give the community a new maintainer. So I think it's a better solution than just marking it as abandoned :)
Nothing is more frustrating than working with a piece of code (in my case usually a Django app), get giddy about using it and then realize that it hasn't been maintained in over a year and is littered with bugs you need to fix.
I actually think some sort of "no commits after X amount of time" warning / flag would work just as well. In fact, it might actually encourage people to maintain more projects if only to prevent the warning from popping up. Heck you could even turn it into a game...