mbarkhau / bumpver

BumpVer: Automatic Versioning
https://github.com/mbarkhau/bumpver
MIT License
199 stars 36 forks source link

Project sustainability & governance #233

Closed mfisher87 closed 8 months ago

mfisher87 commented 8 months ago

Hello! Currently there are two active projects I know of in this space: bump-my-version (the recognized successor to bump2version) and this one. In terms of activity and my subjective perception of sustainability, they seem fairly similar; similar number of contributors and stars on GitHub. I've used both this project and bump-my-version before. I'm making this post on both repositories (link to post on bump-my-version).

There's been a history in this space of projects dying off because the repo administrators became unavailable to continue their role (bumpversion, bump2version). Forks happened and that's great that the work continues, but I'd really like to see a stable long-running project that solves this problem and helps focus our resources.

One of the main reasons I use a version-bumping tool instead of relying on Python packaging tools that can read my Git tags is because I often write software that needs to have a DOI, and the code metadata that's used to generate DOIs needs to be kept in sync with the software version. Other metadata items like release date need to be automatically updated. Have you considered adoption by, for example, Scientific Python or pyOpenSci to provide governance and help focus community resources around the needs this project serves?

mbarkhau commented 8 months ago

I haven't considered any such adoption, no. I maintain the project, continue to accept contributions and give guidance to anybody who wants to contribute. If somebody wants to take on a role as maintainer, to make sure the project remains sustainable, I'll be happy to consider them.

IMHO, these projects aren't too complicated. Some projects warrant continued development, some are basically complete at some point. I'm not sure that very many community resources need to be focused on either of these projects.

Some resources might be warranted to document more use cases, such as yours. If people in the pyOpenSci have such needs, I'll be happy to accept contributions to support their use-cases.

mfisher87 commented 8 months ago

I haven't considered any such adoption, no. I maintain the project, continue to accept contributions and give guidance to anybody who wants to contribute. If somebody wants to take on a role as maintainer, to make sure the project remains sustainable, I'll be happy to consider them.

What I'm concerned about is that you're the single point of failure in this system. If you were to be suddenly unable to continue participating, the ability to add new maintainers is lost, which is what happened to bumpversion and bump2version. In each of those cases, it took a long time (~1 year IIRC) for the community to realize that the maintainer was gone and organize around a fork; lots of progress was delayed. You wouldn't have to sacrifice your ownership or authorship to gain sustainability benefits, plus name recognition and outreach programs can bring in new users and contributors.

I feel researchers are especially sensitive to churn like this, as open source practices can feel like an obstacle to research goals. Communities that support researchers in adopting open science practices need to update their documentation, workshops, etc. There's also impact to maintainers of downstream packages like Conda Forge.

IMHO, these projects aren't too complicated. Some projects warrant continued development, some are basically complete at some point. I'm not sure that very many community resources need to be focused on either of these projects.

I feel that the history of projects in this space is strong evidence of an inability to keep an individually-administrated project in this space alive long enough to reach that completion point, if there is one. I personally would argue that there isn't a completion point; version-management tools need to be just as alive as version bumping conventions, which are continuing to evolve! I believe your project was the first (and only?) in this space to support CalVer (thanks for that, by the way! :wink:).

mbarkhau commented 8 months ago

All in all, I think my point still remains:

If somebody wants to take on a role as maintainer, to make sure the project remains sustainable, I'll be happy to consider them.

I won't be reaching out to actively look for people or organizations that might fill that role. I don't know if other people have the resources for maintenance, nor if they want to dedicate them to this project in particular. If there is such an organization, I'll be happy to work with them.