Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Call for more co-maintainers (as I step down) #1048

Open
Minoru opened this issue Oct 13, 2024 · 10 comments
Open

Call for more co-maintainers (as I step down) #1048

Minoru opened this issue Oct 13, 2024 · 10 comments

Comments

@Minoru
Copy link
Collaborator

Minoru commented Oct 13, 2024

Hey everyone,

I haven't paid attention to recent issues and PRs, and with some (happy) life changes that's coming my way, I don't expect I'll have time for Hakyll anytime soon. Thus I'm stepping down as a co-maintainer.

I really want Hakyll to exist and to trive, so let me describe what's required to maintain it. Perhaps you, the reader, will be interested in picking up some of that work!

Keeping Hakyll in Stackage. This can really be done by anyone who's capable of running cabal build (with help from someone who has commit access to Hakyll and Hackage). You add yourself to Stackage's build-constraints.yaml so you get pinged by issues like commercialhaskell/stackage#7529. For each ping, you update the dependency bounds in hakyll.cabal, submit a PR to Hakyll, merge it, make a Hackage revision (manually applying the changes from the PR), and comment about it on the Stackage issue. 95% of the time, it's as trivial as this. The other 5% is when a dependency API changes and you have to fix the compilation errors. This is usually easy too; and when it's not, you can tag Jasper and add a "help wanted" label.

Issue triage. If you want to explore Hakyll's capabilities, this is for you. People come with all sorts of problems; some trivial, some advanced. I think I was able to answer about 20% from my own experience of building a blog. The rest I was usually able to help somewhat by code-diving.

Reviewing trivial changes. Usually it's version bumps (#1036), but sometimes it's new features (#975) or generalisations of existing APIs (#957). Your job here is to ensure that the additions are consistent with what Hakyll already has: function names should be similar, arguments should be in the similar order (if that makes sense), code is in the appropriate module, etc. Reviewing such changes is a good catalyst for learning about Hakyll's APIs.

Reviewing big changes. This is the area where I struggled the most, but it got slightly easier as I learned about Hakyll's internals (and maybe even Haskell). The most recent such change is async runtime and its refinements (#844, #863, #946). These changes sometimes require a judgement call about their appropriateness or the way they are implemented; I just deferred to Jasper if I was unsure of what to do.

That's it; the four main areas of work as I see it. I should note that each area can possibly be covered by multiple people, so nobody is too stressed any everyone's back is covered.

I don't yet know how new co-maintainers will get appointed. I guess it's up to Jasper. I personally believe in meritocracy, so should point out that most of this work doesn't require commit access on GitHub or maintainership on Hackage. If you're interested in working on any of this, please just start; there's always someone who can merge your PR and push that release.

Please don't break this thing too much, I use it for my blog still ❤️

@jaspervdj
Copy link
Owner

@Minoru Thanks for all your awesome work in the past few years! I owe you more beers than I can count!

My goal is also to keep Hakyll working with a slight focus on backwards-compatibility in favor of adding new features. There's many websites out there at this point using Hakyll and having to update site.hs can be very annoying if you just want to make a slight change to your website.

@LaurentRDC
Copy link
Collaborator

@Minoru Thank you so much for all the work you've put into Hakyll!

@jaspervdj I am happy to serve as co-maintainer. I can't promise I'll be able to review large PRs, but I can at least help keep everything up to date.
My hackage username is LaurentRDC as well.

@jaspervdj
Copy link
Owner

@LaurentRDC thank you for the offer, I really appreciate this, and I think everyone using this project does so, too! I am currently traveling and will add you as a maintainer when I’m at my computer. Feel free to contact me anytime when you have any questions, and also happy to discuss future direction of Hakyll if you want to!

@jaspervdj
Copy link
Owner

@seschwar As I was looking at the people who have write access, I have removed you since it's been a while since you touched Hakyll. This is just because there is some risk of software supply chain attacks in this day and age so I'd rather restrict access if you don't need it. Let me know if you are looking to contribute again at some point.

@slotThe
Copy link
Contributor

slotThe commented Oct 18, 2024

@Minoru thank you for keeping the lights on for so long!

While "co-maintainer" seems like a big hat to wear, I would gladly volunteer to help out here and there! (this is not completely altruistic, I do want to remove #1020 from my config, and have a few similarly small changes in the pipeline for "contribute this at some point" :))

@KovalevDima
Copy link

As a user of hakyll I just want to say thank you. Documentation of my project(which is a ClickHouse DBMS driver) fully built on top of hakyll and getting ready to be extended. I'm happy all the time using this awesome tool

@Minoru
Copy link
Collaborator Author

Minoru commented Oct 20, 2024

Thanks for the kind words everyone!

JFYI, I'll continue reacting to Stackage pings while Laurent is waiting for access to GitHub and Hackage. When that's done, me or him can update stackage/build-constraints.yaml so he gets the pings instead.

@jaspervdj
Copy link
Owner

@LaurentRDC You should have access to GitHub and Hackage now, ping me if it doesn't work! And thanks again!

@LaurentRDC
Copy link
Collaborator

As far as I'm concerned, everything has been set up on my end. I'm preparing a minor release with @slotThe's #1020 as well.

@iustin
Copy link
Contributor

iustin commented Oct 25, 2024

For what is worth, I'd be happy to donate some time to review things and help a bit. I still use Hakyll, and I'd rather spend more of my time than have it go out of Stackage or rot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants