No Maintenance Intended
unmaintained.tech
unmaintained.tech
I would like to ask anyone who currently has a project they don't want to maintain to spend the minute to add the project to Code Shelter:
This way, interested people can easily pick up maintenance and at least merge a few PRs/triage a few issues. Also, if you have some spare time or you see a project you'd like to help out with, please join Code Shelter as a maintainer:
https://www.codeshelter.co/membership/
There's no reason to have abandoned projects nowadays, it locks them in a state of "I don't want anyone improving this" rather than "I don't have time to improve it, but feel free to if you want".
1) Can you group the projects according to the language or framework (e.g. Python, JavaScript, Node, Arduino, C++, Java, etc).
2) Can you carve out a separate section for projects that currently have no maintainers? I had to scroll through the entire list to see if there was something that I could help with.
(I'm on my phone, so if these sections already exist on desktop, I didn't see them.)
Thinking out loud, maybe there could be some form, where if a candidate maintainer clicks the button to "join a project" (or whatever), they'd have to compose some message that would be sent to the owner, to at least break some first ice and initiate some contact? I don't know what's going on with the person. If there was an easy way, I would be happy to reach out to them and ask them, like, "hey, howdy'a doing?" Also, it would be nice if I was sent an email with a notification when someone "claims" my project, and with a chance to connect with them. Maybe you could try and start contacting people to see how is this working, and if not, to try and dig down on the underlying reasons? maybe this could lead to some now ideas for improvements and helping people work together?
https://gitlab.com/codeshelter/note-to-maintainers
It's basically a text file where you describe how you want future maintainers to handle the project, give instructions, caveats, etc (whatever you want, basically).
I assume this specific maintainer situation happened because it's easy to click a button and be added to the project, so maybe the maintainer was planning to do something but didn't get around to it, or something similar.
About the communication, you're right, we encourage maintainers and authors to join our chat server (https://codeshelter.zulipchat.com/) so they can be in contact.
Code Shelter was built with more of a long-term prospect in mind (obviously we can't guarantee that we'll find you a maintainer right away), maybe I should amend the copy to manage peoples' expectations, because I hear from a lot of people that they expected someone to pick up their project and were disappointed when it didn't happen.
What do you think about the ideas I listed in the post above? I assume you know who are the people on both sides, and that you have their emails, so I'd guess you're in a good position to actively facilitate communication, no? Is there a way how I could actively reach out to a person that's listed as a maintainer on my project? Why not add a form that would let me do that? even without necessarily revealing their email, if they don't want to? though to tell the truth, why wouldn't they want to, if they claim to want to contribute? Similarly, how about a notification, so that I learn that someone joined my project, with their email so that I can reach out with a welcome? why passive encouragement to a chat server instead of an active facilitation of first contact over email?
I don't think Github/Gitlab provide any automated way to send people messages (short of creating a new issue and mentioning people). Actually, creating an issue on a maintainer joining might be a good idea, I will look into it.
Other than that, we have to take many scenarios into account (many people don't want to talk to the new maintainer, for example, because the project is completely abandoned).
We should definitely add something, though. I'll see if we can automatically add issues that will be something like "Introduce yourself" with a body of "Hello @maintainer1, @maintainer2! @newmaintainer just joined, please say hi".
I have opened an issue if you want to contribute: https://gitlab.com/codeshelter/codeshelter-web/issues/34
Part of the problem has been GitHub being unable to even show a fork graph for highly-forked projects. If that instrumentation was in better shape, one might imagine there would be more convergence.
A related challenge is the lack of conventions or infrastructure around describing the intent of a fork.
So instead of a transparent single page summary of a repo's forks, their original vision, actual activity, and relationships... individual consumers each do their own exploratory flailing around - "the github dance". In isolated repetition, as there's no convention/mechanism for sharing "I just spent an hour examining all these forks... here's what I learned, to spare you doing the same".
Perhaps a minimalist alternative to a codeshelter, might be linking to some persistent discussion forum thread, to bless an coordination process, rather than one particular result.
Though which forum has adequate properties... Perhaps use an Issue? Perhaps with some naming convention, like "Relationship to other forks"? "Related Work"? "Forks"?
I've felt GitHub started well, was building out needed infrastructure... but then stalled out with much left undone.
I'm just not sure codeshelter has the right shape. I've found people being briefly motivated to take something over, and then vanishing, to be a common case. So is "simply transfer ownership" the right model? Sometimes no one person wants to own it, but several would be willing to variously chip in, but the coordination barrier for that is currently unnecessarily high.
But maybe someone has already created a "github fork network summarizer" service site, and I've just not yet heard of it? Perhaps the transition from a startup, to a "we're not pathological anymore, really truly" Microsoft, has changed the incentives around supporting parasitic services exploring and addressing niche needs? Could "a better github" information design exercises/services become a thing?
Very small projects given enough time can be cut almost perfectly up front, a few patches maybe then it's done. In this case lack of maintenance is a sign of stability and completeness.
At the opposite end of the scale, in very large and _dynamic_ projects, maintenance is a continual necessity. Not only because of it's own scope being so large it's difficult to settle on a coherent, complete and bug free solution, but because of how it also interacts with many other changing external projects, in short these projects are an ecosystem - In this case lack of maintenance signifies death, instability, insecurity and abandonment.
I find it particularly annoying when the latter is applied to projects fitting into the former category. Some package managers even auto-quantify package quality based on maintenance (release frequency) - looking at you NPM.
Some other phrase should be used to clarify this, maybe: "No maintenance needed", although that sounds a bit unrealistic, the point is the lack of release churn doesn't mean it's broken.
Perhaps there needs to be a bigger distinction between "unchanging" and "unmaintained".
In your example, a project could be unchanging simply because there is nothing to do, it is "done". But if a bug was found, would someone fix it? That's when maintained vs unmaintained would matter, perhaps it is only possible to know how well something is being maintained until problems are reported...
https://github.com/potch/unmaintained.tech/issues
Thank you!
Perhaps they can offer some way to customize the badge like Shields.IO does. For example,
- https://img.shields.io/badge/Status-No%20Maintenance%20Inten...
- https://img.shields.io/badge/Status-Actively%20Maintained-br...
- https://img.shields.io/badge/Status-Obsolete%20Project-red
- https://img.shields.io/badge/-No%20Maintenance%20Intended-ye...
- https://img.shields.io/badge/-No%20Maintenance%20Intended-br...
From the wikipedia above: "...everyone can visualize a cheap, simple bicycle shed, so planning one can result in endless discussions because everyone involved wants to add a touch and show personal contribution."
Also make this a PNG so it can be used outside of Github too.
Will it stay open source and free to use? Will it be actively maintained? Can I get support for issues in a timely manner? Will someone be there to helpfully guide or at least review and accept my contributions?
There needs many more dimensions to the categorization and it would be very nice if OSS projects could be graded along them all.
This is a concern of mine as well, so when I find a repo I want to guarantee future access to, I fork it. Then I have a copy that's licensed with the original open source license and which will stick around as long as I care to keep it around.
>Can I get support for issues in a timely manner?
IMO this should not be an expectation in open source. It's nice when it happens, but expect to DIY.
>Will someone be there to helpfully guide or at least review and accept my contributions?
Also nice when it happens, also by no means guaranteed in open source. If someone else isn't available, you can always carry on in your own fork.
Overall I think people place certain expectations on FOSS because they tend to align with the open source culture but strictly speaking, the reality of FOSS doesn't support those expectations in the long term.
[1]: https://doc.rust-lang.org/cargo/reference/manifest.html#pack...
> Abandoned – Initial development has started, but there has not yet been a stable, usable release; the project has been abandoned and the author(s) do not intend on continuing development.
> Unsupported – The project has reached a stable, usable state but the author(s) have ceased all work on it. A new maintainer may be desired.
repostatus.org is a project that defines eight statuses you can mark repos with: Concept, WIP, Suspended, Abandoned, Active, Inactive, Unsupported, or Moved. Each badge links to a short summary such as the ones above.
It looks like No Maintenance Intended might explain the project status better with its dedicated web page, while repostatus.org is better for being able to categorize the state of all of one’s projects.
Because somebody wrote the thing, and expressed it better than they could, and the don't want to (a) be bothered to write their own version of this text, (b) just write a less good line like the above.
obviously it would be best if Github itself implemented this, potentially along with an automated process to indicate that the author is no longer responsive/interested in maintaining the project (and potentially facilitate a transfer of "authority").
a third party system trying to determine the same might be ignored as spam by the author, and multiple third party systems (potentially jockeying for supremacy in the space) might exacerbate this.
if folks think this would be valuable, i might pursue this as a project (after petitioning Github to do it themselves)