cabal icon indicating copy to clipboard operation
cabal copied to clipboard

Community survey: Long-Term Support policy for cabal-install releases

Open Kleidukos opened this issue 1 year ago • 3 comments
trafficstars

The cabal development community is thinking about setting a Long-Term Support policy for cabal-install. In order to inform our decision, we want people to tell a bit about how they use the toolchain.

A point of definition:

  • "Old" cabal-install releases are the ones older than "recommended" on ghcup. Currently, ghcup recommends 3.10.3.0.

  • "Old" GHC versions are the ones that are more than 3 releases old:

    • GHC 9.10: new
    • GHC 9.8: not-so-new
    • GHC 9.6: reasonably stable
    • GHC 9.4 and older: old.
  • Are you interested in an LTS release of cabal-install?

    • For professionals: Would this be beneficial for adoption in your organisation?
  • Do users usually stick with a cabal-install release

  • Do users stick around with old versions of GHC and for how many years?

  • Are old cabal-install versions used with old and/or recent versions of GHC?

This survey is non-binding, and is part of a larger effort from the Cabal team to better know our user base. Please do not start conversations in this thread. The Haskell Discourse forum is more appropriate.

Kleidukos avatar May 16 '24 14:05 Kleidukos

Let me link to one of the tickets that sparked this discussion, in case the people involved don't state their practices and needs on the current one: https://github.com/haskell/cabal/pull/9591

Mikolaj avatar May 16 '24 14:05 Mikolaj

On "Do users stick around with old versions of GHC and for how many years?", you may be interested in this, which is the discussion on Stack's repository (with links to other places), in late 2023, when Stack was debating dropping support for GHC < 8.4 (GHC 8.2 is aged, on your scale):

  • https://github.com/commercialhaskell/stack/issues/6377

Also, when the State of Haskell Survey was available, it yielded statistics that helped:

  • https://github.com/commercialhaskell/stack/issues/6356#issuecomment-1839614563

If any push-back came, I expected it to come from 'industrial' users, but it actually came from what I understand to be an 'academic' perspective: there was a reference to a desire to continue to support software from POPL (Principles of Programming Languages symposium) and ICFP (International Conference on Functional Programming).

Previously, perhaps a year or two earlier, there had been a discussion on Slack about Stack's policy for support for GHC versions. At that time, I settled on 'seven years' - to accomodate a user who wanted to see GHC 7.10.3 supported. I think they came from an 'industrial' perspective - or perhaps, from the perspective of a library author who was making assumptions about what 'industry' wanted.

mpilgrem avatar May 16 '24 18:05 mpilgrem

I can share my experience:

  • Always keep Cabal and Stack at their latest recommended levels.
  • Forced to maintain old GHCs, because in the Haskell ecosystem it's more than likely that a package successfully built by GHC-x.y.z would (often because of its dependencies) fail to build under GHC-x.y.(z+1), even worse for GHC-x.(y+1).z.

So, my system has only Cabal-3.10.3.0 and Stack-2.15.5, but GHC - 8.4.4, 8.10.7, 9.0.2, 9.2.8, 9.4.8, 9.8.2, 9.10.1 (which still isn't supported by HLS).

mouse07410 avatar May 17 '24 14:05 mouse07410