Stackage Handover Complete

Is the HF board going to make Stackage related decisions, or will the HF limit itself to paying hosting fees and server admin costs (i.e. your paycheck)?

For example, one could imagine the interval between LTS releases to be determined through HF tech proposals. I imagine that repo currently doesn’t cover Stackage, but its README doesn’t make that clear.

I am asking because I remember a discussion on when LTS-22 would be released. It’s a fairly foundational question and the comments by @andreasabel seem to suggest that there was a change in policy. Is the documentation of this something the HF has any plans to contribute to in any way, or would that somehow be considered too intrusive?

There are stable releases in the world of GHC release management, and then there is stability according to Stackage. If HF’s goal is to increase professional use of Haskell, one could argue that systematizing the stability label would be desirable. But I also imagine that it might be politically fraught somehow. In that case, would it make sense to have a tech-proposal that states what the HF doesn’t have opinions on?

I suppose HF doesn’t have the budget to sponsor curators. Is there an official HF policy on which parts of Stackage are paid for, and which parts the community is required to contribute?

1 Like

Traditionally the HF tries to avoid dictating how things should be run, and so our default is to ensure community control. The tech proposal process is definitely one way we could get feedback, but it’s not really a mechanism for community control as much as it’s a formal mechanism for community input.

Nothing about how Stackage curation is managed has been changed by this handover. Bryan is willing and able to take on any possible changes, but that would need to go through our standard community processes.


Thank you FP Complete for Stack/age. It helped ease my entry into the Haskell world.


Further on what jmct said, my understanding is that HF is taking over just the technical administration of the servers and such. The curators remain an independent group with their own mechanisms for managing themselves and their policies. That said, they are among the many different independent groups who have enacted a formal affiliation with the Haskell Foundation: Affiliates

1 Like

Not sure where to mention this, but I saw on the Affiliates list… and the SSL certificate is borked. I don’t know what that site is supposed to be, or which project it is for, so I don’t know where to mention this. Does anyone know?

When in doubt, consult the Internet Archive:

  • this is what Haskell Love used to look like:

  • …and this is the most recent snapshot:

That would seem to explain the decrepitude of its SSL certificate.

I don’t know where to mention this. Does anyone know?

I’m not sure it can be reported to Haskell Love specifically (they operated some Haskell conferences but I think they’re out of business) but I reported it on the HF site GitHub:


@chreekat @jmct the footer at still says " A service provided by FP Complete". If the handover is complete, I’d expect it to give credit to HF.

1 Like

Is there a guide on how to host a stackage mirror?

Does stack even support mirrors @mpilgrem ?

I actually have a ton of followup tasks. :expressionless: I have merged some updates to the footers of and but haven’t deployed them yet. There are some other similar things that should change, like the PGP key used to sign commits for GitHub - commercialhaskell/all-cabal-metadata: Current metadata for all cabal files

@hasufell, another of my followup tasks is to actually document the architecture of Stackage. Figuring out how to run a mirror would be an interesting exercise. Offhand I can’t even remember if it’s Stackage that would need to be mirrored. I know Stack hits and the Haddocks bucket, at least. (The Haddocks bucket holds Refactoring the system to put that file somewhere else — maybe Casa?! — might make mirroring easier.)


Does Stack support a mirror of Stackage?

Almost everything in Stack is now configurable. In the case of the base location of LTS Haskell or Stackage nightly snapshots, the configuration key is snapshot-location-base: Configuration (project and global) - The Haskell Tool Stack. In the case of the URL where Stack looks for snapshot build plans, the key is urls: latest-snapshot: Configuration (project and global) - The Haskell Tool Stack.


And casa can be configured as well: Configuration (project and global) - The Haskell Tool Stack

(The default is still, but that responds with a 307 to The default should probably be changed.)

Your observation has flagged that Stack’s online documentation was out of date - which is now fixed. In short, pantry-0.9.2 changed the default Casa repository prefix to When Stack 2.13.1 adopted that version of pantry, the consequences for Stack’s documentation of the default were missed.

Ahh, good to know it was already changed in practice.

How does the new footer look? :eyes:

1 Like

It looks like this on mobile (Android, both Chrome and Firefox):


@chreekat I don’t see why HF should be so shy of its current and ongoing efforts, mentioned only as a passive acceptor of a donation. “A service provided by HF, originally created by FP Complete” seems a fair summary to me.


Thanks @tomsmeding , I noticed that too last night. I was in the midst of updating the text for exactly the reasons @bodigrim highlights. I’ll bang it into shape now.

To the esteemed collection of “naming things” and “cache invalidation”, I would add “wrangling CSS” among the hardest tasks in computer science. Looks better now though!


New version looks good!