Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Repository Maintenance Levels

After reading Why I'm Frequently Absent from Open Source by James Long and listening the corresponding The Changelog episode, I dwelt on the idea and believe that open source maintainers...

  • ... should never be ashamed if they don't have time for a project.
  • ... should be honest with themselves and open with their users so that everybody can be on the same page
  • ... are people and they have at one time or another responsibilities or hardships that they need to attend to which reasonably take them away from a project
  • ... may also reasonbly decide that they don't like the direction of a project or that they would like to explore other things and may leave a project permanently.

Along this line of thinking I've created a set of descriptions for different levels at which a project might be maintained. A maintainer can use these to announce to their users the current ability that they have to dedicate to a project (no more "Is this project still maintained?" issues!)

Actively Developed
The maintainer(s) of this project are currently writing code for this project as well as responding to issues and integrating code contributions
Actively Maintained
The maintainer(s) of this project are responding to issues and integrating code contributions
Inactively Maintained
The maintainer(s) are around to answer questions, but do not currently have time to respond to issues or integrate code contributions
Not Maintained
The maintainer(s) are not around to work on this project and should offer to hand the project over
Abandoned
The maintainer(s) are not interested in spending any more time on this project. Users are welcome to fork it.

No matter your commitment to a project, it is in your user's interest to know the status of your projects (as well as in your own interest to not have to answer the question over and over). To that end I have created these easy-to-copy badges for your repo's README which can all be linked back to this page.

[![Active Development](https://img.shields.io/badge/Maintenance%20Level-Actively%20Developed-brightgreen.svg)](https://gist.github.com/cheerfulstoic/d107229326a01ff0f333a1d3476e068d)

Active Development

[![Actively Maintained](https://img.shields.io/badge/Maintenance%20Level-Actively%20Maintained-green.svg)](https://gist.github.com/cheerfulstoic/d107229326a01ff0f333a1d3476e068d)

Actively Maintained

[![Inactively Maintained](https://img.shields.io/badge/Maintenance%20Level-Inactively%20Maintained-yellowgreen.svg)](https://gist.github.com/cheerfulstoic/d107229326a01ff0f333a1d3476e068d)

Inactively Maintained

[![Not Maintained](https://img.shields.io/badge/Maintenance%20Level-Not%20Maintained-yellow.svg)](https://gist.github.com/cheerfulstoic/d107229326a01ff0f333a1d3476e068d)

Not Maintained

[![Not Maintained](https://img.shields.io/badge/Maintenance%20Level-Abandoned-orange.svg)](https://gist.github.com/cheerfulstoic/d107229326a01ff0f333a1d3476e068d)

Not Maintained

@jerodsanto

This comment has been minimized.

Copy link

jerodsanto commented Mar 24, 2017

I like this idea. There are tools like Is it maintained? which try to discern the status of a project, but it's much better to be explicit.

We have a show shipping next week where we discuss messaging/communication around open source projects and how that can be formalized in repo-level metadata so machines and humans can read it. Until then, these kind of badges are about as good as we can do.

@hisaac

This comment has been minimized.

Copy link

hisaac commented Mar 28, 2017

Thanks for this! I like the idea. I've used one of your badges on a project that I uploaded to GitHub, but am not the maintainer of. Hopefully this will help visitors to the project's page understand the state of the project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.