I’ve been lurking since forever, but have been wondering as of late if I could maybe help out as package maintainer. How does one get to doing that? In my experience of becoming a maintainer of several Haskell packages, the playbook is this:
- Contribute to a project you’re interested in. Many projects have a label for “easy” issues or “good first contribution” (e.g. haskell-language-server);
- After you’ve contributed a few times, and you understand the codebase and the process, ask maintainters to help with maintenance. If it was for one of my packages, I’d consider whether you also have an incentive to do the job well. This could mean depending on the package at work or in personal projects, for example. aeson being down to just one maintainer definitely makes me nervous, since it’s so central a package and often used in web-facing security-sensitive contexts. I wonder if @Lysxia has plans for finding a co-maintainer. aeson maintainers could consider submitting it as a core library, maybe. This may or may not be useful here, but I’m working on a tool around project memory for OSS repos. Given the maintainer transition here, I’d be happy to run it on aeson or quickcheck-instances for free. The rough idea is to index public issues, PRs, discussions, and release notes, then make it easier to recover old context: why certain decisions were made, what tradeoffs came up, and which parts of the project need extra historical context before changing. No private access needed. If maintainers find it useful, great. If not, no worries. Huge respect to Oleg for all the work on these packages. Interesting. Could you elaborate how you do this archeology work in an automated fashion? Is it purely mechanical? Maybe create a new discussion and showcase it. It is not purely mechanical, the mechanical part is collecting and clustering the public history: issues, PRs, discussions, release notes, labels, timestamps, linked commits, and cross-references. An LLM then turns the nodes into traceable project-memory notes. So instead of “trust this AI summary,” the output should be: here is the likely context, and here are the original issues/PRs/discussions it came from. Also will be making a new discussion with an example.