Live data from Hacker News

Why I’m Leaving Elm

lukeplant.me.uk

301–310 of 450 posts

Re: Why I’m Leaving Elm

#301
post #285

Earlier quoted context omitted.

> But, as many others have pointed out, if one has to maintain a project over the years, the breaking changes in the language would have caused great bouts of teeth gnashing. This isn't just a problem for Elm but for front-end development in general. Not so much because of JavaScript the language, but because of the libraries and, to a much lesser extent, the browser APIs. In the library and framework space many take…

A fantastic example of this _not_ happening in js libraries though is Plotly.js. It's still on a 1.x release and has maintained backwards compatibility (for the most part) with the original API for _years_. Full disclosure, I used to work there (specifically, on plotly.js).

Another is KnockoutJS which went from 2 to 3 with minor changes and virtually nothing broke on 2.x -> 2.x+1 in all the time I used.

I'm kinda sad it (functionally) died out because they clearly valued and worked hard on that.

Re: Why I’m Leaving Elm

#303
This sort of thing is why I stopped open sourcing my work (I had several successful open source projects a decade ago). I realized that it was the responsibility of an open source maintainer to put the community first, but I was only interested in strictly pursuing my own interests. Neither side was wrong, I just realized I wasn't cut out to be a maintainer. Maybe Evan should also consider if he's cut out for the job.

Re: Why I’m Leaving Elm

#304
post #96

Earlier quoted context omitted.

> Why should unhappy Elm users do this instead of going to a language+environment that they don't have to fork to get something usable for them? Of course they can do that, but then they are not Elm users, which makes them off-topic to the question of what Elm users should do to move forward as Elm users. > requires a lot less energy and commitment. We don't actually know that for sure without looking at the size of…

> > Why should unhappy Elm users do this instead of going to a language+environment that they don't have to fork to get something usable for them? > Of course they can do that, but then they are not Elm users, which makes them off-topic to the question of what Elm users should do to move forward as Elm users. The topic was someone saying in detail, "Here is why I have chosen not to be an Elm user, and why you shouldn…

> The topic was someone saying in detail, "Here is why I have chosen not to be an Elm user, and why you shouldn't be either."

When someone is saying divisive things, I think it's important to be clear and precise about what they're actually saying. Some of the burden rests on themselves, and some of it rests on the commentators.

And so I think it's important to note here, that I don't think he said the "you shouldn't either" bit. He specifically denies saying it:

> I should also note “Your Mileage May Vary” etc. It would be entirely possible to use Elm and find it adequate for your needs, and therefore never bump into the things I hit very quickly.

Re: Why I’m Leaving Elm

#305
post #43

Earlier quoted context omitted.

This kind of leadership gave us Go. It's not necessarily bad. If everyone gets their way with the language specs, then all languages will look like a weird dialect of C++ :)

I read the post and I don't see the same behaviour in the Go community (the core team banning people who express disagreement or fork the compiler).

There are a ton of Go features that have been asked for by the community that have taken years to get mainlined. I think the most common examples are generics and package management. The authors of the language tended, at points, to be at odds with the desires of many in the community.

Re: Why I’m Leaving Elm

#306
post #215
post #87

Earlier quoted context omitted.

If you're using/contributing to a open source project that is famous for it's non-community development and BDFL leadership style, it should come as no surprise when that continues. That's pretty much the central thesis of the article. With detail and examples on exactly what the leadership problem is and why it causes challenges for users. The call for "If you're not happy you should fork the code" comes because thi…

> the leadership problem It's only a problem for the ones who misunderstand the model. It's not a problem, it's by design. It's explicitly setup so that Evan has the final say in everything. > What I mean by "work" is that it leads to successful projects. By a variety of metrics for success. I'm always interested in hearing what metrics people are using for "success", so do please list them so we can be on the same p…

>> the leadership problem

> It's only a problem for the ones who misunderstand the model. It's not a problem, it's by design. It's explicitly setup so that Evan has the final say in everything.

The fact that they intended to do a stupid thing does not stop it from being a stupid thing.

The core development team of Elm is an echo chamber of smart people who only listen to each other. When they are working on problems in their area of shared expertise, they should be very effective. But when they step out of their shared expertise they are predictably both ineffective and have no way to discover their mistake.

In this case they know little about i18n and therefore are unable to take feedback from people who know how it works. And there is no way to get them to see their mistake. These faults, left unchecked, will undo all that they hope to accomplish.

> > What I mean by "work" is that it leads to successful projects. By a variety of metrics for success.

> I'm always interested in hearing what metrics people are using for "success", so do please list them so we can be on the same page.

That is a fair question. For me success means, "I can use this to solve my problem, and be able to trust that this is something that will be maintainable in the future."

There are different routes to being maintainable. The smaller it is and closer to my own expertise, the more I can be confident that I can maintain it myself. If it is complex and far from my expertise, I won't.

Maintaining a language someone else built is not exactly the kind of thing I want to do in maintenance. (This is from experience, not ignorance. At my last $job I did exactly that with an internal language. And that language was much less ambitious than Elm.)

> > You have it exactly backwards.

> The author is the one using "Open Source" in their article, not "open communities" or "open governance". I understand it can be confusing, but let's not change the meaning of already existing terms.

You are seriously going to let a quibble about terminology prevent you from understanding what the author clearly meant??

Now that you know what I think that the author meant, go back and re-read it to see if you think I am right. If I am, you can see that what I am talking about is on topic.

But since you want to open up the terminology issue, Open Source BEGAN as a marketing term for a particular software development philosophy BEFORE there was a settled definition for what open source software meant. To this point, one of the founding inspirations was http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral.... Furthermore the practices for how Elm is being developed are exactly against that philosophy. (ESR is an idiot in other ways, but that is a discussion for another time.)

That this started as a philosophy and not a mere licensing term is obvious in things like the free software community's response to the phrase. If you want to dive down that rabbit hole, read https://www.gnu.org/philosophy/open-source-misses-the-point..... (Written by the person most directly criticized in ESR's essay. Ironically, also the person who probably did the most to create the foundation that open source built upon.)

So you learned something today. You learned that, from its very inception, there has always been a lot more to the phrase "open source" than just a licensing definition.

Re: Why I’m Leaving Elm

#307
post #304
post #96

Earlier quoted context omitted.

> > Why should unhappy Elm users do this instead of going to a language+environment that they don't have to fork to get something usable for them? > Of course they can do that, but then they are not Elm users, which makes them off-topic to the question of what Elm users should do to move forward as Elm users. The topic was someone saying in detail, "Here is why I have chosen not to be an Elm user, and why you shouldn…

> The topic was someone saying in detail, "Here is why I have chosen not to be an Elm user, and why you shouldn't be either." When someone is saying divisive things, I think it's important to be clear and precise about what they're actually saying. Some of the burden rests on themselves, and some of it rests on the commentators. And so I think it's important to note here, that I don't think he said the "you shouldn't…

Thank you for the correction.

What he actually said was, "I definitely cannot recommend it to anyone else." Which is fairly translated as, "You probably shouldn't either."

But he explicitly didn't say that it was inappropriate for anyone.

Re: Why I’m Leaving Elm

#308
post #243

Earlier quoted context omitted.

> Why should unhappy Elm users do this instead of going to a language+environment that they don't have to fork to get something usable for them? Of course they can do that, but then they are not Elm users, which makes them off-topic to the question of what Elm users should do to move forward as Elm users. > requires a lot less energy and commitment. We don't actually know that for sure without looking at the size of…

It still makes them not practising elm users. Who have a voice and a say within the community.

Apparently practicing Elm users don't have a voice and say within the community either. That's kind of the whole problem.

Re: Why I’m Leaving Elm

#309

Earlier quoted context omitted.

> That came over to me as "you are obliged to do a lot more work that I want you to do, on your own time and personal cost, and to stop developing the project according to your own vision or you are a bad person". But he didn't ask for work to be done anywhere in the article? He asks that he not be prevented from writing code that the compiler supports, but which is arbitrarily limited to members of certain organizat…

> But he didn't ask for work to be done anywhere in the article? He asks that he not be prevented from writing code that the compiler supports, but which is arbitrarily limited to members of certain organizations. That's not asking for work. But that is asking for work! That's a great example of "why don't you just... $TRIVIAL" where $TRIVIAL = "turn off the restrictions", as if there is no consequent problem for the…

> But that is asking for work!

> That's a great example of "why don't you just... $TRIVIAL" where $TRIVIAL = "turn off the restrictions"

...they put work into creating those restrictions in the first instance, they didn't have to, they chose to, without seeing what it would break for end users.

Re: Why I’m Leaving Elm

#310

Original author of the elm-firebase ( https://github.com/pairshaped/elm-firebase ) here. While I think Elm certainly has some rough patches in both their aggressively PC community and the immaturity of the language (still many breaking changes, not 1.x, etc.), it's not that awful. I was told that elm-firebase was basically a waste, and don't use native modules, so I stopped development. I didn't need to make a big st…

I didn't have an experience of this post being dramatic - perhaps you can let us know what you mean with this word as it does seem to be evocative, based on the responses to your comment?

I read this as a thorough recounting of the author's experience, much of which was characterized by a variety of challenges. I suppose that can be construed as having a "dramatic" element.

Post reply on HN