On Wed, Feb 26, 2014 at 6:21 PM, MightyByte <mightybyte@gmail.com> wrote:
On Wed, Feb 26, 2014 at 4:56 AM, Michael Snoyman <michael@snoyman.com> wrote:
I suspect that the root cause for you holding tihs position is that you happen
to be operating in a relatively self-contained corner of the package space and
don't often depend on fast-moving packages that aren't under your control.

Choosing this point in the thread to respond to a few points, for no particular reason.

I'm willing to reconsider my stance on the PVP, and a lot of the feedback here is making me rethink some decisions. Let me take a different stab at the problem.

I think the main problem with PVP right now is one of *scope*. I see it as trying to address two different issues:

1. Make sure that any code that anyone ever wrote will continue to build in the future.
2. Provide guidelines to package authors to make sure that `cabal install foo` works reliably, regardless of what's happened on the rest of Hackage.

It's (1) that I take huge issue with, because (as I've been trying to demonstrate) I don't see any way that a policy like PVP could ever fully solve this problem. And more to the point: I think "my code builds" isn't the goal that we should be striving for anyway, it's the goal of reproducible builds. I simply don't think it's worthwhile to push this burden onto package maintainers, as the only realistic solution is dependency freezing, which does in fact fully solve the problem.

But the feedback I'm reading on (2) is making me reconsider my stance. I have to say though, as much as people in this thread are saying the PVP will solve these problems, I'm highly skeptical, since Yesod *did* in fact follow the PVP very strictly for years, and the result was people complaining about broken builds on a regular basis. It's entirely possible though that this was the fault of cabal-install's older dependency solver, and if Yesod switched over to the PVP now, things would be better.

I still have some concerns about the PVP's stance on a few issues, namely:

1. The upper bounds on non-upgradable packages, which I've raised elsewhere in this thread.
2. The lack of flexibility in interpretation. I think there's a qualitative difference between depending on the text package by simply importing Data.Text (Text), versus using some experimental features of a version 0.1 library.

So I suppose if those points were addressed, a lot of my PVP skepticism would disappear, and I'd be more inclined to coming back into the fold, so to say.

My question is: am I alone in thinking these are in fact issues with the PVP? Is anyone else willing to embark on a more significant overhaul of the policy?

Michael