{"action":"created","issue":{"url":"https://api.github.com/repos/haskell-infra/hl/issues/130","labels_url":"https://api.github.com/repos/haskell-infra/hl/issues/130/labels{/name}","comments_url":"https://api.github.com/repos/haskell-infra/hl/issues/130/comments","events_url":"https://api.github.com/repos/haskell-infra/hl/issues/130/events","html_url":"https://github.com/haskell-infra/hl/pull/130","id":104651684,"number":130,"title":"Make stack the primary download method on the Downloads page","user":{"login":"snoyberg","id":49415,"avatar_url":"https://avatars.githubusercontent.com/u/49415?v=3","gravatar_id":"","url":"https://api.github.com/users/snoyberg","html_url":"https://github.com/snoyberg","followers_url":"https://api.github.com/users/snoyberg/followers","following_url":"https://api.github.com/users/snoyberg/following{/other_user}","gists_url":"https://api.github.com/users/snoyberg/gists{/gist_id}","starred_url":"https://api.github.com/users/snoyberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snoyberg/subscriptions","organizations_url":"https://api.github.com/users/snoyberg/orgs","repos_url":"https://api.github.com/users/snoyberg/repos","events_url":"https://api.github.com/users/snoyberg/events{/privacy}","received_events_url":"https://api.github.com/users/snoyberg/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":32,"created_at":"2015-09-03T09:05:14Z","updated_at":"2015-09-07T02:33:38Z","closed_at":"2015-09-03T09:10:19Z","pull_request":{"url":"https://api.github.com/repos/haskell-infra/hl/pulls/130","html_url":"https://github.com/haskell-infra/hl/pull/130","diff_url":"https://github.com/haskell-infra/hl/pull/130.diff","patch_url":"https://github.com/haskell-infra/hl/pull/130.patch"},"body":"This pull request makes the primary download information on haskell.org refer\r\nto stack. Motivations:\r\n\r\n* In its current form, most Haskell tutorials online warn users away from using the Haskell Platform, due to issues with the global package database containing too many packages.\r\n* Linux distribution packages contain out-of-date GHC versions which cause trouble more often than not.\r\n* stack's curation-by-default is absolutely the right thing for new users, and this downloads page *must* cater to new users.\r\n* There is no official (or perhaps even unofficial) guide to using cabal the right way, and the default behavior drops users into dependency hell too often. Again: we need to cater to new users, and telling them \"download this tool, but then use an undocumented workflow to make it work\" is not appropriate.\r\n\r\nIf in the future these facts change (Haskell Platform ships without additional\r\nglobal pacakges, cabal has a more user-friendly default-settings story, etc),\r\nwe should revisit, but for now, stack is the best option.\r\n\r\nI'm hoping that the discussion on this pull request avoids the standard\r\nrhetorical (and false) arguments about \"standard tooling\" and \"community\r\ntooling.\" As to the best critique I know of stack: yes, stack is relatively\r\nyoung tooling. Nonetheless, in its current state, new users experience less\r\nproblems with it than any other configuration I'm aware of.\r\n\r\nAll points raised above have plenty of sources online to back them up, but I\r\nthink everyone reading this is aware of those, so it's not worthwhile to\r\noverload this already long description with lots of sources to read."},"comment":{"url":"https://api.github.com/repos/haskell-infra/hl/issues/comments/138162117","html_url":"https://github.com/haskell-infra/hl/pull/130#issuecomment-138162117","issue_url":"https://api.github.com/repos/haskell-infra/hl/issues/130","id":138162117,"user":{"login":"snoyberg","id":49415,"avatar_url":"https://avatars.githubusercontent.com/u/49415?v=3","gravatar_id":"","url":"https://api.github.com/users/snoyberg","html_url":"https://github.com/snoyberg","followers_url":"https://api.github.com/users/snoyberg/followers","following_url":"https://api.github.com/users/snoyberg/following{/other_user}","gists_url":"https://api.github.com/users/snoyberg/gists{/gist_id}","starred_url":"https://api.github.com/users/snoyberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snoyberg/subscriptions","organizations_url":"https://api.github.com/users/snoyberg/orgs","repos_url":"https://api.github.com/users/snoyberg/repos","events_url":"https://api.github.com/users/snoyberg/events{/privacy}","received_events_url":"https://api.github.com/users/snoyberg/received_events","type":"User","site_admin":false},"created_at":"2015-09-07T02:33:38Z","updated_at":"2015-09-07T02:33:38Z","body":"To tie this together with your question in our side thread, let me explain why I have no voice at what goes on:\r\n\r\n* You have made the unilateral decision that the Haskell Platform will be the preferred download method on the downloads page. This is a change you instituted just two months ago, long after it was known that many people had major issues with the current structure of the platform (in my case, due to the inclusion of global packages, which causes users dependency resolution issues).\r\n* You have the authority to make this decision because the haskell.org committee gave you that authority. That committee also happens to be chaired by you, and has a secret member selection process.\r\n* When I sent a pull request to provide improvements, there was no discussion of whether the PR was an improvement, but instead the PR was closed immediately, based on grounds of \"previous discussions, which you weren't invited to, can't participate in, and can't even read a transcript of, because committee.\"\r\n* To work within this framework, I've tried to work with Mark (and more recently with you) to define what an improved Haskell Platform would contain, despite the fact that I have no reason at all to care about the HP. My only interest is that it's being hoisted upon new users by your decision above.\r\n* I've volunteered to fix the MSYS issues on Windows, and try and recruit a team around Mac OS X. Again: all for a project that is unimportant to me.\r\n* My one condition on all of this is that the global package database issue- the thing I've been complaining about loudly since we all started talking about this at ICFP *last year*- be resolved. There seem to be three ways to resolve it: (1) simply stop shipping those packages, (2) implement some advanced functionality in cabal that _will_ solve it, and (3) implement some new (possibly complicated) functionality in Hackage, that I'm not convinced at all will solve it.\r\n* Of those three options, the only one I can influence at all is (1). I know for a fact I have no sway over (2) and (3), because every effort I've made to improve those projects has been blocked (again, see GPS Haskell discussions last year).\r\n\r\nSo why I have no voice: four projects (Haskell Platform, haskell.org, cabal, and Hackage) that are all beyond any kind of control or influence of mine have created an interdependent web that prevents me from getting the one thing out of this that I care about: giving users a good experience.\r\n\r\nI've put so much effort into fixing these problems over the years, from following PVP religiously (yes, I did that), to yesod-platform, to Stackage, to LTS Haskell, the various incarnations of stackage.org to work with cabal-install, and finally now with stack. We finally have a tool that really does solve the user problems that I have seen stop people from using Haskell for years. And you're blocking it and insisting that removing global packages will be a regression.\r\n\r\nSo yeah: I have no voice in what goes on here."}}