The maintenance cycle of modules often comes to a close before the useful lifespan of that module is finished. This might happen because business priorities change, as when Puppet moved away from MCollective, or it might just happen because the champion driving the module's development moved to a different project. But it rarely means that the module has no life left in it. Sometimes it just means that the module needs a new maintainer.
The modules in the
puppetlabs namespace are periodically groomed and those ready to be given new life under a new maintainer are collected into an "up for adoption" page. Any module on this page are eligible for an expedited ownership transfer, and this page describes how to do so.
First, evaluate whether you're ready for the maintainership commitment. If you only expect to have time for occasional updates, you might consider facilitating a transfer to Vox Pupuli's stewardship instead and contributing via that umbrella.
If you'd like to assume maintainership yourself, then follow these steps.
- Fork the module repository
Browse to the module's GitHub repository. This can generally be found via the
Source URLlink directly below the module's name on its Forge detail page. Then click the
Forkbutton in the upper right of the page and follow the instructions to fork it to your own repository.
- Update the module metadata
In your own fork, edit the module's
metadata.jsonfile and update as needed. You'll want to update the
issues_urlfields to match your own Forge username and GitHub namespace. Increment the module's minor semver version number. This tells people that it's a backwards compatible update.
You might be tempted to make other changes now, but resist that urge. This allows people to upgrade directly to your module with lower friction. Save your improvements for the next module release.
Commit these changes and tag the repository.
- Publish the new module in your namespace
Build a new module package and upload it to the Forge. The new module page will be created for you automatically.
- Deprecate the original module
File a Jira ticket and tell us about the module you'd like to adopt. Include the Forge module detail page for the new module and tell us a little bit about your plans for the module. If needed, we'll have a quick conversation with you and then deprecate the original module and point the replacement to yours.
Thanks for helping to contribute to the community. Developers like you make this a better space for us all. If you need any help with your new module, stop by our Slack channel for advice.