Well, I can at least say that I did not suggest this. I think I’ve outlined many times that improving release quality consists of:
- better release coordination
- better communication with stakeholders
- sourcing opinions and providing pre-releases that can be widely tested
- improving the bus factor of GHC/tooling development
GHC developers in fact told me that slowing down releases will be more work for them.
What I wished for are higher quality releases and less of them. There may be arguments why less releases could improve release quality, but that also depends on many factors.
The main reason some of us wish for less releases is not so much the quality, but the toll it takes on tooling. The end user can simply ignore a couple of broken point releases (there are a lot in the 8.10 series).
From the outside these things (tooling) may not look like a lot of work. Or it may seem all this can be easily automated in some way. But that is not the case.
So, I guess we agree we want to improve release quality.
There are ways to solve this: Nightlies. These will only have rudimentary tooling support (e.g. no curated bindists, no prebuilt HLS binaries, etc.).
In an alternative fantasy world… this would have been communicated to the community earlier, because it was known to GHC developers that it’s a (non-trivial) breaking change. A couple of key people would have been enough to get the feedback “no no”. It did not have to get exposed to the entire “world” to figure out it wasn’t a good idea.
This is what I’ve tried to describe earlier in this thread: community management, involving of relevant stakeholders (during development and release), managing expectations, etc.
All of this takes time and effort of course, but that’s the cost you pay for improving release quality.
I’m worried there may even be less communication and more isolation with higher frequency, because you’ll get feedback anyway post release and can just go and revert.
Do we really need to expose the code to ALL users to get feedback? I don’t think so.
Nightlies are a great way to solve this balancing act of differing requirements.
So what’s the main problem with Nightlies? I guess it’s the fact that old code stops compiling with newer compilers all the time and people can’t reasonably test it on a real world project.
So we’re back to the stability and backwards compatibility discussion.