diff --git a/posts.yaml b/posts.yaml index c41e3ad..0f4fc69 100644 --- a/posts.yaml +++ b/posts.yaml @@ -70,9 +70,6 @@ - file: posts/new-conduit-tutorial.md title: New Conduit Tutorial day: 2016-10-13 -- file: posts/respect.md - title: Respect - day: 2016-09-29 - file: posts/proposed-conduit-reskin.md title: Proposed conduit reskin day: 2016-09-23 diff --git a/posts/follow-up-haskell-org-evil-cabal.md b/posts/follow-up-haskell-org-evil-cabal.md deleted file mode 100644 index dece5cd..0000000 --- a/posts/follow-up-haskell-org-evil-cabal.md +++ /dev/null @@ -1,131 +0,0 @@ -Yesterday I -[put out a blog post](http://www.snoyman.com/blog/2016/08/haskell-org-evil-cabal) -describing a very problematic situation with the haskell.org -committee. As often happens with this kind of thing, a -[very lively discussion occurred on Reddit](https://www.reddit.com/r/haskell/comments/4zzmoa/haskellorg_and_the_evil_cabal/). There -are many repeating themes over there, so instead of trying to address -the points in that discussion, I'm going to give some responses in -this post. - -* Firstly: thank you to those of you who subscribed to the - haskell-community list and made your voices heard. That was the - best response to the blog post I could have hoped for, and it - happened. At this point, the - [Twitter poll](https://twitter.com/snoyberg/status/769732460879962112) - and mailing list discussion both point to a desire to have Stack - as the primary option on the downloads page (the latter is a tied - vote of 6 to 6, indicating the change proposed should not - happen). As far as I'm concerned, the committee has two options: - - * Listen to the voices of the community and make Stack the primary - option on haskell.org. - - * Ignore the community voices and put the Haskell Platform at the - top of the page, thus confirming my claims of an oligarchy. - -* Clarification: I do not believe anyone involved in this is an evil - person. I thought my wording was unambiguous, but apparently - not. The collusion among the projects is what gets the term "Evil - Cabal." That said, I _do_ believe that there were bad actions - taken by individuals involved, and I've called some of those - out. There's a much longer backstory here of the nepotism I refer - to, starting at least at ICFP 2014 and GPS Haskell, but that's a - story I'm not getting into right now. - -* A few people who - [_should_ know better](https://twitter.com/snoyberg/status/770085132493545476) - claimed that there's no reason for my complaint given that the - Haskell Platform now ships with Stack. This is incorrect for - multiple reasons. Firstly, one of my complaints in the blog post - is that _we've never discussed technical merits_, so such a claim - should be seen as absurd immediately. There's a - [great Reddit comment](https://www.reddit.com/r/haskell/comments/4zzmoa/haskellorg_and_the_evil_cabal/d70pffl) - explaining that this inclusion is just misdirection. In any event, - here are just - [140 characters worth of reasons the Haskell Platform is inferior to Stack for a new user](https://twitter.com/snoyberg/status/770092223748837378) - - * There is no clear "getting started" guide for new users. Giving - someone a download is only half the battle. If they don't know - where to go next, the download it useless. (Compare with - [haskell-lang's getting started](https://haskell-lang.org/get-started).) - - * Choice confusion: saying "HP vs Stack" is actually - misleading. The real question is "HP+cabal-install vs HP+Stack - vs Stack". A new user is not in a strong enough position to make - this decision. - - * Stack will select the appropriate version of GHC to be used - based on the project the user is working on. Bundling GHC with - Stack insists on a specific GHC version. (I'm not arguing that - there's no benefit to including GHC in the installer, but there - are definitely downsides too.) - - * The HP release process has historically been very slow, whereas - the Stack release process is a well oiled machine. I have major - concerns about users being stuck with out-of-date Stack - executables by using the HP and running into already fixed - bugs. This isn't hypothetical: GHC for Mac OS X shipped an old - Stack version for a while resulting in many bug reports. (This - is an example of haskell.org download page decisions causing - extra work for the Stack team.) - - * Bonus point (not on Twitter): Stack on its own is very well - tested. We have little experience in the wild of HP+Stack. Just - assuming it will work is scary, and goes against the history of - buggy Haskell Platform releases. - -* A lot of the discussion seemed to assume I was saying to get rid - of cabal-install entirely. In fact, my blog post said the exact - opposite: let it continue if people want to work on it. I'm - talking exclusively about the story we tell to new users. Again, - technical discussions should have occurred long ago about what's - the best course of action. I'm claiming that Stack is by far the - best option for the vast majority of new users. The committee has - never to my knowledge argued publicly against that. - -* There was a lot of "tone policing," saying things like I need to - have more patience, work with not against the committee, follow - the principle of charity, etc. If this is the first time I raised - these issues, you'd be right. Unfortunately, there is a long - history here of many years of wasted time and effort. The reason I - always link back to - [pull request #130](https://github.com/haskell-infra/hl/pull/130) - is because it represents the tipping point from "work with the - committee without making a fuss" to "I need to make all of these - decisions as public as possible so bad decisions don't slip in." - - Let me ask you all: if I had just responded to the mailing list - thread asking for a different course of action to be taken, would - most of you know that this drama was happening? This needed to be - public, so that no more massive changes could - [slip under everyone's radar](https://github.com/haskell-infra/hl/pull/122). - - Also: it's ironic to see people accusing me of violating the - principle of charity by reading my words in the most negative way - they possibly can. That's true irony, - [not just misrepresenting someone's position](https://www.reddit.com/r/haskell/comments/4zzmoa/haskellorg_and_the_evil_cabal/d70bysm). - -* For a long time, people have attacked FP Complete every chance - they could, presumably because attacking a company is easier than - attacking an individual. There is no "FP Complete" conspiracy - going on here. I decided to write this blog post on my own, not - part of any FP Complete strategy. I discussed it with others, most - of whom do _not_ work for FP Complete. In fact, most of the - discussion happened - [publicly, on Twitter](https://twitter.com/snoyberg/status/769732460879962112), - for you all to see. - - If you want to attack someone, attack me. Be intellectually - honest. And while you're at it: try to actually attack the - arguments made instead of resorting to silly ad hominems about - power grabs. Such tin-foil hattery is unbecoming. - -* There's a legitimate discussion about how we get feedback from - multiple forms of communication (mailing lists, Twitter, - Reddit). While that's a great question to ask and a conversation - to have, it really misses the point here completely: we're looking - for a very simple vote on three options. We can trivially put up a - Google Form or similar and link to it from all media. We did this - just fine with the FTP debate. It feels _almost_ disingenuous to - claim that we don't know how to deal with this problem when we've - already dealt with it in the past. diff --git a/posts/haskell-org-evil-cabal.md b/posts/haskell-org-evil-cabal.md deleted file mode 100644 index 10d9349..0000000 --- a/posts/haskell-org-evil-cabal.md +++ /dev/null @@ -1,234 +0,0 @@ -There's no point being coy or saying anything but what I actually -believe, and saying it bluntly. So here it is: - -> The haskell.org committee has consistently engaged in tactics which -> silence the voices of all non-members, and stacks the committee to -> prevent dissenting opinions from joining. - -I've said various parts of this previously. You may have heard me say -things like the haskell.org oligarchy, refer to the "evil cabal of -Haskell" (referring to the nepotism which exists amongst Hackage, -cabal-install, haskell.org, and the Haskell Platform), or engage in -lengthy debates with committee members about their actions. - -_This is a pretty long post, if you want to see my request, please -[jump to the end](#my-request)._ - -## The backstory - -To summarize a quick backstory: many of us in the community have been -dissatisfied with the four members of the "evil cabal" for years, and -have made efforts to improve them, only to be met with opposition. One -by one, some of us have been replacing these components with -alternatives. Hackage's downtime led to an -[FP Complete mirror](https://www.fpcomplete.com/blog/2015/03/hackage-mirror) -and more reliable doc hosting on -[stackage.org](https://www.stackage.org). cabal-install's weaknesses -led to the creation of -[the Stack build tool](https://haskellstack.org). Haskell Platform's -poor curation process and broken installer led to Stackage Nightly and -LTS Haskell, as well some of the Stack featureset. And most recently, -the haskell.org committee's poor decisions (as I'll demonstrate -shortly) for website content led to resurrecting -[haskell-lang.org](https://haskell-lang.org/), a website devoted to -actually making Haskell a more approachable language. - -As you can see, at this point all four members of the evil cabal have -been replaced with better options, and community discussions and user -statistics indicate that most users are switching over. (For an -example of statistics, have a look at the -[package download count on Hackage](http://hackage.haskell.org/packages/top), -indicating that the vast majority of users are no longer downloading -packages via cabal-install+Hackage.) I frankly have no problem at all -with the continued existence and usage of these four projects; if -people want to spend their time on them and use what I consider to be -inferior tools, let them. The only remaining pain point is that new, -unsuspecting users will arrive at -[haskell.org download page](https://www.haskell.org/downloads) instead -of the much more intuitive -[haskell-lang.org get started page](https://haskell-lang.org/get-started). - -__EDIT__ Ignore that bit about the download statistics, it's apparently due to -the CDN usage on Hackage. Instead, one need only look at how often a question -about Haskell Platform is answered with "don't do that, use Stack instead." For -a great example, see the discussion of [the Rust -Platform](https://www.reddit.com/r/haskell/comments/4uxgbl/the_rust_platform/). - -## The newest attempt - -Alright, with that out of the way, why am I writing this blog post -now? It's due to -[this post on the Haskell-community mailing list](https://mail.haskell.org/pipermail/haskell-community/2016-August/000118.html), -proposing promoting the Haskell Platform above all other options (yet -again). Never heard of that mailing list? That's not particularly -surprising. That mailing list was created in response to a series of -complaints by me, claiming that the haskell.org committee acted in a -secretive way and ignored all community input. The response to this -was, instead of listening to the many community discussions already -occuring on Twitter and Reddit, to create a brand new mailing list, -have an echo chamber of people sympathetic to Evil Cabal thought, and -insist that "real" community discussions go on there. - -We're seeing this process work exactly as the committee wants. Let me -demonstrate clearly how. At the time of writing this blog post, three -people have voted in favor of promoting the HP on haskell-community, -including two haskell.org committee members (Adam Foltzer and John -Wiegley) and the person who originally proposed it, Jason Dagit. There -were two objections: Chris Allen and myself. So with a sample size of -5, we see that 60% of the community wants the HP. - -## The lie - -A few hours after this mailing list post, I put out a -[poll on Twitter](https://twitter.com/snoyberg/status/769732460879962112). At -time of writing (4 hours or so into the poll), we have 122 votes, with -85% in favor of Stack, and 15% in favor of some flavor of the Haskell -Platform (or, as we'll now be calling, the -[Perfect Haskell Platform](https://twitter.com/snoyberg/status/769752895482896384)). Before -anyone gets too excited: yes, a poll of my Twitter followers is -obviously a biased sample, but no more biased than the -haskell-community list. My real point is this: - -__The haskell.org committee is posing questions of significant -importance in echo chambers where they'll get the response they want -from a small group of people, instead of engaging the community -correctly on platforms that make participation easy.__ - -This isn't the first time this has happened. When we last discussed -haskell.org download page content, a similar phenonmonon -occurred. Magically, the haskell-community discussion had a bias in -favor of the Haskell Platform. In response, I created a Google Form, -and Stack was the clear victor: - - - -Yet despite this clear feedback, the committee went ahead with putting -minimal installers at the top, not Stack (they weren't quite brazen -enough to put the Perfect Haskell Platform at the top or even above -Stack, for which I _am_ grateful). - -## Proper behavior - -As I see it, the haskell.org committee has two correct options to -move forward with making the download page decision: - -* Accept the votes from my Twitter poll in addition to the haskell-community votes -* Decide that my poll is invalid for some reason, and do a proper poll - of the community, with proper advertisement on Reddit, Twitter, the - more popular mailing lists, etc - -If past behavior is any indication though, I predict a third outcome: -stating that the only valid form of feedback is on the -haskell-community mailing list, ignore the clear community groundswell -_against_ their decisions, and continue to make unilateral, oligarchic -decisions. Namely: promote the Haskell Platform, thereby misleading -all unfortunate new Haskellers who end up at haskell.org instead the -much better haskell-lang.org. - -## Further evidence - -Everyone's always asking me for more of the details on what's gone on -here, especially given how some people vilify my actions. I've never -felt comfortable putting that kind of content on blogs shared with -other authors when some of those others don't want me to call out the -negative actions. However, thankfully I now have my own blog to state -this from. This won't include every punch thrown in this long and -sordid saga, but hopefully will give a much better idea of what's -going on here. - -* Not only are conversations held in private by the committee, but: - - * Their private nature is used to shut down commentary on committee actions - * There is open deception about what was actually discussed in private - - Evidence: see - [this troubling Reddit thread](https://www.reddit.com/r/haskell/comments/4ruqbl/new_haskell_community_nexus_site_launched/d57xtbu). I - made the (very true) claim that Gershom made a unilateral decision - about the downloads page. You can see the evidence of this - [where he made that decision](https://github.com/haskell-infra/hl/pull/122). Adam - Foltzer tried to call my claim false, and ultimately - [Gershom himself confirmed I was correct](https://www.reddit.com/r/haskell/comments/4ruqbl/new_haskell_community_nexus_site_launched/d582jzk). Adam - then claimed offense at this whole discussion and backed out. - -* When I - [proposed making Stack the preferred download option](https://github.com/haskell-infra/hl/pull/130) - (at a time when Stack did not appear _at all_ on haskell.org), - Gershom summarilly closed the pull request. I have referenced this - pull request many times. I don't believe any well intentioned - person can read that long discussion and believe that the - haskell.org committee has a healthy process for maintaining a - community website. - -* At no point in any of these discussions has the committee opened - up discussion to either the technical advantages of the HP vs - Stack, or the relative popularity. Instead, we get discussions of - committee process, internal votes, an inability to make changes at - certain periods of time based on previously made and undocumented - decisions. - -* We often hear statements from committee members about the strong - support for their actions, or lack of controversy on an - issue. These claims are many times patently false to any objective - third party. For example, - [Gershom claimed](https://www.reddit.com/r/haskell/comments/4ruqbl/new_haskell_community_nexus_site_launched/d582jzk) - that the pull request #122 that he unilaterally decided to merge - was "thought to be entirely mundane and uncontroversial." Everyone - is welcome to - [read the Reddit discussion](https://www.reddit.com/r/haskell/comments/3b1yuk/haskellinfrastructure_fwd_new_haskell_platform/) - and decide if Gershom is giving a fair summary or not. - -* Chris Done - a coworker of mine - spent his own time on creating - the first haskell-lang.org, due to his unhappiness with - [the homepage at that time](https://wiki.haskell.org/Haskell). His - new site was met with much enthusiasm, and he was pressured by - many to get it onto haskell.org itself. What ensued was almost a - year of pain working out the details, having content changed to - match the evil cabal narrative, and eventually a rollout. At the - end of this, Chris was - without any given reason - not admitted - to the haskell.org committee, denying him access to share an - opinion on what should be on the site he designed and created. - -## My request - -Thank you for either getting through all of that, or skipping to this -final section. Here's my request: so many people have told me that -they feel disenfranchised by these false-flag "community" processes, -and just give up on speaking up. This allows the negative behavior -we've seen dominate the evil cabal in Haskell for so long. If you've -already moved on to Stack and Stackage yourself, you're mostly free of -this cabal. I'm asking you to think of the next generation of Haskell -users, and speak up. - -Most powerful course of action: subscribe to the -[haskell-community mailing list](https://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community) -and speak out about how the committee has handled the downloads -page. Don't just echo my message here: say what you believe. If you -think they've done a good job, then say so. If you think (like I do) -that they've done a bad job, and are misleading users with their -decisions, say that. - -Next best: comment about this on Reddit or Twitter. Get your voice out -there and be heard, even if it isn't in the haskell.org committee echo -chamber. - -In addition to that: expect me to put out more polls on Twitter and -possibly elsewhere. Please vote! We've let a select few make damaging -decisions for too long, make your voice heard. I'm confident that we -will have a more user-friendly Haskell experience if we actually start -listening to users. - -And finally: as long as it is being mismanaged, __steer people away -from haskell.org__. This is why we created haskell-lang.org. Link to -it, tell your friends about it, warn people away from haskell.org, and -maybe even -[help improve its content](http://github.com/haskell-lang/haskell-lang#contributing-content). - -* * * - -Archive link of the Reddit and Github threads quoted above: - -* http://archive.is/7zFkb -* http://archive.is/NTzUD -* http://archive.is/roexm -* http://archive.is/uwdzr -* http://archive.is/uduu5 diff --git a/posts/respect.md b/posts/respect.md deleted file mode 100644 index 40d717e..0000000 --- a/posts/respect.md +++ /dev/null @@ -1,31 +0,0 @@ -As I'm sure many people in the Haskell community have seen, Simon PJ -put out -[an email entitled "Respect"](https://mail.haskell.org/pipermail/haskell/2016-September/024995.html). If -you haven't read it yet, I think you should. As is usually the case, -Simon shows by example what we should strive for. - -I put out a -[Tweet](https://twitter.com/snoyberg/status/780255158898921473) -referring to -[a Gist](https://gist.github.com/snoyberg/1f70ed1754cac2e5f1f1bd268c2b279c) -I wrote two weeks back. At the time, I did not put the content on this -blog, as I didn't want to make a bad situation worse. However, -especially given Simon's comments, now seems like a good time to put -out this message in the same medium (this blog) that the original -inflammatory messaging came out in: - -> A few weeks back I wrote a blog post (and a second clarifying post) -> on what I called the Evil Cabal. There is no sense in repeating the -> content here, or even referencing it. The title is the main point. -> -> It was a mistake, and an offensive one, to use insulting terms like -> evil in that blog post. What I said is true: I have taken to using -> that term when discussing privately some of the situation that has -> occured. I now see that that was the original problem: while the -> term started as a joke and a pun, it set up a bad precedent for -> conversation. I should not have used it privately, and definitely -> should not have publicized it. -> -> To those active members in projects I maligned, I apologize. I -> should not have brought the discourse to that level. - diff --git a/posts/spreading-the-gospel-of-haskell.md b/posts/spreading-the-gospel-of-haskell.md index c4158ef..4aa54be 100644 --- a/posts/spreading-the-gospel-of-haskell.md +++ b/posts/spreading-the-gospel-of-haskell.md @@ -9,30 +9,10 @@ proposing a way to make things better, is a waste of 280 characters. So I'd like to expand on where I think we, the Haskell community, can do better. -To try and prevent the flamewars which I'm sure are about to start, -let me give some guidelines on __who shouldn't read this blog post__: - -* If you think that programming languages should succeed on purely - technical merits, and silly "marketing activities" like writing - newbie-oriented tutorials and making engaging screencasts is unfair - competition, you shouldn't read this blog post. -* If you think that broken dependency solving, Hackage downtime, - confusing cabal-install incantations, and problematic global package - databases in the Haskell Platform have had no ill effect on Haskell - adoption, you shouldn't read this blog post. -* If you think that new users who give up after 5 minutes of confusion - on a website weren't serious enough in the first place and we - shouldn't be sad that we lost them, you shouldn't read this blog - post. - -And most likely, you shouldn't post this to /r/haskell. That's not -going to end well. - ## Attacking Haskell's Flaws As the Twitter discussion yesterday pointed out, there are undoubtedly -flaws in Haskell. It may be __inflammatory__ to admit that publicly, -but so be it. Every language has flaws. Haskell is blessed to also +flaws in Haskell. Every language has flaws. Haskell is blessed to also have some of the greatest strengths in any programming language available today: beautiful concurrency, a powerful _and_ useful type system, a plethora of real-world libraries, and (as of recently)