isaacs/github

Dead repositories revived by the community

ThomDietrich opened this issue Β· 27 comments

Hello github support, Hello everyone,

Many repositories on GitHub suffer from absence of the original maintainer / the owner and are technically dead. With that, open Issues and Pull-Requests are effectively useless as they are never answered/merged and forks with separate small/important changes are not considered or distinguishable as the successors of the project.

Here you can find two small repositories lacking from the described problem, countless more can be found:

Dying repositories are a very sad and disappointing sight on GitHub and GitHub does, at this point, not provide tools to circumvent that problem.

I want to suggest a first proposal on how to tackle that problem and sincerely ask you to take the the problem and my suggestion into consideration.

Owners or Collaborators of repositories can vanish at any point.
An open source project should not suffer from that situation. Open Source projects live from the contribution and ongoing improvement by many individuals and should not be strictly depended on a single person. There should be mechanisms in place, to allow a otherwise dead repository to be revived by the community!
I'm proposing a voting system with majority decision. After a certain time of no interaction by the original developer, the community should be able to vote to (a) have a clearly visible community repository next to the original repository or (b) assume ownership of the original repository. In both cases, to not betray the original developer, the owner should be asked for a statement in this matter.
A "community repository" will rely on a voting system in place to authorize individuals to make changes to the repository, merge pull requests, create branches, etc.

The proposed "community repository" will empower the community to keep alive or revive a project, respect the original developer and make collaboration on GitHub more fluid. I sincerely hope to reach the right people with this message.

Best!

So far the best solution we have right now is to install the lovely forks browser extension/addon. It adds a link under the repo name to the most active/starred repo.

I say we all get together and create an organization with a name like "Zombie Repos" (I guess "Community Repos" is fine too πŸ˜‰) and fork and zombify these "technically dead" repos. Hopefully we can trust enough people with access to allow inviting anyone who wants to contribute or support a repository within that organization. Doing something like this would make it easier to find active forks.

In the meantime, I received an answer from GitHub staff:

Hi Thomas,

I agree that our process for managing projects that are no longer maintained could be improved upon.

I will pass your feedback onto the team to consider. I can't promise if or when we would implement but thanks for taking the time to write in. We appreciate it!

Cheers

While I would pretty much like to see this implemented by GitHub itself, I like the idea!

@Mottie how would you make this new repository publicly known?
I suggest to create an issue in the issue tracker of the repos in question. This would also be fair to the original developer as he himself can decide to "reclaim" his project by reacting to this issue and following up on the changes or by peacefully transferring the repository to the community organization.

Regarding the name:

  • "Community Repos" is quite clear in it's meaning, maybe a bit borring
  • "Zombie Repos" is a bit confusing in my understanding, technically dead but dangerous and infected? πŸ˜ƒ
  • "Revived Repos" is maybe a bit more positive :)
  • suggestions are welcome

Here is my proposal: If more than 3 people agree with the mentioned approach (by comment or πŸ‘ on this comment), I'll create an organization and invite everyone interested in adding and maintaining an otherwise inactive or dead repository.

TPS commented

#562's algorithm may come in useful here.

how would you make this new repository publicly known?

Well, that is the main problem. I think if it's active then at least the network graph will direct people to the fork.

"Revived Repos" is maybe a bit more positive :)

LOL, yeah sounds good... I was just joking about using "zombie" in the name πŸ˜‰

TPS commented

I've a couple of currently-zombie Ff extension repos that I'd happily contribute. Where do I get in line? πŸ™‡

@TPS please give me a few more days to find the time to not only create an organization but also write a few paragraphs on what it is about and stuff.
Aside from that, we are not at 3 πŸ‘ yet ;)

TPS commented

Could whoever's subscribed seriously consider πŸ‘ing #756 (comment)?

Thanks!

P.S.: I think you didn't πŸ‘ your own proposal, @ThomDietrich.… 😜

P.S.: I think you didn't πŸ‘ your own proposal, @ThomDietrich.… 😜

Wouldn't that be cheating? Haha

Came here after a few months, only to find still just two thumbs up. I have yet another project I would like to revive and will create the organization in the next few days. We will need to type a few lines making people aware of the idea/mission and workflow in the organization. Would you be interested in being in team "Dr. Frankenstein" with me @Mottie @TPS ?

We need to decide on an organization name. Here are a few examples:
* https://github.com/community-repos/projectXY
* https://github.com/revivedRepos/projectXY
* https://github.com/revrep/projectXY
* https://github.com/reporev/projectXY
What do you think?

TPS commented

Other options:

or variations thereof, perhaps along with the "community repos" moniker?

I think maybe invite @************, though, instead of me, as main team member. (I'd be ok as an issues jockey/mod, but not much of a coder. πŸ™…β€β™‚οΈ πŸ†–)

Great ideas guys. My favorite is actually https://github.com/community-repos/projectXY or a similar spelling as it does not reduce the scope to zombie/revived repositories and transports a clear and semi-official-sounding purpose.
Still I'm open for discussions on that topic ;) Which is your favorite and why?

TPS commented

It depends on said org's mission statement. Do we want it to be a place for all "community repos" (please define, I guess) or just those that are (practically) abandonware?

I would say the org is open to accept any kind of project whose original author doesn't have the time or will to develop and accept PRs for. Something like a repository orphanage :) (yes, sadly orphanage is taken)

TPS commented

Yow, "orphanage" is more depressing than any of the other options given, anyhow. "Community-repos" is neutral, if a little dull, & the rest are quite encouraging & not limited to any particular orphan-type.

Just my 2Β’: whatever you end up choosing will be fine. But just imagine the difference between, e.g.,

D'ya see what I mean?

@TPS @Mottie I've finally created the organization and send you an invitation. I went with what you guys proposed ;)

I've added a quick README with a few details and ideas. Nothing is fixed yet: https://github.com/rejuvenate/rejuvenate/blob/master/README.md
Before we can actually add repositories, I think we should define some rules.

  • How do we add repositories?
  • Who gets write access to repositories?
  • Do we/users with write access directly merge Pull Requests available in the official repository?
  • How do we handle Issues and Pull Requests in these projects?
  • Do we actively promote the new fork?

Without saying anything now, I'd be interested in your opinion!

Please add/suggest further maintainers.
@************ @schacon @wfarr Let me know if you would be at all interested in being part of the organization.

TPS commented

@ThomDietrich I've contributed my repos & even posted the 1st issue rejuvenate/rejuvenate#1! πŸ•Ί

If anyone wants to get involved and take part in the discussion started above, join us at https://github.com/rejuvenate/rejuvenate/issues πŸ˜‰

I would like to bump this. This is a pretty severe issue on Github and probably a good 2/3 of the mobile (iOS/Android) libraries are clearly dead by either not having been updated in a year or more or the owner states in the ReadMe that they have stopped development. I feel like it is very unfair to people who are willing to give up their free time to contribute to a greater whole when one person has the power to kill a project just because they can no longer work on it. It goes against the spirit of open source to allow this to continue.

Github I urge you to please implement a way for the community to take control of dead repos.

I just stumbled on this while searching for a solution. This hasn't been solved, has it? The rejuvenate org seems inactive as well. I'd like to work on, well, rejuvenating the effort if no other good solutions exist. Is there still will for this?

Thanks.

TPS commented

@brennebeck, &c: Rejuvenate's not dead, but dormant (a bit) from lack of developer/community interest. We members are there to facilitate such, but mostly aren't devs &/or are working on living projects, & need others to actually code!

Thanks for the info @TPS.

I'd like to get involved.

  • Can I be added to the org?
  • Is there a list of action items or would it mainly be whatever I could work on?
  • Is there any sort of standard or documentation on processes or also kind of up in the air for now?

There are definitely a few repo's I'd like to work on asap but I also don't want to just start a fork and end up with the same problems all discussed here. Thanks and looking forward to getting more involved.

TPS commented

@brennebeck Take a look @ the Rejuvenate README. Almost everything you asked is addressed there.

@rejuvenate/community @rejuvenate I'm sure I'm forgetting something. Please feel free to chime in!