On Tue, Apr 8, 2014 at 7:13 PM, Gregory Collins <greg@gregorycollins.net> wrote:

On Tue, Apr 8, 2014 at 5:54 PM, Michael Snoyman <michael@snoyman.com> wrote:
I'm sure you can guess that I disagree with this statement. But I also find it absurd in the given context: the Haskell Platform package we're discussing right now (cgi) doesn't follow the PVP!

Another reason to get rid of it. Besides, it was grandfathered in when the platform was created, and several of the HP grandfathered libraries have (or had) fairly serious documentation or quality issues. Would "pretty" make the bar if it was nominated today?


Beyond just trying to force the rest of the world to adhere to the PVP, what actual reason is there to require Haskell Platform packages adhere to the PVP? I assume you're referring to the fact that tls doesn't include upper bounds on its dependencies, because it certainly *does* follow PVP's versioning guidelines on its own version number. But once a package is included in the platform, there's no opportunity for build failures since the platform will be locking down versions of all its dependencies.

So besides trying to find another means of enforcing PVP adherence on the rest of us, what value is there in this new requirement?

It's not a new requirement, it's been there since the beginning of the Haskell Platform project if you would take the time to read http://trac.haskell.org/haskell-platform/wiki/VersionNumbers.

I don't read it that way at all. The PVP has two components: how to number your own packages, and how to place bounds on dependencies. That document says nothing at all about version bounds; it's referring explicitly to version numbers. You're doing this entire discussion a huge disservice by talking in absolutes like "doesn't obey the PVP."

Furthermore, I asked you for concrete examples of how enforcing a PVP requirement on tls would help the Haskell Platform; you responded with a document. I'm not interested in having a legal battle here; I'm trying to make sure we're making good technical decisions. So is there a reason to enforce this requirement on HP packages?

And finally, I don't think any of the recent additions to the Haskell Platform complied with this requirement. So why is it that you're only raising this concern now? If we are simply going to selectively enforce a policy, then we have given veto power to people for packages they don't like, which is a bad community process.
 
I do realize you're on the other side of this issue, that you've chosen to violate this longstanding established policy, that you may have good reasons for this, and that (sadly) nobody has added technological measures to Hackage to prevent you from doing so.


You made similar comments the last time the PVP was discussed on the libraries@ list. I don't feel the need to repeat what I- as well as others- responded to you then, as it applies equally here.
 
However, I suspect the policy is not going to change anytime soon: I don't think your side of the issue has the votes, nor is there an attractive enough counter-proposal.


I've written up a proposal[1] in the past few weeks, and have been discussing it with various people in the community. I was going to hold off on posting it another week or so to allow for some more private discussion of the finer points, but this thread made me realize that the "counter-proposal" needed to be brought to light already.

I'm going to start a separate thread for discussion of the proposal, as this thread is the wrong place for it.

Michael

[1] http://www.yesodweb.com/blog/2014/04/proposal-changes-pvp