My Haskell will
Published on ; updated on
I hate it when maintainers become unreachable. At the same time, I’m not immune to that myself (if nothing else, I could be hit by a bus tomorrow).
So I contacted a few people with a request to become backup maintainers for some of my more popular Haskell packages, and they kindly agreed.
Specifically:
- Oliver Charles is now the backup maintainer for all my testing-related packages: tasty and its add-ons, smallcheck, the obsolete test-framework add-ons, and ansi-terminal (a dependency of tasty)
- Adam Bergmark is now the backup maintainer for the haskell-suite projects: haskell-names, haskell-packages, hse-cpp, and traverse-with-class (a dependency of haskell-names)
- Sjoerd Visscher is a second backup maintainer for traverse-with-class
- Oleksandr Manzyuk is now the backup maintainer for ariadne and bert (a dependency of ariadne)
Being a backup maintainer comes with very light responsibilities:
- should I become unreachable (temporarily or permanently), and a change has to be made to a package to keep it usable, the backup maintainer is supposed to review, apply, and release that change;
- should I be unreachable for a long time or permanently, and there are people who want to take over the maintenance or development of all or some of the packages, and the backup maintainer has no objections to them doing so, they are supposed to give those people the necessary privileges. (Of course, that person may be the backup maintainer themselves!)
The backup maintainer for a package is added as a maintainer of that package on Hackage and as a collaborator on the package’s GitHub repository.
To be clear, a backup maintainer is under no obligation to fix bugs or continue the development after I disappear. It would be unreasonable to ask anyone to commit to such a responsibility at an indefinite point in the future.
I assume that if a project is important, there will be people willing to take care of it; and if it isn’t, then it doesn’t matter anyway. The main responsibility of a backup maintainer is thus to make it easy for such a hypothetical person to take over.
As to what it means to be «unreachable», I completely trust my backup maintainers’ judgement here. I don’t want them to follow any bureaucratic procedures. The risk of something going wrong is very low and is easily outweighed by the benefit of a timely response to problems.
One package that doesn’t have a backup maintainer yet is standalone-haddock. If you use it and would like to take on that role, please get in touch.
I also encourage other package maintainers to follow this example and appoint backup maintainers for their popular packages.