8 ms·
Though Rich is right, it pains me to read this because it is indicative of some disputes in the clojure community. I might be mistaken, but it seems that Rich i
by newcrobuzon 8y ago
Though Rich is right, it pains me to read this because it is indicative of some disputes in the clojure community. I might be mistaken, but it seems that Rich is reacting to Chas Emericks' twitter post (https://twitter.com/cemerick/status/1067111260611850240 https://twitter.com/cemerick/status/1067111260611850240).
In his comments he has stated: "Finally, from a practical perspective, my core-level contributions always came from some source of pressing need in an actual, present, needs-to-work project. If I know a problem isn't going to be triaged for months and solved for years, then I'm out."
So this is not some grieving random person from crowd - Chas is a person whose libraries and contributions I value tremendously and he certainly made LOTS of contributions to clojure OSS landscape for free and out of his good will as well.
So ultimately this feels like your parents are arguing (which is never a good thing) - you like them both and you just want the arguing to stop and you just want everybody to live together in harmony. But here you go, Chas has moved away from clojure now. And I have to say I am very sorry to see him go.
- lettucehead 8y agoThis is the genuine issue.
- lgrapenthin 8y agoNo. Whoever is leaving should have left without ranting is the only issue I'm having with this aggravating distraction. Chas knows very well how Clojure is authored. I suppose some people believe their contributions or community status give them higher authority and a right to publicly pressure Rich Hickey. But in reality they are only doing more damage to the community and likely Richs creative process on the way out. If this is the price for their contributions I want to live without them without even thinking about it. As a power user, to me this doesn't appear to be a community issue. A handful of individuals take themselves way too seriously and don't realize how they are hurting someone emotionally. The entire idea that a different process would produce better results is an insult in the first place. The progress and effect we got with Clojure with no enterprise funding/influence is a true miracle.
- mschaef 8y ago> Chas knows very well how Clojure is authored. I suppose some people believe their contributions or community status give them higher authority and a right to publicly pressure Rich Hickey. Thought experiment: assume for a moment Rich is now running Clojure into the ground, and this is a bad thing. Who are the people that _do_ have standing to try speak up and make things better? If not Chas, who? > The entire idea that a different process would produce better results is an insult in the first place. No, it's not. Projects grow in complexity as they are used. It is only natural that they require improving governance models as this happens. Another thought experiment: Name another successful open source project that's stayed on the same sort of governance model throughout the first ten years of its existence. These all usually work the same way: there's an initial individually driven chunk of core development and then the process broadens out to a more community driven effort. (With individually driven spikes along the way that are contributed into the whole.) It really reminds me of a phrase I heard fairly recently: "Go fast alone, go far together." At some point, a transition probably has to be made. > The progress and effect we got with Clojure with no enterprise funding/influence is a true miracle. True enough. And now we're looking for the next true miracle: sustained development and use over the next twenty, thirty, or more years.
- pas 8y ago> "If I know a problem isn't going to be triaged for months and solved for years, then I'm out." Some problems are easy, low hanging, do it yourself. I guess that's not the issue here, but it's worth mentioning as a lot of OSS projects don't cater to solving these. (Expose some little bit from an underlying lib, make something configurable, etc.) And there are the uh-oh we have to refactor half of our codebase to solve that one by the way totally valid problem. And that's usually not a one weekend "project", and it is understandable, that it might take years. And at that point, I feel that the entitlement of "make this work for me, because there's a project that depends on it" is the problem. Sucks to be the guy who have chosen the wrong tool, even if it looked like the best tool. It happens all the time.
- beders 8y agoI don’t know this person but there’s a fork button on github. “Pressing need” —> fork Seems to be an ego thing.
- dmitriid 8y agoThe you have to maintain your own fork. And keep up with changes upstream. And reconcile the two forks. And... And... I'm not even mentioning the potential split in the community.
- hvidgaard 8y agoYou can fork, fix the issue, and issue a pull request and/or start a discussion about the issue and potential fix. That is the core of open source - not demand that others fix the underlying issue for your problem.
- dmitriid 8y agoHow is this different from having a pull request that will go unmerged for potentially years? You still need to maintain your fork etc.
- Aeolun 8y agoSo it’s worth it for you to have other people fix your problem for you (for free!), but not for you to do it yourself?
- dmitriid 8y agoA PR on GitHub cannot be made without a fork to begin with. Then what?
- threatofrain 8y agoNo, he's saying a person who is thinking about results for the Clojure community wouldn't take things that way. Not everyone wishes to fork the community. Politicians step down from issues just because the timing is wrong and would be factious, not because the issue is wrong. Also the person in question is also a well-received volunteer, which is why this is getting traction to begin with, which is why Rich Hickey would even take the time to tell someone that they aren't worth the time of the very response they're reading.
- bananamerica 8y agoAs someone not in the know, Rich's post seems like an extremely aggressive and arrogant piece. When you put it in context, it does make more sense.
- bsder 8y agoIt could easily have applied to dominic and the earlier npm fiasco, though. People are getting a bit entitled as to what an open source maintainer has to do for them.
- bananamerica 8y agoI can sympathize with that. But I think Rich made a very bad choice of rhetoric, and this is probably going to bite him in the ass.
- the2bears 8y ago"Bite him in the ass" how?
- michaelmrose 8y agoHe clearly really cares about Clojure discouraging people from freeloading may be beneficial but a crummy tone may discourage people from adding value to Clojure which would be very unfortunate.
- Novashi 8y agoIt's exactly how video game audiences are. But honestly the stakes are higher than video games. If you go around advertising your package, get people to depend on it, then compromise them later, that's malpractice on your part. That isn't how society runs so it's rather obvious when people get mad that there's a landscape full of anarchy when it should look more like modern civilization. Like it or not, npm and the node community has not prioritized its reputation. And the mechanisms that keeps bad operators out of npm open source rely on a relatively small company considering the actual business livelihood that relies on npm integrity. It means the community is okay with continuing to use npm, and that means that the community doesn't have a healthy way to maintain itself and build trust. It's going to rot, I think (and hope). It's just going to be a bunch of tribal nomads moving from project to project until someone social engineers a compromise and they're off to find another huge dependency graph again. At the very least, Clojure is telling people what it's about upfront. Other package managers are not immune to this, btw. npm is just often the whipping boy.
- kgwgk 8y agoThis thread made me look at Clojure again (it has been a few years since the last time). Searching for Bayesian inference libraries I came across this: https://github.com/cemerick/raposo https://github.com/cemerick/raposo "Never, ever, ever give a talk about a library or other code publicly unless it's in a public repo prior to the talk. Period. (Exceptions to this might be things like case studies and such.) Doing otherwise is surely irritating to talk attendees, but it's even more disrespectful towards organizers, as their acceptance of your talk may have been implicitly preconditioned on the attendees being able to benefit from the code/library/project in question." Is the expectation now that when you talk about something it is necessarily going to be open source? (And from there the expectations grow and grow...)
- fenomas 8y agoThat quotation is prefaced as "lessons I hope to take to heart". He's not commanding everyone to do it.
- kgwgk 8y agoWould you agree that talking about unavailable code or libraries is "irritating to talk attendees" and "even more disrespectful towards organizers"?
- fenomas 8y agoThe author is saying those things about his own talks, not generally of everyone. Unless you're trying to claim they are never true in any case, I don't think there's anything to disagree about here.
- kgwgk 8y agoI understood that the attendance’s irritarion and the “acceptance of your talk may have been implicitly preconditioned on the attendees being able to benefit from the code/library/project in question" would also apply to someone else’s talks. But I see how the availability aspect could be part of his talk, or is expected because of who he is. If it’s about himself/his talks in particular another option would be to change the expectations.
- hoaw 8y ago> Though Rich is right, it pains me to read this because it is indicative of some disputes in the clojure community. I am genuinely curious why you, or anyone else, would think he is right. I can see why people would agree or why he wants to do things a certain way, but to be right you have to have arguments backing up what you are saying. I don't see that in this post. Am I missing something?
- deleted 8y ago[deleted]
- mschaef 8y ago> I am genuinely curious why you, or anyone else, would think he is right. Because Rich has the rights to do what he wants with his time and money. (Like everybody else.) It is completely within his rights to establish his own governance and contribution model for his version of Clojure. At the very least, I don't see an argument why it's NOT within his rights to do so. Of course, there are several corollaries. The first is that nobody is forced to use or contribute to Clojure. The second is that, given that Clojure is Free Software, it's possible for someone else to pick up the baton, make a fork, and run it their own way. (egcs and XEmacs both come to mind as examples where someone did this and it wound up improving the original.... so there _is_ precedent.) I wouldn't feel terribly bad if someone made this fork, but I'm not going to do it myself. Unlike Rich, I'm not willing at the moment to make the personal sacrifices that'd be required to make this sort of contribution. Neither, apparently, is anyone else. So Rich gets to make the rules. Because he (and Cognitect) have paid the dues. Whether that's good for Clojure in the long run remains to be seen. (But honestly, my semi-informed take on the ecosystem is that it needs library maintenance much more than it does core language improvements. The core language has been an excellent choice for many purposes for years.)
- PhasmaFelis 8y ago> Because Rich has the rights to do what he wants with his time and money. (Like everybody else.) This feels like a non sequitur. Having a right to do something is completely orthogonal to whether you should do that thing.
- cemerick 8y agoRather than reply to any of the various downthread issues, just a few clarifications: * I don't know exactly who Rich is responding to, but I can't imagine it's for rando users who drop off drive-by TODOs for maintainers. More likely IMO it's in response to a number of people who have contributed significantly to clojure itself and to supporting projects and resources that have spoken up in recent times with various critiques. * I'm super uncomfortable with any comparison to this kind of "dispute" as being anything like that between parents, etc., though I can see how some might think of it like that. Really, it's a disconnect of expectations and a lack of communication, which I'm glad has been resolved definitively. * I do still use Clojure (though more via ClojureScript than otherwise), it's just not my primary rig anymore, and I'm strictly a user. The contribution process was a minor factor, not the driving rationale for my looking elsewhere; though, as I said in the posted tweets, I surely wouldn't have tarried so long if I knew earlier what I know now.
- newcrobuzon 8y agoThanks Chas for responding. Apologies for the parents metaphor if that made you feel uncomfortable - since at the time of my writing lots of comments on gist and HN were concurring with Rich and talking about "weeding out toxic personalities" I was just trying to come up with a metaphor that would offer a different perspective - that this is a type of disconnect that benefits no one and that there is no side that is clearly "good" or "bad" since all sides are needed for the whole ecosystem to work. Rich's statement was aimed at some core contributors (I am guessing now probably a bit more at Tim and less at your follow up tweet) and that worries me. Imho this situation is a lose-lose scenario: for Cognitect to lose contributors, for contributors to have spent hundreds/thousands of hours in vain and for anyone from clojure community who placed his bet on clojure and invested substantial time in learning/using/evangelizing it (affecting his/her market value in the process). Anyway thanks for all the work on clojure! I am still using some of your clojure libraries!
- kazinator 8y agoNormal people who are using the software to get something done just maintain a local fork where they can fix fires as fast as they want, then treat upstreaming (if any) as a background task that is allowed to take the necessary time. E.g. numerous GNU/Linux distros maintain local patches for numerous packages: kernel, gcc, glibc, ... Some of these take years to get upstreamed, if at all. The problem is that this process doesn't work so well for people who just want to leave their imprint on that project (that one and only official project, not their private fork). Saying I'm not going to use this as my main tool if I can't have a more or less free reign in shaping the destiny of its one and only official version comes across as a bit of an infantile tantrum.