It happens all the time. You come across a useful-looking project that has few or no recent commits, many long-open issues and pull requests, and nothing is changing. How do you usually ask if the project is being maintained without sounding impatient and thankless or otherwise unpleasant? Is it good form to open an issue, or is there another method?
-
3At the risk of blatant self-advertising, I wrote a small Firefox/Chrome plugin to tell me if the project had any notable forks, called lovely-forks. It has helped me more than once in figuring out whether a project had been forked and development is continuing on the fork while the upstream stays dormant.– musically_utSep 3, 2015 at 10:52
-
1@musically_ut Self promotion or not, very cool! I'm using it now.– TroySep 3, 2015 at 14:50
-
(* warm fuzzy feelings *) If you liked this, then you may be interested in other extensions which improve one's Github experience: github.com/stefanbuck/awesome-browser-extensions-for-github :)– musically_utSep 3, 2015 at 21:21
-
Sometimes you just have to step on toes...– wogslandMar 10, 2017 at 2:45
-
Hopefully, isgitprojectactive.info can be helpful – it checks ratio of contributions over time and answers the question of the project is actually active or not:)– AleksandrDec 1, 2023 at 17:59
2 Answers
There are a number of options, and I've had to do this in the past for real. But beware - you could end up a new committer for the project.
The most straightforward is to pull the project owner's email address from the git log and send them a polite email asking about the status of the project.
In my case, I found there was a mailing list where the project (and others related to it) were being discussed. I sent an email to the list asking what its status was.The next day I got a notification from Github saying I had been added as a member of the project.
The other alternative, if you need something fixed, is to fork the project and fix it yourself - assuming the license allows that, and that you have the skills to do so.
Raising an issue is really only sensible if you are actually reporting a problem. But if there's been no activity on the project, then the issue isn't likely to get you very far.
-
11I disagree with the last part: project not being maintained is an issue and creating an issue will notify the project owner unless the owner has unsubscribed from the project, which might mean that the project owner has/owners have abandoned the project. If you still won't get an answer and you are adamant about getting an answer (and maybe even interested in picking up the project), mailing the owners themselves is reasonable.– Pete TNTSep 3, 2015 at 8:00
If there are "many long-open issues and pull requests, and nothing is changing" then you don't need to ask - it's just assume the project is not being maintained.
Open issues aren't an indicator, maybe the project maintainers don't think they're as important as the person who opened the issue. Especially with popular projects, the issue tracker will often be swamped with more work than the team can possibly keep up with.
But if pull requests are being ignored, then your only viable option is to create a full fork of the project (not just a GitHub fork).
In my experience asking wether a project is active will not achieve any useful result. You will either get a reply "no, it's not being maintained" or you'll get a reply "yes, it's being maintained but I've been too busy lately". If you get the latter response, then it's almost guaranteed that the maintainer will continue being too busy into the future as well.
You could try asking for commit access to the project, but the developer has never seen any of your code, so they're not going to grant you access. Or if they do grant you access then that's a real warning sign: will they give access to anybody? Do you want to be part of a project where somebody else might turn up in the future and start committing bad code?
My advice is don't waste your time contributing to a project where your pull requests aren't going to be accepted. The "primary" repository for a healthy project needs to be actively maintained, so go ahead and take over if you can:
- pick a different name to the original.
- make a new github project (not a fork).
- merge in the original repository.
- go through all the ignored pull requests, and merge in the good ones.
- for not-so-good pull requests, ask the author to improve them.
- contact everybody who's ever contributed (including the original author) and invite them to contribute to your fork.
-
10You make excellent points here, but I disagree with "it's not worth asking". Generally, it's fine to be raising an issue (they get a notification in their email with platforms like GitHub I think), and if you're asking whether a project is maintained, it's normally because you did find an issue, or want to contribute. I did this recently where I found a project, that didn't have a license. It appeared inactive, but I went ahead anyway, and raised an issue asking for a license. It doesn't hurt to try either. Otherwise, excellent answer. Sep 2, 2015 at 23:57
-
2Here's an example where an "is this maintained?" issue led to a constructive discussion and some new maintenance being done. Dunno if it's the exception or the rule though. github.com/github/hubot/issues/953– TroySep 3, 2015 at 4:08
-
2When I was not sure I have tried a trivial PR for a minor issue, and made sure I cover needed unit tests, docs etc thoroughly, so there is very little for maintainer to do. If that is not even commented on, that's a pretty good sign of a dead project. Sep 3, 2015 at 6:53
-
1@AbhiBeckert you should never expect a PR to be merged. You can and should however, expect a response of some kind to a PR on an active project. It may be a simple rejection, or some comments, but to expect your PR to be merged is a bit much mate. Sep 4, 2015 at 0:42
-
2@RubberDuck If you have a patch, or something, and you have tested it and have confidence in it, I don't see anything wrong with having a limited expectation. Sep 5, 2015 at 1:34