News for hackers. Stuff that matters.
Re:Why I’m Leaving Elm by kazinator on Thursday April 09, 2020 @10:37AM (#22822938)
I don't agree with everything here. Open source really does mean that you just have all the code to rebuild the thing from scratch under the right sort of license. Open source doesn't mean anything else, like having access to design decisions.

Interaction style and personalities are also not part of the definition of open source; open source doesn't mean nobody is brusque or abrasive. Some communities have additional codes of conduct and social contracts and what not for that sort of thing.

Here is a balanced viewpoint from the GNU Awk and Bash maintainers:

http://www.skeeve.com/fork-my-code.html

Elm users who are not happy should fork the code --- everything, including the ecosystem's dependencies on an ELM internet domain --- and maybe produce something that is completely self-contained. Software that relies on "phoning home" is a risk regardless of where that is hosted and whether the people are nasty or nice.

If the Elm core developers don't like it and kick people out of their project for forking, you just have to bite the bullet on that.

(From the description of what that project is like, why would you care about being kicked out. Kicked out or not, your 20 line bugfix still isn't getting looked at for another two years.)

Re:Why I’m Leaving Elm by btilly on Thursday April 09, 2020 @12:18PM (#22824013)
I don't agree with everything here. Open source really does mean that you just have all the code to rebuild the thing from scratch under the right sort of license. Open source doesn't mean anything else, like having access to design decisions.

That is acknowledged in the article. But the fact is that you can BE open source without doing the things that make open source WORK.

[...] Elm users who are not happy should fork the code --- everything, including the ecosystem's dependencies on an ELM internet domain --- and maybe produce something that is completely self-contained. Software that relies on "phoning home" is a risk regardless of where that is hosted and whether the people are nasty or nice.

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?

Leaving, even leaving with a long essay like this one, requires a lot less energy and commitment. And being in an environment where you can benefit from the future work of others is part of what makes open source work.

Re:Why I’m Leaving Elm by diggan on Thursday April 09, 2020 @12:34PM (#22824278)
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.

The call for "If you're not happy you should fork the code" comes because this is a explicit expectation of the Elm core team and Evan.

What does "open source work" really mean? Open Source talks strictly about the licensing and distribution of the code itself, not the community and everything around. It feels like everyone are having two conversations at the same time. Open source as we currently know it, is just about the code. Open communities (or whatever you want to call it) is a separate discussion, and not needed to "make open source work" as you just have to license your code in a specific way to be open source.

Then we can discuss what makes open communities around open source code work, but I think that's a separate thread.

Re:Why I’m Leaving Elm by btilly on Thursday April 09, 2020 @12:52PM (#22824520)
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 this is a explicit expectation of the Elm core team and Evan.

And yet any attempt to do so is described by them as knifing Elm in the back.

What does "open source work" really mean? Open Source talks strictly about the licensing and distribution of the code itself, not the community and everything around.

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

It feels like everyone are having two conversations at the same time. Open source as we currently know it, is just about the code. Open communities (or whatever you want to call it) is a separate discussion, and not needed to "make open source work" as you just have to license your code in a specific way to be open source.

Then we can discuss what makes open communities around open source code work, but I think that's a separate thread.

You have it exactly backwards.

You are right that "what is open source" is a different discussion from "what makes open communities around open source work". But this is the appropriate place for the second conversation. And more specifically for discussion of what it is that the Elm leadership is doing that leads to failure, and what it is that users should or shouldn't do given that Elm is being so badly lead.

Re:Why I’m Leaving Elm by diggan on Thursday April 09, 2020 @04:49PM (#22827027)
> 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 page.

> 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.

Re:Why I’m Leaving Elm by hitekker on Thursday April 09, 2020 @05:39PM (#22827486)
> And yet any attempt to do so is described by them as knifing Elm in the back.

Do you have an opinion on open source communities that threaten and seek vengeance against their own forks?

Re:Why I’m Leaving Elm by diggan on Thursday April 09, 2020 @05:57PM (#22827626)
No
Re:Why I’m Leaving Elm by btilly on Thursday April 09, 2020 @08:18PM (#22828644)
>> 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 by jlokier on Friday April 10, 2020 @09:43AM (#22832893)
> 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.

If you're going to bring up the origins of "Open Source", the above is NOT CORRECT.

It began as a marketing term for "Free Software" principles, as it was realised the FSF marketing wasn't convincing people in corporate environments.

From Wikipedia (I think this is accurate):

>> Netscape's act prompted Raymond and others to look into how to bring free software principles and benefits to the commercial-software industry. They concluded that FSF's social activism was not appealing to companies like Netscape, and looked for a way to rebrand the free software movement to emphasize the business potential of the sharing of source code.[35]

Not as a marketing term for Bazaar principles, despite ESR's involvement in both around the same time. Obviously the Bazaar paper added significant inspiration to the movement and to many projects, and informs some people's expectations around Open Source. But I have heard ESR talk about the origins of "Open Source" and it was quite clearly because "Free Software" wasn't getting the message across; the latter was too ethics focused for the corporates.

Btw, you can have Open Source without a Bazaar, and you can have Bazaar-style development without Open Source too (a lot of companies do so without giving it that name).

Re:Why I’m Leaving Elm by btilly on Friday April 10, 2020 @01:52PM (#22835452)
I'm describing how I experienced it as a young developer at the time. It was a weird combination.

Note in particular that a lot of people who jumped on the open source bandwagon were people who wrote some free software but did NOT want to only write free software. And there was a lot of messaging around social norms for how projects worked, why open source made sense, and how to do well by it.

Re:Why I’m Leaving Elm by kazinator on Thursday April 09, 2020 @12:30PM (#22824210)
> 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 someone's Elm code base.

Maybe some users also think that Elm is otherwise fantastic and want to stick with it.

For various reasons, changing tooling is not like changing what shampoo you use, except for some language-hopping butterflies who are experimenting with a new thing every week.

Re:Why I’m Leaving Elm by btilly on Thursday April 09, 2020 @01:02PM (#22824664)
> > 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't be either." Which means that the experience of people who are not committed to being Elm users is on topic.

> > requires a lot less energy and commitment.

> We don't actually know that for sure without looking at the size of someone's Elm code base.

Fair enough.

Of course in this case he says that he is walking away from an 8000 line project that can't upgrade to 0.19 because of the native code issue. So we know how much code he is talking about, and also know that a rewrite in a new language is simpler than trying to upgrade.

In this case maintaining a fork certainly exceeds the benefit of the project.

> Maybe some users also think that Elm is otherwise fantastic and want to stick with it.

I am sure that there are.

> For various reasons, changing tooling is not like changing what shampoo you use, except for some language-hopping butterflies who are experimenting with a new thing every week.

No, it is not.

However if you will have to make the change some day, then it is probably better to bite the bullet and accept the pain now rather than adding to it for a future date. And if the leadership problems described continues, it is clear that the Elm community is going to fall apart and any project in Elm will dead end.

Therefore if you are an established Elm user, you should be ready to accept that tooling change pain as a question of when, not if.

Re:Why I’m Leaving Elm by philh on Thursday April 09, 2020 @08:16PM (#22828627)
> 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 by btilly on Thursday April 09, 2020 @08:20PM (#22828657)
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 by kazinator on Friday April 10, 2020 @11:21AM (#22833908)
I agree with you. The obvious, implicit motivation behind an article like this is to help other users make the same decision. Denying it only constitutes a reinforcing acknowledgement. It's just a rhetorical device. If someone says "I don't mean to be rude, but you're an ass", they in fact mean to be rude.

A good chunk of everything you hear and read revolves around people trying to get others to be like them and do as they do, implicitly so. (Another good chunk is made up of people justifying, explaining and defending themselves.)

Re:Why I’m Leaving Elm by philh on Friday April 10, 2020 @12:35PM (#22834665)
> The obvious, implicit motivation behind an article like this is to help other users make the same decision.

This is not obvious to me. Why do you assume the motivation is "to help other users make the same decision" and not "to help other users make the decision that's right for them"? I promise you that some people have sometimes written with that motivation in mind. If any denial is taken as proof of guilt, how do you tell those people apart?

Re:Why I’m Leaving Elm by wolco on Thursday April 09, 2020 @05:32PM (#22827437)
It still makes them not practising elm users. Who have a voice and a say within the community.
Re:Why I’m Leaving Elm by btilly on Thursday April 09, 2020 @08:22PM (#22828672)
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 by pd-andy on Thursday April 09, 2020 @12:34PM (#22824284)
Because every single one of these posts is "I like Elm, I don't like Evan('s style of leadership)."

All of these leavers could've maintained that fabled community fork they want with the features they want if they all got together.

Re:Why I’m Leaving Elm by yawaramin on Friday April 10, 2020 @12:15AM (#22829926)
It doesn't actually make sense to fork Elm. There are pretty good general-purpose languages already which offer a superset of Elm's (the language) functionality. I think all of them already have Elm-like implementations available as libraries. In fact there's at least one migration tool that helps convert away from Elm: https://github.com/darklang/philip2

Choosing to hard-fork Elm and create lots of internet drama just doesn't make sense compared to moving to one of the above.

Re:Why I’m Leaving Elm by bsder on Thursday April 09, 2020 @05:36PM (#22827466)
And if it worked, they either A) split the userbase in half and make Elm LESS likely to be useful or B) get most of the userbase and make Elm totally irrelevant.

Forking a language isn't like forking a tool. Forking gcc doesn't make C any better or worse. Forking C (if you could) would make the C worse.

Re:Why I’m Leaving Elm by btilly on Thursday April 09, 2020 @01:03PM (#22824680)
True.

But "if they all got together" is waving away the difficulty of getting them all together, cooperating, and working together. Open source projects are a lot more difficult to run than you might expect.

Re:Why I’m Leaving Elm by yakshaving_jgt on Thursday April 09, 2020 @03:08PM (#22826051)
> Open source projects are a lot more difficult to run than you might expect.

Indeed. You pour thousands of hours of work into something and give it to the world for free, only to be met by “give us synchronous IO or we will throw our toys out of the pram!”

Re:Why I’m Leaving Elm by kazinator on Friday April 10, 2020 @03:35PM (#22836555)
That specific example would just be laughable. "I gave you awesome asynchronous I/O; just write the five lines of code around a semaphore if you want it synchronous."
Re:Why I’m Leaving Elm by StreamBright on Thursday April 09, 2020 @03:20PM (#22826188)
I am sure this moment is coming when somebody creates a fork and gets rid off the artificial hypocritical limitations imposed by the current core team.
Re:Why I’m Leaving Elm by diggan on Thursday April 09, 2020 @12:08PM (#22823885)
Agree. I'm gonna be honest and say I haven't finished the entire article so author might have elaborated further after, but I got a chill when reading the following passage:

> The second is that if you advertise something as Open Source, there is a common set of assumptions about what that means, some of which are explicit in accepted definitions of the term.

It seems the "common set of assumptions" is around that people can get involved and actually have impact on the direction of the project, but that's not at all included in the actual definition of open source. https://opensource.org/osd

And I'm starting to see this sentiment crop up more and more recently, where someone open sources something just to share the code, while people expect the maintainers/creators to fit their project to their worldview. I think this misconception is the source of many throwing a fit on GitHub in issues/PRs where the maintainers won't change something based on the user's views.

Open source is and should continue to be about that you are free to fork the code if you don't like the direction. Otherwise, assume nothing from others work they publish for you to use for free.

Edit: I continued reading and found bunch of more passages where the authors understanding of open source seems to be incorrect. Some examples:

> Bu I think this claim is increasingly hard to defend. For me, real Open Source goes beyond a LICENSE file.

> I’d like to see some kind of openness in the development process before I considered something to be Open Source

> It seems that Evan and the core team have forgotten that languages, especially Open Source ones, operate as platforms, and in these platforms contributions from other developers and reputation are critical.

> Fairness must be a central principle in any Open Source project

While I agree that these things are nice, they are in no way required to called a project Open Source. Open Source is strictly about the software that is under the license, not the community/company around it. The creator and maintainers are free to accept/deny any patches they feel like, and project should still be considered open source, as long as the _actual_ requirements of open source are followed.

Re:Why I’m Leaving Elm by palerdot on Thursday April 09, 2020 @01:00PM (#22824644)
> I continued reading and found bunch of more passages where the authors understanding of open source seems to be incorrect.

The author is one of the "core team" members of Django[0]. So, it is safe to say that whatever assumptions he has about open source is not a fantasy and cannot be compared line-by-line to a text book definition of open source.

[0] - https://lukeplant.me.uk/personal.html

Re:Why I’m Leaving Elm by davidcuddeback on Thursday April 09, 2020 @03:27PM (#22826242)
> cannot be compared line-by-line to a text book definition of open source

Why not? The OP claims that his opinions are explicitly mentioned in accepted definitions:

> some of which are explicit in accepted definitions of the term

If the OP is going to make that claim, why should we not expect to be able to find validation for his assumptions in a written definition of open source?

Re:Why I’m Leaving Elm by Talanes on Thursday April 09, 2020 @06:29PM (#22827868)
The fact that your quote starts with the word "some" should tell you everything you need to know.
Re:Why I’m Leaving Elm by davidcuddeback on Thursday April 09, 2020 @06:35PM (#22827916)
It doesn’t tell me which or his opinions he thinks are backed up by accepted definitions or what he considers an accepted definition. So no, it doesn’t tell us anything. It sounds more like a weasel word to get out of providing citations to back up his arguments.
Re:Why I’m Leaving Elm by diggan on Thursday April 09, 2020 @04:51PM (#22827048)
> whatever assumptions he has about open source is not a fantasy

I no way am I going to accept anyone's opinion based on what project they are associated with. If Linus Torvalds says something about open source or free software, I'll read what he says and make my opinion based on what he is saying, not based on that he was the original creator of Linux.

Anything else is just appeal to authority and we would do much better in discussions if we didn't do that.

Re:Why I’m Leaving Elm by random314 on Thursday April 09, 2020 @02:25PM (#22825632)
I don't think the author being a member of Django adds any weight to his arguments.
Re:Why I’m Leaving Elm by lolc on Thursday April 09, 2020 @03:42PM (#22826395)
I find you're being needlessly formalistic here. The author is explaining where they are coming from. What their understanding and expectations in the open-source world are. This helps to understand their position. That initial part was intended (I guess) to make comments like yours redundant. Because that way we can understand what the author means without guessing about their usage of the term.

The article does not require you to share that definition. And haggling over the precise definition of open source does not change their argument one bit. You can say that you use a more restricted definition, and that is it.

Re:Why I’m Leaving Elm by diggan on Thursday April 09, 2020 @04:55PM (#22827094)
> What their understanding and expectations in the open-source world are

Thanks for putting it like that, it's completely true and I agree. Many people have an understanding and expectation of Open Source that not even the definition of Open Source agrees with (https://opensource.org/osd), which is contributing to this problem. That was a bit of the point of my comment.

The article doesn't require anything, but in general, most people see OSI as the organization who stewards a lot of things around in the Open Source world. If people cannot even agree about the definition of Open Source, we're in for a real treat now when companies start to abuse it.

> You can say that you use a more restricted definition, and that is it.

Again, I'm not going by my own vision of Open Source (as the article's author does), I go by the Open Source Initiative's definition of open source, which again, you can read here: https://opensource.org/osd

Re:Why I’m Leaving Elm by lolc on Thursday April 09, 2020 @08:00PM (#22828520)
The OSI definition is useful as a baseline. When people argue over what open-source means, I think they can mostly agree on that definition. On top of it we see frequent arguments over authors' responsibilities and appropriate stewardship.

Looks like I've accepted that it's a broad term used in a lot of contexts. So having somebody give their angle on it before using the term is already pretty good by my standards. But maybe I'm being too liberal here. What parts do you see people expecting in open-source that go against the OSI definition?

(I can't help but note that you and the author write Open Source with caps which does actually suggest there is a specific meaning.)

Re:Why I’m Leaving Elm by davidcuddeback on Thursday April 09, 2020 @03:15PM (#22826140)
>> The second is that if you advertise something as Open Source, there is a common set of assumptions about what that means, some of which are explicit in accepted definitions of the term.

> It seems the "common set of assumptions" is around that people can get involved and actually have impact on the direction of the project, but that's not at all included in the actual definition of open source. https://opensource.org/osd

To add to that, the OP's argument seems to hinge on Elm "advertising" itself as open source. I don't see "open source" mentioned on https://elm-lang.org/ or anywhere else. I'm curious where the OP thinks Elm crossed the line from having an open source LICENSE file to "advertising" itself as open source.

If the answer is that an open source LICENSE file counts as "advertising" a project as open source, then why use the inflated language in the blog post? Why not say, "If you [release something with an open source license], there is a common set of assumptions about what that means, some of which are explicit in accepted definitions of the term?"

Also, explicit in which accepted definitions of the term? The OP seems to be stating that without linking to these accepted definitions that would back him up.

Re:Why I’m Leaving Elm by strken on Thursday April 09, 2020 @07:02PM (#22828114)
Part of the problem here is that he suggested forking (he used the word "patching") the compiler in another project, and one of the core maintainers of Elm jumped into the issue and said it felt like an attack on Elm itself.

That feels a bit silly - why make a project open source if you're going to get upset when someone forks it?

Re:Why I’m Leaving Elm by cies on Thursday April 09, 2020 @01:04PM (#22824689)
Indeed. Author seems to confuse open source and open access. Or he may like them to be one and the same thing: though luck.
Re:Why I’m Leaving Elm by palerdot on Thursday April 09, 2020 @01:15PM (#22824815)
I'm not sure people saying this know that the author is one of the "core developers" of Django. It is safe to assume that his expectation of "open source" is not far-fetched at all.

While you may have a point, language developed with closed process and just the source published in one of the famous code hosting sites need not emphasize on having a "community"[0] if it is not really looking to hear things from the "community".

[0] - https://elm-lang.org/community

Re:Why I’m Leaving Elm by kazinator on Thursday April 09, 2020 @01:52PM (#22825284)
In the light of the material you link to, "Why I'm Leaving Elm" does seem to expose a wee bit of hypocrisy there.
Re:Why I’m Leaving Elm by dnautics on Thursday April 09, 2020 @01:14PM (#22824800)
The terminology is irrelevant. If you have certain expectations from the open source communities (among the diversity of possibilities that are open source) the narrative of what happened (especially with regards to being considered persona non grata if you fork) are worth knowing about.
Re:Why I’m Leaving Elm by wolco on Thursday April 09, 2020 @05:28PM (#22827402)
You can open a business and yell at customers. Doesn't mean they will stick around or tell others how great your business is.

Good projects die because of bad leadership.

Re:Why I’m Leaving Elm by mooted1 on Thursday April 09, 2020 @11:13AM (#22823308)
Your suggestion for the problems with this project is "Why don't you just fork it and maintain your own?"
Re:Why I’m Leaving Elm by kazinator on Thursday April 09, 2020 @11:32AM (#22823508)
That's right[1]; and the author of "Why I'm leaving Elm" understands this, yet claims that it's not possible somehow because the Elm people are hostile to it, and that's one of the reasons the project supposedly isn't really "open source".

Something seems a bit off in the reasoning. The only reason you can't fork something is that either you don't have all the code, or there is a license problem.

One way not to have all the code is that there is a dependency on specific SaaS server installation, whose source code isn't available. If that's the case with Elm, I missed the coverage of it in the article somehow. I did get the part that the packaging ecosystem depends on a particular server controlled by the Elm project.

1. Well, not a solution for the project, but for some of its unhappy users. The project, as such, perhaps doesn't even feel that it has these problems that require solving.

Re:Why I’m Leaving Elm by billjings on Thursday April 09, 2020 @12:17PM (#22823996)
He doesn't claim it's not possible, he claims that the Elm community will excommunicate you for forking.

I can't think of a language or platform that doesn't have some degree of "soft" forking that maintains communion with the language community. It's common for proprietary reasons (linux kernel, anyone?) as well as experimental reasons (e.g. PyPy). So this is an eyebrow raising claim.

Re:Why I’m Leaving Elm by whelming_wave on Thursday April 09, 2020 @01:12PM (#22824779)
What would they do? I'm not sure there's an actual threat to follow through on. They can't block a forked compiler from, for example, using official packages without close-sourcing their own compiler (to prevent it from bringing in whatever change makes it work again).

At that point, why bother respecting the threat? A forked compiler isn't going to get maintainers? A package depending on the forked compiler isn't going to be maintained? The social cost is possibly something to think about, but if one is set on leaving the community anyways then it's a choice between you choosing to not interact with the community and them (possibly!) choosing to not interact with you.

Re:Why I’m Leaving Elm by billjings on Thursday April 09, 2020 @01:38PM (#22825113)
The community is more valuable than the code, because the community writes the code. So being cut off from the community is a major blow to a fork, and substantially increases their work burden.
Re:Why I’m Leaving Elm by whelming_wave on Thursday April 09, 2020 @01:59PM (#22825347)
Your fork isn't a significant amount of work, unless they've really threaded in the must-be-in-Elm-Kernel check throughout the entire compiler. Versus trying to rewrite your dependency in Elm rather than enabling importing JS, enabling JS is likely to be simpler since the functionality already exists to let Kernel modules do it.
Re:Why I’m Leaving Elm by billjings on Thursday April 09, 2020 @02:24PM (#22825620)
This kind of dismissive response is in line with the examples provided in the OP.
Re:Why I’m Leaving Elm by hombre_fatal on Thursday April 09, 2020 @01:39PM (#22825131)
This discussion about whether or not the "Elm community" will be meanies is missing the point and inventing a hypothetical scenario where you get kicked out of some club. Kind of a weird conjecture to me. I guarantee nobody truly cares that you fork Elm. The thing is that generally people who threaten to fork Elm are quite hostile on the Elm forums and subreddit.

If you fork Elm, an already tiny ecosystem, you'll realize that the hard part is building the community, not adding your pet features.

Everyone who has threatened to fork Elm has realized this at the end of the day. It's also why people overlook the lack of their pet features: because ecosystem is far more important.

Re:Why I’m Leaving Elm by philh on Thursday April 09, 2020 @03:17PM (#22826152)
> I guarantee nobody truly cares that you fork Elm.

One of my coworkers once edited the elm compiler to remove the native code restrictions, and placed it on NPM. Evan emailed him and asked him to take it down.

There may be more to the story that I don't know, but from what I know it sounds like Evan does care.

Re:Why I’m Leaving Elm by Athas on Thursday April 09, 2020 @04:40PM (#22826961)
Did he take it down?
Re:Why I’m Leaving Elm by philh on Thursday April 09, 2020 @07:42PM (#22828419)
Yes.
Re:Why I’m Leaving Elm by asdfasgasdgasdg on Thursday April 09, 2020 @03:12PM (#22826096)
> I guarantee nobody truly cares that you fork Elm.

The article cites a comment by one of the elm core maintainers where that maintainer says he is opposed to the author forking Elm, and will consider it an attack on Elm's goals if he does. So I think we can safely discard this conjecture.

Re:Why I’m Leaving Elm by whelming_wave on Thursday April 09, 2020 @02:11PM (#22825500)
I don't understand your argument about ecosystem being far more important. People ceasing use of any of the tools necessarily removes them from the ecosystem and community. They have no reason to care about those things.
Re:Why I’m Leaving Elm by macintux on Thursday April 09, 2020 @02:54PM (#22825912)
But they’re almost certainly moving to a new platform with a community, which is much easier than trying to build one from scratch.
Re:Why I’m Leaving Elm by whelming_wave on Thursday April 09, 2020 @03:16PM (#22826143)
Definitely. At that point, they need to weigh the cost of migrating their existing project to a new platform, or to maintain the patches that will allow the old platform to have the flexibility they need.

It's important to remember that they aren't being removed from the Elm community - they can still use the packages, the compiler will still get updates they could presumably rebase their patches on.

Re:Why I’m Leaving Elm by dnautics on Thursday April 09, 2020 @01:15PM (#22824819)
It's still worth knowing that they're being jerks about it, since that falls outside of the social (but obviously not the legal) aspects of open source.
Re:Why I’m Leaving Elm by carapace on Thursday April 09, 2020 @09:09PM (#22828914)
> falls outside of the social (but obviously not the legal) aspects of open source.

Not really, IMO. Forking a project used to be a really aggressive thing to do back before GitHub made it so common among younger waves of developers.

If you go to Evan and say, "Look, I want to use your thing but do it my way." and he says "No, I have a clear vision of what the thing is and it's not that. KTHXBYE." I don't think that's "being a jerk".

Re:Why I’m Leaving Elm by jlokier on Thursday April 09, 2020 @01:11PM (#22824774)
On the face of it, my impression is that excommunication, if it happens, is more likely to be caused by the author being burdensome to deal with, than code forking per se.

Of course the author is unlikely to present it that way.

And although I felt the author was moralising in this critique, it may be they are not particularly rude the rest of the time. But even writing a plethora of well-reasoned but difficult to handle posts about what's wrong with your project can be too much.

Well-established languages, platforms and projects such as Linux that have a large labour pool with socially-established patterns of working don't have the same problem, because there's enough labour to deal with it.

Smaller projects just have to turn people away when they become hard work beyond the capacity of the project's core maintainers to handle it, though.

The solution found via FLOSS is to license software so that forking is always possible when a project cannot sustain different visions for the project's direction. This diffuses the tension when people have incompatible needs from the project. Sometimes it comes with drama, particularly if people are competing for attention and trying to persuade others to follow them, but that seems inevitable because of the competition.

It is still understood that forking is permitted and intended to be part of the solution, and the social niceties are that you may be encouraged, perhaps strongly, to go away and run your own fork yourself with your own resources, under a new name/domain/etc. while acknowleging where it came from. Then it's your own job to build a reputation too; it's only fair.

It's very difficult to keep running a project while your competition lingers on the same mailing list, constantly funnelling people towards their fork in the hope of making it more popular. That's a very good reason to "excommunicate" some people, or to forbid some topics such as advertising the other project repeatedly.

Re:Why I’m Leaving Elm by asdfasgasdgasdg on Thursday April 09, 2020 @03:00PM (#22825981)
> Of course the author is unlikely to present it that way.

I don't really get this accusation in light of the author leading the article with admissions of their own failings in terms of how they communicated with the maintainers of the project?

Re:Why I’m Leaving Elm by jlokier on Thursday April 09, 2020 @03:12PM (#22826093)
I'm writing in response to this remark, presented in the parent to my comment:

> he claims that the Elm community will excommunicate you for forking.

If that is correct, what I said is less accusation and more descriptive, and should really say something stronger: "the author hasn't presented it that way."

However if the parent to my comment is mistaken, then I agree that would make that sentence in my response unfairly speculative.

Re:Why I’m Leaving Elm by asdfasgasdgasdg on Thursday April 09, 2020 @03:17PM (#22826151)
The bit about "excommunication" is very explicitly linked to the author's plan to fork Elm. Now, I don't think "excommunication" is necessarily the correct descriptor. The Elm maintainer who made the threat said that he considered making a fork on "attack" on Elm's goals [1], and that the project would not be greeted with open arms. (Although in the original comment it was a little less clear whether it was the project or the person to whom arms would not be open.) In any case, I think the comment is very clear that the hostility is to the action of forking, irrespective of previous communication problems.

[1]: https://github.com/gdotdesign/elm-github-install/issues/62#i...

Re:Why I’m Leaving Elm by jlokier on Thursday April 09, 2020 @04:23PM (#22826811)
I don't see anything about making a fork in the linked GitHub issue.

(The word "fork" appears once elsewhere, in an unrelated context in a different comment.)

The thing about open arms is not about forking (or if it is, it's not obvious to me), and reads to me more like "assuming you are not making your own fork, can you please stop pressuring upstream to accomodate designs which are explicitly against our clearly communicated design goals".

The quote is:

> @spookylukey It's one thing to build tooling around an implementation flaw without knowing the history, but that's all pretty well communicated at this point.

> If you understand the design goals, but don't agree with them, why not channel that in a positive way - e.g. by building something that fits your vision instead of directly working against Elm's design goals?

> As someone who has spent a lot of time collaborating with many others to help Elm achieve its stated design goals, intentionally working against those goals feels to me like an attack on our efforts. We have been really clear about our design goals in this area, and you shouldn't expect a project that works against those goals to be greeted with open arms—especially not from those of us who have been working hard for years to achieve those goals.

Re:Why I’m Leaving Elm by asdfasgasdgasdg on Thursday April 09, 2020 @04:36PM (#22826927)
The comment immediately before rtfeldman's references patching the compiler for this project, which is an implied necessity if js code is to continue to be used. It's essentially a soft-fork, and that is what rtfeldman is objecting to.
Re:Why I’m Leaving Elm by jlokier on Thursday April 09, 2020 @05:33PM (#22827447)
Thanks, fair enough although rtfeldman appears to be responding to spookeylukey about divergent design goals, while it's norpan who is talking about maintaining a locally patched compiler.

I still see no objections to maintaining a fork or local patch from rtfeldman. Just "if you go against our explicit design goals don't expect us to want to merge it upstream for first-class support".

TBH a locally patched compiler sounds like not a huge deal to me. I have lived with locally patched GCCs before :-)

But maybe I'm unusual. I surprised someone, once, when they found some code not working and I suggested they look at their compiler source for the cause. Their response: "Wow, I hadn't ever thought of the compiler as something that might have a bug, let alone read and modify it".

Re:Why I’m Leaving Elm by Talanes on Thursday April 09, 2020 @06:50PM (#22828019)
IT was norpan and spookeylukey talking about patching the compiler together, and rtfeldman jumping in with references to PAST discussions of design goals with spookeylukey.
Re:Why I’m Leaving Elm by em-bee on Thursday April 09, 2020 @12:24PM (#22824108)
the last thing i want is to get into drama with developers of a project, so if my choices are to give up and leave or fork and face drama, then i'll give up and leave.

how that affects the Open Source status of a project is irrelevant, this is simply not a project that i could use, and thus for all intents and purposes, for me at least, it's a project that can't be forked.

Re:Why I’m Leaving Elm by kazinator on Thursday April 09, 2020 @12:40PM (#22824362)
If you fork quietly, you can avoid the drama. Just do your thing and don't respond to anyone (in any forum) who isn't reasonable and civil. Don't start drama, don't feed drama.
Re:Why I’m Leaving Elm by em-bee on Thursday April 09, 2020 @03:32PM (#22826288)
if i am happy to just quietly run my private patched version, sure. but that's not the point, because the claim is that for a good Open Source (or Free Software) project, it must be possible to go public, and once you do that, if the original developers are unsympathetic then drama is unavoidable.

there have been hostile forks in projects before, even those that eventually had a good ending. egcs for example.

i was part of such a forked project too. it wasn't meant to be hostile, and the drama was limited to the project leaders, but it happened, and feelings got hurt.

not everyone is willing to take that risk.

Re:Why I’m Leaving Elm by neilwilson on Thursday April 09, 2020 @12:09PM (#22823890)
That's what forking entails.

It's a bit like Brexit. You don't get to stay in the club.

If there are sufficient people unhappy with Elm but are cohesive enough to push the compiler forward, then why not?

Re:Why I’m Leaving Elm by cies on Thursday April 09, 2020 @01:09PM (#22824755)
You dont even have to push anything forward. Example Redhat's compilation of code or "forked" by CentOS, who were providing just a little more freedom. We all know how that ended.

Just keep in sync with the main project, and keep the annoying/proprietary stuff out.

> You don't get to stay in the club.

Or you become the club. I think LibreOffice has more club going than Oracle's OOo.

Re:Why I’m Leaving Elm by macintux on Thursday April 09, 2020 @12:49PM (#22824475)
The author’s point is that other languages don’t (typically) kick people out of a club for forking.
Re:Why I’m Leaving Elm by amluto on Friday April 10, 2020 @12:52PM (#22834838)
I’ve never used Elm, but that’s not how reasonable open source projects work. Red Hat maintains several rather divergent forks of Linux and they’re still in the club. I personally run a fork of Linux that I maintain, and I’m in the club. The only people who attract serious ire from the club are people who distribute out-of-tree modules that play poorly with the rest of the system. Even in that case, no one gets excommunicated, but the upstream kernel makes no particular effort to keep problematic modules working.
Re:Why I’m Leaving Elm by lmm on Friday April 10, 2020 @09:54AM (#22833000)
The open-source ethos means welcoming the friendly competition that comes from a fork. Look at the grandparent's link for the attitude taken by awk and bash.
Re:Why I’m Leaving Elm by type0 on Thursday April 09, 2020 @02:34PM (#22825721)
gawk and bash aren't UX generating tools

quoting: "And a further consequence of this is that non-English developers and end users are discriminated against, due to the difficulty of formatting numbers and dates in correct ways for non-English locales."

The issue seems to be hypocrisy of the Core team and not that it isn't true open source. Forking a language is suitable only for extraordinarily situations, Elm language might be good but ultimately it's not that extraordinarily good.

Re:Why I’m Leaving Elm by lmm on Friday April 10, 2020 @09:54AM (#22833003)
> Open source really does mean that you just have all the code to rebuild the thing from scratch under the right sort of license. Open source doesn't mean anything else, like having access to design decisions.

Open source means you have access to the source in the preferred form for making modifications (and not e.g. dumps of generated code). IMO that should include any design documents that the original maintainers would consult when making modifications themselves.