I don't agree. Two sentences in particular drive me crazy:
> As a user of something open source you are not thereby entitled to anything at all. You are not entitled to contribute.
The first sentence is wrong according to any standard definition of open source. The second is specific to the project. It may or may not be true. He's making strong statements about how we should view open source rather than his project:
> The time to re-examine preconceptions about open source is right now. Morale erosion amongst creators is a real thing.
That's a statement about open source, and it's not filler that he threw in without much thought. It's at the core of his argument.
I think the context of Clojure as a project and a community needs to be taken into account when reading Hickey's "you are not entitled to anything" piece.
Clojure as a community is _VERY_ welcoming, it has a healthy level of discussion, a wide variety of users, and many innovative projects. I was surprised when I first read that gist in 2018, but I've come to believe it's a reaction to some people who perhaps had made demands or public/private gripes about Clojure in a way that rubbed Hickey the wrong way.
He perhaps could have communicated his sentiments differently. It seems a bit "scorched earth" to me. Admittedly, he doesn't say exactly who/what he's reacting to, so maybe it's justified.
But IMHO, for every raging a-hole who need to be told to slow their roll, there are probably a few earnest, well-meaning folks who will think twice about reaching out and contributing with valuable ideas, for fear of crossing the "you-are-not-entitled-to-anything" line.
Disclaimer: I think both Clojure and Elm are good technologies and I understand most of the trade-offs they've made. I wouldn't mind using either for a project or two in the future.
Some important context for me, when I read this gist, was that Evan Czaplicki had just written a post and done a talk that basically amounted to "People should stop being mean to open source maintainers".
The parallels between Clojure and Elm (which Czaplicki created) are actually a fair few; both are fringe, opinionated languages which brought some exciting new (in some sense of the word) tech to the forefront (FRP for Elm, persistent data structures for Clojure, etc.) and both languages were hosted in an environment that afforded very few niceties when they were created (both creators probably heard "You saved me from X!" a lot).
I think the most important similarity between the two languages is that they both have ended up with communities that feel like cults of personality.
The overwhelming feeling if you come into Elm as an outsider is that everyone literally feels like Evan Czaplicki is absolutely right about everything and everything he says will be taken as universal truth and probably even interpreted much more harshly than he meant it (if what he's saying is a comment on another technology, for example).
In Clojure this cult-like feeling is less obvious in many ways, but shines through in that people will literally just quote Rich Hickey talks as if they were the bible and also expect these quotes (which usually aren't very good arguments in themselves) to actually be considered legitimate arguments. Sometimes this will spill out into the broader community and it becomes obvious how little the followers have thought about the arguments involved, since they now have to substantiate something that in the Clojure community is just considered a given because of shared context and blind acceptance ("We can just regurgitate the quote and it's an argument against something").
I would argue that the problem that Rich Hickey and Evan Czaplicki have are caused by this same isolation in a community that seems to massively overvalue their opinion and reinforce it blindly at every turn. If all you hear is "Yes!" all the time the opinions of people with legitimate gripes are going to seem much more harsh and if you're unlucky some of them might actually turn out more harsh because of the dissonance between how normal people act vs. how people who bought into the cult act.
P.S.: If you're seeing parallels between the Elixir community and the above you're not alone. It's very hard to have discussions in that community without running into the same kinds of believers (usually with very limited real world experience).
Therefore it's correct to say that being a user of something opensourse doesn't give you a right to contribute.
Otherwise it's like claiming that it’s wrong to say that "as a US citizen you're not entitled to use the Air Force One" because the president is a US citizen and has the right to use it.
I think it depends on whether "contribute" refers to a specific official repository managed by a specific project, or to the general problem meant to be solved by the codebase. Open source doesn't give the right to contribute to a specific repo, but it does give the right to fork a project. That fork is a contribution to the general problem.
> Edit: Notably it seems some commenters here confuse the idea that FLOSS will allow for forking but open source does not necessarily do so.
This is not a confusion on their part, but on yours. "open source" is defined as it is deliberately, in response to organizations trying to confuse their users about the terms of the software they've offered. What you see today is the outcomes of years of debate from decades ago, and trying to have it mean something different would require a similar debate to change well-settled terms.
If you want to talk about software where the source is available but may not be forked or redistributed, use terms like "source available" (which has its own Wikipedia article https://en.wikipedia.org/wiki/Source-available_software, showing that this isn't just my term or those of the other commenters here).
It is license specific, and if forking is not allowed then it is not an open source license [0]. I consider "Open source" and "FLOSS" as equivalent terms, since "open source" as a term was proposed as an equivalent term to avoid negative connotations of "free" as low quality or not worth paying for[1].
The L for “libre” in FLOSS may be to avoid negative connotations of "free" as low quality or not worth paying for.
The link you referenced are talking about an entirely different conflict, and it is very much not meant to be equivalent. Open Source was all about distancing from the political ideas associated with free software and the GNU project.
> Edit: Notably it seems some commenters here confuse the idea that FLOSS will allow for forking but open source does not necessarily do so.
this depends on your definition if open source. OSI's definition of open source states
"""
3. Derived Works
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
"""
https://opensource.org/osd
Which allows forking. I don't think that any definition of open source not allowing that have a wide spread support.
Aside from the software license there is the question on trademark licensing. Some projects like Mozilla are quite strict on that, that however doesn't prevent forking Firefox, but just requires using a different name (like IceWeasle)
It does not necessarily do so if you make up your own thing and label it open source rather than using the standard, intelligible, non-deceptive definition. For example, if you name your dog "Open Source," that doesn't even give me the right to pet it.
But I don't think anybody is interested in talking about your dog.
I was giving my definition, which I consider the "industry standard" which is the one by OSI (while I have some issues with the organisation that definition is useful)
It depends on your definition of contribute. You aren't entitled to have your PR merged to the main project, but you are entitled to fork the project and make your changes over there. The first is contributing directly to the project, while the second is contributing to open source at large. I believe the author was referring to project specific contributions.
I think you have a wrong definition of entitled. You're never entitled to make contributions to any open source project. Any such project may or may not give you that right, but it's not something you're entitled, it's explicitly given to you.
I agree with this but I don't really blame people for assuming they have the right to contribute code anyway. There are developers out there who directly challenge others to contribute when they say things like "patches welcome" in response to feature requests or bug reports. Now people aren't entitled to contribute? Makes no sense to me to be honest.
Only thing worse than submitting a patch and being ignored is watching someone else commit the feature or fix in spite of the contribution.
> having a right to certain benefits or privileges
The right to contribute is a property of the project, not a property of open source, which has nothing to say on how projects are run. And for the record, I don't agree with his project management style.
> not a property of open source, which has nothing to say on how projects are run
If open source does not require that a project accept external contributions, then Hickey is right to say that you are not entitled to contribute just by virtue of being open source.
You're right that this is a more to do with the project in question than whether it's open source, but open source does compel projects to do other things. So it is not weird for Rich to clarify for users of his open source project that its being open source doesn't compel that project to accept external contributions, in the way that being open source compels them to distribute the software.
> As a user of something open source you are not thereby entitled to anything at all. You are not entitled to contribute.
The first sentence is wrong according to any standard definition of open source. The second is specific to the project. It may or may not be true. He's making strong statements about how we should view open source rather than his project:
> The time to re-examine preconceptions about open source is right now. Morale erosion amongst creators is a real thing.
That's a statement about open source, and it's not filler that he threw in without much thought. It's at the core of his argument.