[1] https://www.reddit.com/r/haskell/comments/4l3y9f/store_a_new...
I actually had to create this new account because I forgot my password and my old account (probably mgsloan) doesn't have an email address associated.
> All I said was that FP complete is setting a bad example by actively refusing to follow established community guidelines (PvP).
We do follow the important parts of the PvP. Personally, I consider the 3rd section of the PvP a failed experiment. It just doesn't work well, and the maintainer / hackage trustee overhead is too damn high. My theory is that the folks who are adamant about the PvP are either damn tenacious and dedicated (hvr, dcoutts, etc), or people who don't deal with projects with many dependencies and custom packages.
So, yes, we are willing to dump tradition when the tradition is nonsense. I think that Haskellers ought to understand this very well - tradition should be questioned - particularly when it is a major pain point.
When there is great value in doing so, we are questioning some traditions and doing our own thing. This attitude appears to be ruffling the feathers of the vocal minority.
The Cabal way of doing this--specifying version bounds--creates a big maintenance burden. And even then, it does not always work.
So yes, I would question the merits of having a solver that checks some version numbers that developers manually put in. That said, I lack the know-how or resources to come up with anything new, so I'm stuck using curation or a solver. Using someone else's curation winds up being much less work for me than using a solver, so that's what I do.
:-(
So basically, you value your time more than the time of us Hackage Trustees, who now have to fix the mess you're leaving behind on Hackage. That's like justifying littering because that's less work, since there's public services anyway which pick up the garbage you leave behind.
If you have the time to write software, package it up, write tests, package it up, and upload to Hackage, then is it really asked too much to go that extra mile and follow the PVP to not waste our time?
It would be quite simple to change Hackage so that any upload would require upper bounds restricted only to package versions that already exist. Why has no such change been made? If I were in your situation I would not be spending time on menial work when a simple program could prevent that work.
If such a change were made I would happily stop uploading to Hackage altogether. That no such change has been made suggests there is insufficient support for your position.
I have not wasted any trustee's time, as all my software works and I keep it working or mark it deprecated. That said, I do not want trustees to fix my stuff. I have no desire to waste anyone's time.
The only reason I upload to Hackage is to get stuff into Stackage. I would fully support a way to get stuff into Stackage that skips Hackage. I think it would reduce a lot of this friction. However I can understand why Stackage has no such method: Hackage allows no upper bounds. This suggests that people value a large unfragmented Hackage more than they value required upper bounds.
Of course I have no role in telling you how to spend your time, but if I were you I would stop fixing software that does not play by your preferred rules.
As soon as you upload stuff to Hackage, it enters the work-queue for Hackage Trustees. That's because the Hackage Trustees' mission is to make sure that Hackage remains in a healthy state. Which, by the way, wouldn't be needed in the first place, if everyone played voluntarily by what you call "your preferred rules", i.e. the PVP. Luckily, in many cases it's just an oversight, and in thoses cases people are actually grateful for the heads-up.
Consequently, the only way to keep Hackage Trustees from messing with your stuff is to refrain from uploading to Hackage.
> I would fully support a way to get stuff into Stackage that skips Hackage. I think it would reduce a lot of this friction.
That's actually an intriguing idea and to be honest I am surprised that Stackage hasn't implemented something to this end already. After all, Stackage curators keep busy fighting against overly strict version bounds, while Hackage trustees are busy fighting against inaccurately lax version bounds... this is quite yin-and-yang-esque ;-)
I don't mind if the Hackage Trustees mess with my stuff. It's released under a free license; anyone can do whatever she wants to it. But this is not work that I am foisting on anyone else. They are voluntarily doing it.
> Which, by the way, wouldn't be needed in the first place, if everyone played voluntarily by what you call "your preferred rules", i.e. the PVP.
If the Hackage Trustees think the PVP is so important, they should change Hackage so that uploads must conform to it.
Since non-PVP uploads are allowed despite the technical ease of banning them, this reflects the fact that the PVP purists do not have a consensus backing their view.
"This is bad in a way similar to how littering is bad, therefore it should be discouraged (and maybe banned) like littering is discouraged and banned." is a perfectly reasonable form of argument. "But it's not banned like littering is banned!" is not a good objection.
It is, of course, possible that it's not actually bad like littering is bad, or that other concerns genuinely override... but that doesn't make this particular objection appropriate.
This gets often suggested every time the version bounds topic comes up (to some degree, that's the direction backpack is going btw). But unfortunately this does not work:
Because what this argument ignores is that you get a similar problem you have with duck-typing on a different level: You assume that the same name & type-signature provides the same semantics. However, the types usually leave too much degree of freedom to provide a proper contract. And you have to find a way to encode that contract.
The best-bang-for-buck way we currently have to encode this contract is... well... the PVP! Version numbers announce the contract, while version bounds define which contract you rely on.
Unless we have a better way to solve this, there's no alternative to the PVP. Unfortunately, so far I have not heard any workable solution from PVP complainers. So that's that.
The trustee overhead is only too damn high if people start leaving off upper bounds more frequently. We're tweaking and adding features into `cabal-install` to encourage proper PVP bounds when uploading to Hackage.
On the other hand, Stack unfortunately undoes this by having harming defaults here.
So, to put this bluntly, by having bad defaults, Stack is actively contributing to overload Hackage Trustees.
> My theory is that the folks who are adamant about the PvP are either damn tenacious and dedicated (hvr, dcoutts, etc), or people who don't deal with projects with many dependencies and custom packages.
Well, that's a very bold theory...