18 ms·
Open Source is Not About You
- jasode 8y agoFyi... his post today seems to be related to a previous reddit post that HN also discussed: https://news.ycombinator.com/item?id=15425632 https://news.ycombinator.com/item?id=15425632 (Downvoters: Did I read his essay incorrectly? The reddit post from 1 year ago and the github post today seem be the same theme of managing the community expectations of Cognitec.)
- gw 8y agoBroadly yes, but I'm guessing this one was sparked by this thread https://groups.google.com/d/msg/clojure/2GQQpxNcDlM/St3Can2xAgAJ https://groups.google.com/d/msg/clojure/2GQQpxNcDlM/St3Can2x... and the indignation that spilled out elsewhere. We get these little brouhahas every couple months o_O Rich put it well that Clojure is not closed, it is conservative. He made it to solve the problems he encountered in the industry, which were large multithreaded proprietary systems. It is a business first language (cognitect is a consultancy, after all). The fact that so many hobbyists like me ended up using it was kind of a happy accident. These two audiences don't have completely opposed interests, but they do have different priorities. Businesses care about stability; they don't care much about whether the language accepts PRs on Github or conducts twitter polls. I accepted that a long time ago, and I'm still using it six years later.
- jasode 8y ago>Broadly yes, but I'm guessing this one was sparked by this thread Ok, I see the possible confusion. I wasn't trying to say they were related to the same event. I was trying to point out they were related themes. When I read today's post, I had an immediate sense of déjà vu. No wonder, he used the word "entitlement" repeatedly in both posts a year apart. (Counted 11 times in today's post and 4 times in October 2017.) He also mentioned personal sacrifices of losing money on Clojure in both posts. (The "retirement money" in today's post and "$200k" in last year's post.) I don't follow Clojure closely but the meta question/observation is that there seems to be a profoundly broken misunderstanding and recurring pattern of negative interaction between the Clojure community and Cognitec that causes Rich Hickey to express his frustration in way that other folks Ruby's Matz, Rust's Hoare, didn't have to express. (Maybe Hoare left years before the Rust community could turn on him and accuse Mozilla of holding back progress in the language (and therefore Rich's predicament is inevitable if one stays involved long enough) -- I dunno.) Yes, different specific triggers but the same type of frustrated response. I thought they were over a year apart but you're saying the frustrations are unleashed every couple of months so that's news to me.
- sanxiyn 8y ago> Maybe Hoare left years before the Rust community could turn on him and accuse Mozilla of holding back progress in the language Yes, this is the case. (As far as I can tell.)
- steveklabnik 8y agoYou're downvoted, but I think that's a bit unfair. Graydon did leave pretty early, so there wasn't this kind of pressure yet, really. However, after he left, we moved to a "core team" model, which meant that a few people (I among them) were the decision makers for everything. This eventually lead to complaints and pressure, and we opened it up further from there, adding all the other teams.
- geofft 8y agoI think it's also true that Cognitect is invested in the direction of Clojure in a way that Matz's employer (Heroku), van Rossum's employer (Dropbox, before that Google), and Hoare's employer (Mozilla) are not. Cognitect is doing commercial support for Clojure, and sells the closed-source database Datomic. Heroku, Dropbox, Google, and Mozilla merely want to see Ruby/Python/Rust succeed. They're not consulting for / commercially supporting other people who use those languages, and while they desire to see their own use cases supported, the community understands they have no fundamental conflict of interest (which is often more important than whether they have a conflict of interest themselves). In turn, it's in the interest of Heroku/Google/Dropbox/Mozilla to build a genuine free-software community around the language, to pass off as much important stuff to volunteers who seem like they're building good things, to let other people have a seat at the table for language design, to give a commit bit to people who work for other companies. As far as I can tell, that's not the case for Cognitect, which is why this post makes it sound like supporting the community is a thing done out of the goodness of Cognitect's heart, that the fact that less than 1% of Clojure users are Cognitect customers is bad, and that Hickey could just take the money into his retirement account. These other companies can't just take the money - they would lose money if the community dried up.
- kylecordes 8y agoI haven’t used Clojure much in the last two years, but this is the part I remember is most surprising, and completely congruent with what Rich describes. You hear about this thing, it is a Lisp, and you wonder if it might be some edgy thing, moving fast, breaking things, showing off this mighty power (that Paul Graham wrote about) of Lisp. And it is a little bit of that; but it's also a lot more of an intentionally conservative, even boring, extremely practical tool for building real things in a concise manner. In this way it fits into the Java ecosystem well, alongside many other very boring, robust, proven, reliable chunks of code. Much of my work today is in the Node/NPM/JS ecosystem; although that has its advantages also, some days I really miss the boring reliable conservatism of Java and Clojure!
- umanwizard 8y agoWhat's the context here?
- nudpiedo 8y agoAlthough I appreaciate almost all opinion articles and videos posted by Rich, what I read here is that Rich seems to see his project about himself which fits his previous behave as Clojure's Dictator For Life. In other words, he could never remove himself from the equation or make clojure an independent long standing self directed project. In general terms of OS project, I think the first premise is already flawed. What if there were open source projects meant to satisfy their users or public? Or just iwth very different goals than yours? Do you even think that software is just finished when it is released? that fanbase should be allowed? What if Rich itself is the main bottle neck for his own masterpiece? The only people entitled to say how open source 'ought' to work are people who run projects, and the scope of their entitlement extends only to their own projects. Now, he should answer this own questions and make his own logic for his own project. I personally always saw open source as complex as a society is; as complex as an MMO game game can be. (including actors such fanbase, devs, sponsors, investors), etc.
- type0 8y agoWell the code is free but the clojure trademark is his. > What if Rich itself is the main bottle neck for his own masterpiece? Then whoever thinks would do it better could just fork it and call it 'klosure' for sure!
- wild_preference 8y agoI like this reddit post by rhickey regarding entitlement: https://old.reddit.com/r/Clojure/comments/73yznc/on_whose_authority/do1olag/ https://old.reddit.com/r/Clojure/comments/73yznc/on_whose_au... It gets pretty tiring on HN/reddit to watch people demand so much shit for free, namely other people's time. If you've ever run a project with users (most people haven't), you've experienced these demands first-hand. It's nice to read these sorts of posts when it's getting you down. For me it was the recent outrage at Elm's creator. Random people on HN/reddit basically acting like they were some disgruntled paying customer. You can see a common thread with Rich's defense of Clojure.
- dymk 8y agoWould you mind giving a bit more context/link to the HN discussion(s) about Elm's creator? I've seen the JS event-stream kerfuffle stuff posted all over the internet today, but I havn't heard about the Elm thing.
- Lazare 8y agoElm is a very locked down ecosystem, heavily influenced by a single lead developer (Evan Czaplicki) with a very small team of assistants. Development is slow, and focused heavily on what Evan thinks is best; features he doesn't use or doesn't think are working out can (and have) been removed. If he doesn't think a bug is critical, it will be ignored. If Evan decides that the way a chunk of the Elm ecosystem works isn't really in line with his vision, then he'll rewrite it. If that's a breaking change, so be it. If maybe Elm goes a release or two with an important feature not working because Evan is halfway through rethinking something, then sure, that's a thing that happens. The Elm dev team is small, their resources are limited, and they're focused on moving the project forward. Some people see this and go "okay, I'm fine with this, I like Evan's vision and I want to see where this is going"; many of them use Elm in production and accept the occasional bumps in the road. Others are interested, and happy to watch from afar, but are waiting for Elm to hit some form of 1.0 release or otherwise announce that it's ready to be used in production before making the jump. (I'm in this camp; Elm is clearly not suitable for me today, and that's fine!) And some take the entire thing as a personal affront. Entitlement is an issue across all of open source, but Elm has some characteristics that makes it especially prone to driving a certain type of user wild. How dare Evan change Elm internals in a way that breaks the way they were using Elm?
- deleted 8y ago[deleted]
- lgessler 8y agoContext, I think: https://gist.github.com/halgari/c17f378718cbd2fd82324002133ef678 https://gist.github.com/halgari/c17f378718cbd2fd82324002133e... Associated Reddit thread: https://www.reddit.com/r/Clojure/comments/a0lalh/timothy_and_stu_on_why_its_hard_to_contribute_to/ https://www.reddit.com/r/Clojure/comments/a0lalh/timothy_and...
- WestCoastJustin 8y agoI think this also fits nicely with the backdoor thread posted earlier today. There is an immense amount of pressure and expectations put on folks who open-source things. https://news.ycombinator.com/item?id=18534392 https://news.ycombinator.com/item?id=18534392
- gkya 8y agoWhile the message is partially kind of correct, the delivery lacks everything that's humane. > The only people entitled to say how open source 'ought' to work are people who run projects, and the scope of their entitlement extends only to their own projects. If this is the case, why open source or publish it in the first place? If you want people to read the code, but not interact with you, why not write that into the license? Why not use something like CC-SA? > As a user of something open source you are not thereby entitled to anything at all. You are not entitled to contribute. You are not entitled to features. You are not entitled to the attention of others. You are not entitled to having value attached to your complaints. You are not entitled to this explanation. Looking at that last sentence, then, why not STFU, Mr. Hickey? Assuming the "users" are Clojure programmers, if they're entitled merely to nil, why bother with this angsty rant? > Open source is a licensing and delivery mechanism, period. It means you get the source for software and the right to use and modify it. All social impositions associated with it, including the idea of 'community-driven-development' are part of a recently-invented mythology with little basis in how things actually work, a mythology that embodies, cult-like, both a lack of support for diversity in the ways things can work and a pervasive sense of communal entitlement. This is completely wrong. The reason we have open source in the first place is years long, decades long, determined community effort. Mr. Hickey is not entitled to change the definition of F/OSS.
- derefr 8y agoYou're conflating "Open Source" with FOSS. FOSS is the mantra of a particular community-oriented software-development zeitgeist, where things are developed by a community, without a project maintainership per se—i.e. where "the project" refers to whatever the most active fork of the project is, rather than to the project as maintained by some particular BDFL. FOSS projects are usually maintained under the aegis of one or more software foundations, like GNU or the ASF. "Open source", on the other hand, means exactly what it says. Microsoft does Open Source. Apple does Open Source. Oracle does Open Source. It means exactly as little as the image conjured in your head by that list.
- gkya 8y agoI do not think it's fair or correct to confine Open Source to that definition the last paragraphy of your comment implies. It may only be a subset of Open source. ASF itself defines what it does as Open Source. What's described in this rant is basically "Source Available". Open Source means more than that, per ASF, per OSI, and per many who publish software under non copyleft licenses.
- core-questions 8y agoI'm guessing that this is a response to the current trend towards Codes of Conduct, which are best understood as part of the Long March through the Institutions, a politicization of things that aren't inherently political.
- mhluongo 8y agoIt's not, it's about the entitlement of many users of open source projects.
- zapzupnz 8y agoAlthough, there's something to be said for some potential overlap here. A lot of Codes of Conducts are basically being demanded by people who're not a part of the project. Rich's point stands up well in response to that sort of thing: if you want it so damn much, fork it, do it yourself, and leave me to do what I do best. That's the true beauty of open source, that you can just fork, do it yourself, and there we are. If your project is so much better than the original, people will flock to it. If not, well, at least you could still do what you did.
- dudul 8y ago"If the way Clojure works isn't for you, a process which produced Clojure in the first place, paradoxically, so be it" The best conclusion :)
- drcode 8y agoI kind of wish people complaining about Clojure's development process (and of other open source projects) would just create a fork and implement their own ideas. This way, everyone could benefit from the experimentation and likely some of their ideas would get rolled into the root project once they have proven themselves.
- wild_preference 8y agoWriting negative comments/tweets is a helluva lot easier than staking skin in the game.
- jeffdavis 8y agoBe careful what you wish for... you just might get it. Forks are not particularly fun from the user's standpoint.
- acjohnson55 8y agoIt has actually worked out pretty well in the case of Typelevel Scala. Users are free to compile using mainline Scala while using libraries that are built in Typelevel Scala. In most cases, this isn't even exposed to the user.
- drcode 8y agoMore choices are almost always preferable over a long enough time frame.
- SwellJoe 8y agoThey mostly don't matter to users, because most forks fizzle out due to lack of interest, unless there's a really good reason for the fork. If the original maintainers aren't doing something weird like re-licensing under a more restrictive license or closing off development and refusing good patches from the community, it's very unlikely a fork will gain enough traction to end up on the radar of most users. We've had a few forks of our projects over the years...most often, there's just one initial commit with a few minor changes and some big words about how cool it'll be when the community can steer the ship...and, then nothing, forever. The thing about forking a big project is that it takes a lot of time and effort to make it better, or even significantly different, from the project you're forking. "Do not fork lightly" is good advice, but mostly because it's gonna be a waste of time in most cases.
- gkya 8y ago>> Cognitect does not make money from Clojure. Period. But it makes its money because it is the company of the creator of Clojure. AFAIK the company was started after Clojure gained traction. That means they are well compensated, that's as good as money, IMO. Reading the original post and this, I don't think Rich Hickey is a good citizen of the F/OSS community. F/OSS is not about cost. It's about sharing.
- wild_preference 8y agoThat's just your empty entitlement of "he should share his toys with me more" under the guise of "F/OSS" and, uh, being a "good citizen" or something. You're a horrible citizen of the fantasy world where you give me things for free. That's some Kennedy inaugural address shit right there.
- dang 8y agoWe've banned this account for repeatedly breaking the site guidelines and ignoring our requests to stop. That's not ok, even if some other account was wrong and/or broke the site guidelines as well. Please don't create HN accounts to do that with.
- drcode 8y agoRich is well compensated mostly because he's a brilliant developer and architect: Clojure is just one point of evidence towards that fact.
- purple_ducks 8y agoIf I make infinite bread loaves and you're allowed take some loaves and _also_ see the recipe, that is quite clearly sharing by every definition out there. You however don't get to influence _my_ recipe.
- dang 8y agoTaking this into personal attack breaks HN's civility rule. Please review https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html and follow the rules when posting here. We detached this subthread from https://news.ycombinator.com/item?id=18538285 https://news.ycombinator.com/item?id=18538285 and marked it off-topic.
- stale2002 8y agoHe is correct that open source developers don't "owe" anyone anything. But this is kinda missing the point. The point is that if you have a bad development process, people are going to have issues. And these issues are real. Even though you have no "obligation" to solve these problems that you have created for other people, you shouldn't be surprised if people bring them up, or perhaps even fork the project with a bunch of other people who also have problems with you. Sure, the community does not own your time, but neither do you own the community. A community is fully within it right to do something else with their time, or convince other people to contribute to a different project.
- shabbyrobe 8y ago> Even though you have no "obligation" to solve these problems that you have created for other people... Publishers of open source code don't create problems for other people. People who accept that code into their projects assume those problems for themselves. If an open source package has bugs in the forest and nobody is around to install it...
- thepp1983 8y agoThis attitude is just an excuse to hand wave away genuine criticism of shoddy engineering. After yesterday's NPM fiasco sorry but it is your project. You should fix the problems or don't release it out in the world.
- slig 8y agoI believe your last two paragraphs are exactly what he's suggesting: complainers are free to fork and work on a better process if they're so inclined.
- stale2002 8y agoIn his post he stated as follow: > But kindly don't burn the community down on your way out, with self-serving proclamations This is him complaining about what the community is doing. The community is free to do what it wants, and he is making some sort of statement as if he owns the community in some way, and therefore can decide what is or is not "burning it down". Convincing other people to leave the closure community (IE, burning it down) is a perfectly reasonable thing to do if there really are problems with it. Complaining about what the community is doing, is him making the same mistake that he is complaining about other people doing.
- Isamu 8y ago> You are responsible for your own needs. If you want things, make them. >I am grateful for the contributions of the community. Every Clojure release incorporates many contributions. [...] Open source is a no-strings-attached gift, and all participants should recognize it as such. >The time to re-examine preconceptions about open source is right now. Morale erosion amongst creators is a real thing. Sad that it has to be said. I think as a creator you need to brace yourself for the reality of what it means to offer something to the world. There is a sort of normal distribution of consumers and some can be surprisingly toxic.
- madrox 8y agoInterestingly, this isn't just isolated to open source. I've heard similar sentiments expressed by artists of popular works, including but not limited to: - Game developers - Authors of popular novels that have yet to finish ("GRRM is not your bitch") - Star Wars
- mattnewton 8y agoWith open source you have an easy recourse: the fork. With a game, movie or another peice of culture, the law can hinder your fork. If you want to make the Star Wars episode you wish had existed, you have to navigate the tretcherous waters of fair use and copyright. There are also plenty of tales of indie game developers attempting to remix a game from their childhood on a new platform only to get a cease and desist as soon as the rights holders get wind of it.
- madrox 8y agoYou are perfectly entitled to write that Star Wars fanfic. Here's a whole directory of it: https://www.fanfiction.net/movie/Star-Wars/ https://www.fanfiction.net/movie/Star-Wars/ You are not entitled to make money off it, just like you aren't entitled to make money off that open source project you forked.
- ghaff 8y ago
- howeyc 8y agoThis post is absolutely correct. All your entitled to (if anything) is the code, as is. You're not entitled to: * Community engagement * Bug fixes * Timely pull requests * Anything else You get the code as it has been released. Whatever you do with it is up to you. The finished product you build using the code you have found is your responsibility and yours alone.
- softwaredoug 8y agoI think there’s a time though when an open source project becomes so dominant in its field, that alternatives become few or untenable. In these cases were all at the mercy of the market for having consolidated on a set of choices. The mindshare around the project gives maintainers a tremendous amount of power over others. Many mainstream projects fit into this. It’s not feasible from a business perspective to get to fork Linux or MySQL. There’s alternatives, but if they don’t work not everyone can spend startup funding to build a NoSQL database. In these cases committers have a tremendous amount of power and often get disconnected from practitioners.
- toast0 8y agoAndroid runs on billions of devices and is a fork of Linux. There's two or three commercial forks of MySQL, I think Percona started before Sun bought MySQL, but I can't remember for sure anymore.
- deleted 8y ago[deleted]
- softwaredoug 8y agoYeah and it takes a company the scale of Google to maintain it. Not feasible for pretty much anyone else.
- icebraining 8y agoFew small companies can maintain a full OS, regardless of the open source alternatives. Yet FreeBSD, OpenBSD and SmartOS are all still living projects, and none have a Google behind them.
- FPGAhacker 8y agoFor those asking about context, or what brought this on, I imagine it wasn't any single complaint or event. I witnessed one such event recently, and I feel pretty confident in saying that person was just having a bad day. Or bad moment, whatever.
- Lazare 8y agoI'm not a member of the Clojure community, and have no idea what context may have driven this but... ...I agree with his point 100%, and it's certainly relevant to other communities.
- O_H_E 8y agoCheck these other comments https://news.ycombinator.com/item?id=18538267 https://news.ycombinator.com/item?id=18538267 https://news.ycombinator.com/item?id=18538298 https://news.ycombinator.com/item?id=18538298
- abraae 8y agoI haven't used Clojure much but what I hear is mostly great. And I love this rant, its always refreshing when people speak their minds. But.... Rich is pushing things a little too far I believe. On the front page of the Clojure web site, under the section 'Rationale", his very first 6 words are: > "Customers and stakeholders have substantial investments [...]" Those words do not sit well with (from the rant): > "[..] you are not thereby entitled to anything at all. You are not entitled to contribute. You are not entitled to features. You are not entitled to the attention of others. You are not entitled to having value attached to your complaints. You are not entitled to this explanation." I get it, Rich is making a point, and its a fair and unarguable one - if he indeed has no loyalty or feeling whatsoever towards said Customers and Stakeholders. But in the real world, we want our work to be valued by others, and I'll bet that the stewards of Clojure feel just the same and maybe shudder just a little.
- another-one-off 8y agoRich Hickey stands for good design. That means saying "no" to a lot if ideas that are good, but not part of the vision, and it means not running experiments on your users in the main releases. Whether he reaches that ideal, I dunno, but he lays out the vision pretty clearly when he speaks. It isn't the only way, but it is Clojure's way. When he talks about customers and stakeholders, he is talking about people who have bought in to that design. It is very easy to support his position here. Rich knows exactly how he wants to program and the man is a visionary of data-driven programming and thinking. If you don't like that vision, maybe don't use Clojure and find a different lisp. Great design is a very foreign idea to a lot of mainstream software developers - most of them, sooner or later, go for the "big rewrite" because they didn't get the design right to start with. Things like Python 2 -> 3 spring to mind (breaking changes to print! whoever thought that was a good idea didn't respect the language users). With that rational, he is promising not to do exactly what the Python people did.
- hellofunk 8y agoThere is a big difference between design and bug fixes. There are many small tickets with bug fixes already written that have not been merged into Clojure citing Rich’s time. Sometimes months or years go by, even when the Jira thread includes supporting comments from Alex Miller at Cognitect. Small fixes that improve the language without altering its design, making core functions more stable with edges cases, and they never make it into the language.
- jancsika 8y ago> We take some of what we earn, money that could e.g. go into our retirement savings and instead use it to hire people to work on Clojure and community outreach, some full-time. To be honest, I could use that money in my retirement account, having depleted it to make Clojure in the first place. But I love working with the team on Clojure, and am proud of the work we do. ... and then this... > Open source is a no-strings-attached gift, and all participants should recognize it as such. Is control of the closure project part of lead dev's business model, and the part about dipping into retirement just an "open-washing" of "I decided to start a business?" Otherwise this sounds like an extremely unhealthy and unwise "gift" on which to spend one's retirement savings.
- zapzupnz 8y agoAren't gifts _usually_ at the giver's expense? Anything else is a transaction, surely. I think the only point being made there was that this gift is expensive but he's happy to give it. The way I read it, he's happy to give out free iPhones, but asking/demanding a battery-charging case and extra Lightning cable on top might be pushing his generosity.
- jancsika 8y ago> Aren't gifts _usually_ at the giver's expense? Anything else is a transaction, surely. Usually with open source the "gift" is the author/maintainer's time. "Gift" in quotes because there is usually immense pleasure in creating and controlling a project. If the author/maintainer is ranting about the sacrifices they make for the project, that usually means something has broken in project development process. And I've never heard of another project where the author dipped into their retirement savings and built up less savings than they should have to support their authorship of a project. That's a problem that should never happen, not ammunition for rationalizing the pecking in a project. The iPhone example doesn't work. I can't send a patch to ostensibly improve the hardware (or even software) of an iPhone. The audience the author was addressing was other developers presumably complaining about low patch acceptance and long wait times. In that light, process conservatism and generally low patch quality are persuasive arguments for the status quo. "I'm sinking my retirement into this" and "community-driven development is a myth" are not.
- qwerty456127 8y agoArguably the best and most important thing an open source author can do is engineering their code the way as easy to understand and extend (this doesn't mean an over-engineered architecture, quite the opposite) as possible so whoever wants something particular could really easily add/change it with an extension or by forking and editing the core code. This done you can really legitimately direct those asking for what you don't feel like doing to do it themselves. Another great idea, IMHO, is hosting issue tracking on GitHub and making it the only accepted channel for feature requests and bug reports.
- pferde 8y agoMaking github the only accepted channel for anything is hardly a great idea. Perhaps if you used "an additional" instead of "the only" in that sentence...
- qwerty456127 8y agoI believe this way people are more likely to be reasonably self-moderating and specific and less likely to engage in personally emotional argument with you than if you use e-mail. It will also give people convenience of filing a bug/suggestion without having to register on yet another bug tracker given they already have a GitHib account (who hasn't?). Needless to say using a single bug tracking system and input channel is much more convenient for everybody than if there were many.
- Alex3917 8y agoWhat's next, people who sell cars aren't responsible for making sure they're safe? People who sell food aren't responsible for whether it gives people food poisoning? If you release a product then at the minimum it's your responsibility to make sure it's not going to harm others. If you can't do this then you shouldn't be releasing open source software. Adding a disclaimer at the bottom doesn't absolve you of gross negligence.
- lvh 8y ago"Sell" is a pretty important word there. There are laws and regulations for those, and neither comes with an explicit license saying something like "disclaims all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose."
- Alex3917 8y ago> neither comes with an explicit license saying something like "disclaims all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose." Because they obviously would be not legally binding. Again, you can't absolve yourself of gross negligence any more than you can sell yourself into slavery. And legally speaking, selling something almost always includes giving that thing away for free. (Except for in a few cases where gifts are specifically exempted, like for some low-level drug crimes at the state level.)
- UncleEntity 8y agoWell, the license specifically says they aren't responsible for negligence and to use the software you have to abide by the license so...
- deleted 8y ago[deleted]
- jodrellblank 8y ago
- conceptpad 8y agoRich Hickey has given so much to the world of software and systems design. The value exchange has most likely not been reciprocal. Nor has it been sufficiently respectful, based on this message. People like Rich that give so much are rare. And people that understand how to respectfully recognize that seem to be becoming more rare. Of course, one can remember that life is not fair, and people are often shitty even without being conscious of it, and that Rich has freely chosen to pursue this path. But this leads me to a few questions: If you agree with what I have written above, and what Rich has written in this message, then how can we tip the scales just a little bit further towards respect and reciprocation? What kind of gestures, gifts, and generosities do you think are appropriate? What improved efforts to educate consumers of open source software would be effective? Further still, what kind of culture do we want?
- davidscolgan 8y agoOne that you can certainly do is to be one of the voices of positivity and gratitude. If I enjoy or benefit from something someone has released into the world, I've started trying to send them an email of thanks. Many times I've gotten responses back, and they are always really grateful for the support. As a hopeful creator with a small but growing following, I've gotten a few of these myself and they really are motivating. I generally make it a point to never criticize anyone online, since they probably know everything they are doing wrong acutely well and don't need me to tell them again.
- toyg 8y agoPython is currently adding a “thanks” command to their package installer pip. There are efforts to wire pip to monetary rewards. I believe that’s the right direction: identify where the rubber hits the road most of the time, and insert positivity and gratefulness.
- black-tea 8y agoThis was actually an idea proposed by RMS probably 20 years ago, but I think he was talking about music. Essentially it's the busking model. The key is making that small donation extremely easy to give. And also to get big corporations to press that button.
- vemv 8y agoImagine belonging to an expert, seasoned team that masters a given technique. Literally the worldwide top 1% for that technique works under your roof. You don't take feature development lightly: each feature will be discussed and polished patiently within your team. And then you release it, for free. Then semi-random people from the internet want to continue the discussions that were settled privately long ago, while also demonstrating this entitlement. I guess that can be a maddening, constant stream of noise. One that cannot be dismissed harshly - you may be an expert, but definitely don't want to scare people off. Kudos to the Clojure core team for resisting the stream in a classy, illuminating manner.
- geofft 8y ago> Imagine belonging to an expert, seasoned team that masters a given technique. Literally the worldwide top 1% for that technique works under your roof. That would worry me immensely. What sorts of things are we not realizing because we're not exposed to other ways of thinking? What sort of talent are we not training up because we don't know how to recognize it? And what do we do when some of the people under our roof retire? Have you ever hired someone who worked at Google? They're quite probably in the worldwide top 1% for software engineering talent, and still they come out of Google expecting everything to work in a Google way. And conversely there are folks at my company - skilled software engineers - who I wish would go work at Google for at least a few months, because they've been here for probably ten years and while they're very good they've never seen how other people do things. They're skilled, but they simply have not had opportunities to learn deeply from the outside world, and in a field moving as fast as software, no single organization can keep up. This is why open source exists in the first place. Whether or not you think there's an ethical imperative to share software, the whole idea of open source is that different companies can share source code to produce better results than in-house development and buying licenses to closed-source software would achieve. At some point, if you're on an expert team that works under one roof, you're going to stop being the experts in the thing, because the other 99% of people interested in the subject can all learn from each other, can try the things you dismissed privately long ago, can experiment at scales you simply couldn't imagine.
- dtornabene 8y ago
- malvosenior 8y agoI see Github playing a big role in bringing about this situation. The collaboration model focuses on the "who" of software development and not the "what". It used to be people were concerned about making a piece of software that did something interesting. Now it's all about how many stars, forks and followers you can get. Github made it too easy to "collaborate" and now you see any number of non-developer interlopers pushing project owners around. There needs to be a new model that's not so focused on the social but is focused on the tech and just the tech.
- elihu 8y agoThe other side of this is that open source projects are not entitled to users, or relevance. If they aspire to those things, then being responsive to their users and making something amazing that strangers want to use is part of the process. Neither side has any particular obligation, but open source creates the most benefit when users and developers make an effort to be considerate towards each other.
- spiralganglion 8y agoCompletely agree. I don't know why more people aren't pointing this out. It's almost as though people don't realize how much the value of Clojure comes from the community. Or aren't aware that many of the most helpful and constructive members of that community are burning out and leaving.
- kgwgk 8y agoFrom the link in geofft's comment (https://news.ycombinator.com/item?id=18538873 https://news.ycombinator.com/item?id=18538873): "At first, each community is defined by its potential. But as that potential is realized, the community begins to be defined by its compromises. That change is felt most keenly by the people who were there first, who remember what it was like when anything seemed possible. They feel fenced in and so they move on, in search of their golden city."
- didibus 8y agoI've yet to see a non harmonious relationship between constructive and helpful community members and the core team. I'm also not that sure the community contributes as much as you think. I use Clojure for work, and 95% of all value is from the core team only. I'm not trying to say the community is bad, I'm part of it, mostly trying to point out that it actually is quite disproportionate in relation to the core team, and I don't think we can criticize them until we (the community) actually step up and start being a lot more helpful and constructive.
- deleted 8y ago[deleted]
- mschaef 8y ago> To be honest, I could use that money in my retirement account, having depleted it to make Clojure in the first place. A perfect example of the significant cost and personal risks people take on for the benefit of producing open source. I'm as glad Rich is saying this as I am he made Clojure (and open sourced it!) in the first place. Thank you, Rich.
- kazinator 8y agoRelated: https://news.ycombinator.com/item?id=18538614 https://news.ycombinator.com/item?id=18538614
- cruella_deville 8y agoI think if you are doing an excellent job with your project, noone has time for you[dev] , as they are too busy enjoying your project. its like when granpa tries to get in on the basement gamefest with the kids. let them play, your best contribution is to make more toys for them to play with and let come to you and ask for more.
- arendtio 8y agoMy personal favorites: > Open source is a no-strings-attached gift > Morale erosion amongst creators is a real thing. It reminds me of a project called aurman [1] (a great AUR-Client for Arch Linux). Due to the 'feedback' from the community, the main author went from loving to work on his project to hating it. In the end, he stopped the public development to protect himself from the negativity. [1] https://github.com/polygamma/aurman https://github.com/polygamma/aurman
- mmaunder 8y agoCustomer service is hard. When you aren't paid for it, it is very frustrating. It often manifests as anger from open source contributors.
- jrochkind1 8y agoI would argue that if you release an open source project, you do have a responsibility to communicate enough about your intentions that potential users can base their expectations accordingly. That doesn't have to be at any particular level. But if a project is unmaintained... why not tell people? If you are sharing a project in case it's useful to someone but don't really intend to deal with any external bug reports or feature requests at all... why not just clearly advertise that?
- VogonWorkEthic 8y agoNope, you're not entitled to anything. A license is just a license. You're free to use the code. If the releaser gives you no communication about expectations, then it's your choice to use it or not. They're obligated to give you anything, not even the time of day. Enjoy your free code, or don't.
- jrochkind1 8y agoAnd yet, _most_ people have some interest in treating other people respectfully. Which is the only reason the open source ecosystem works at all.
- geofft 8y agoThis is an excellent depiction of the distinction between "free software" and "open source" as ideological frameworks. As licensing schemes, they're the same - but open source ends at the licensing scheme, as the author correctly points out. If you want to use it for a side project, great. If you want to use it to make money, great. If you want to use it to commoditize the operating system for your worldwide advertising infrastructure, great. If you want to embed it in your iOS app or in iOS itself (and the license permits doing so), great. The free software movement, however, says things like this (from https://www.debian.org/social_contract https://www.debian.org/social_contract ): Our priorities are our users and free software. We will be guided by the needs of our users and the free software community. We will place their interests first in our priorities. We will give back to the free software community. In other words, free software is about you. I would quibble with the claim that the open-source process is what produced Clojure in the first place. The open source movement has benefited from sailing in the same direction as the free software movement and using the same tailwinds. Without the free software ethos (which was behind GNU as well as a lot of the Lisp work at MIT), would Clojure have been able to stand on the same shoulders, and would it have attracted the community of users and the ecosystem of libraries it has?
- knocte 8y agoI disagree. Software projects that claim to be free-software instead of opensource (plus use a "contagious" license such as GPL) don't owe you more community management than the ones with an MIT license.
- dfox 8y agoMost high profile project that explicitly claim to be free software in fact do not do any kind of community management at all and do not tend to actively seek outside code contributions. In fact the community involvement in development as exemplified by GitHub (and SourceForge before that) is to a large extent invention of the same group that started using the term open source (for what is otherwise mostly the same thing as free software).
- 8y ago
- pubby 8y agoPeople are inherently selfish. Everyone is looking to better their own self-interests, seek validation, and seek attention in life. A community - any community - is made entirely of these people. An effective leader is one who can play to the strength of this fact rather than fighting it. You have thousands of people willing to spend their time for you. How can you make their interests align with your own? How can you convince them that your self-interest is their self-interest? Funny, but I don't think calling people entitled is the answer to this.
- mattbierner 8y agoI maintain a few open source projects that many developers use (along with many more projects that no one uses) and I get like one PR a month. It seems like some developer’s entire workflows depend on some of the tools and libs I maintain, but I don’t even use the damn things myself. That seems like the perfect case for self interest: make this thing you use all the time work better for you. The code is usually fairly clean and the contribution process documented. And yet all the help wanted issues just sit there. How have other maintainers been able to encourage more valuable community contributions?
- jchw 8y agoIt's painful how many people don't seem to think this way. If you've ever contributed a patch to an open source project, do you think you should be obligated to maintain this patch for the foreseeable future? If the answer to that is 'no,' then why would a greater contribution, such as an entire project, be held to such obligations? It's disappointing.
- skybrian 8y agoAlthough there is of course no warranty, I think it's fair that when projects have marketing websites saying how great they are and encouraging widespread use, users can complain when the software isn't fit for use. If you're going to be strict about how you don't owe anyone anything, it might be a good idea not to undermine that message in your marketing. Better to tell people all the reasons why they shouldn't use your code. Not for production! There may be bugs that you have to fix yourself! And then work with developers who don't scare easily.
- neokantian 8y agoYeah, Rich is obviously right. Concerning Clojure, or any Lisp variant for that matter, I came to realize that the cost of the unusual prefix notation -- which does cause inconvenience to people trained on using infix -- needs to be offset by the usefulness of defmacro, i.e. the possibility of using macros. Paul Graham insists that it is surely worth it, but unfortunately, he does not show convincing examples. So, I keep sitting on the fence. I am ready to be convinced, though, with compelling examples of a problem that I cannot possibly solve with defun and for which I would need defmacro.
- kazinator 8y ago> that I cannot possibly solve with defun and for which I would need defmacro Well, defun is a macro: http://clhs.lisp.se/Body/m_defun.htm http://clhs.lisp.se/Body/m_defun.htm The parenthesized prefix notation is advantageous because it is unambiguous and easy to format. People trained on infix still make mistakes due to associativity and precedence: mistakes in understanding an expression and in writing the correct expression which matches their intent. Their skill does not translate into unfamiliar languages that have unfamiliar operators with unfamiliar precedence and associativity rules. The user of a Lisp benefits from the development which has gone into the language/implementation. That development is lubricated by the structure of the code. The Lisp programmer does not only write new macros, but uses existing ones, either in the language/implementation or third party libraries. There is no problem you cannot possibly solve with defun (plus escape hatches to access any aspect of the host environment), because defun gives you access to a Turing -complete computation model. This is simply not a genuinely honest way to evaluate tools. Gee, I'm not convinced that there is a text editing problem I can't possibly solve with ed if I bash at the keyboard long enough; so for now I will keep sitting on the fence. possibly isn't easily, efficiently, maintainably, and so on.
- dreamcompiler 8y ago> Paul Graham insists that it is surely worth it, but unfortunately, he does not show convincing examples [of the usefulness of macros]. Seriously? Are you suggesting On Lisp contains no convincing examples? It's what the whole book is about.
- 8y ago
- newcrobuzon 8y agoThough 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.
- 8y ago
- lbj 8y agoA decade ago I found Rich's way of communication tough to swallow and borderline abusive, but re-examining it with the acceptance the years of using probably the most expressive and versatile language on the planet I find it refreshingly clear and to the point. And he's absolutely right of course, his time is just that, his time.
- elwell 8y agoI'm thankful for Clojure; it's brought a lot of joy into programming for me personally.
- pasxizeis 8y agoCould it be that people who use your OSS think you have an obligation to them, because you marketed your software in a nice and pretty gift wrap package (eg. web page) and they chose yours over and alternative (ie chose to invest their time and effort on it)? They chose to "fall" for your marketing over that of another project. Maybe they feel that by choosing your software over an alternative, they're also helping you (since it's your project after all) and they atypically expect some things of you? P.S. I'm not taking sides. This is just a shower thought.
- 8bitsrule 8y agoOh look, a philosophical essay disguised as a series of self-evident truths. "All social impositions associated with it, including the idea of 'community-driven-development' are part of a recently-invented mythology..." Reminds me of Margaret Thatcher saying "There's nos such thing as society." https://www.theguardian.com/politics/2013/apr/08/margaret-thatcher-quotes https://www.theguardian.com/politics/2013/apr/08/margaret-th... Now if only they can get someone to keep repeating it, it'll be true.
- draw_down 8y agoCome on.
- calahad 8y agoAs an open source developer, this guys seems like a complete asshole.
- _pmf_ 8y agoIf I'm forced at work to work with mediocre FOSS stack without support culture (even for paid tiers), it is about me. I'm not choosing to work with a subpar farce of a technology like npm, it's forced upon me.
- icebraining 8y agoThat has nothing to do with open source, but with your relationship with your employers.
- zekiunal 8y agoDo not agitate. Open Source is only part of the business model.
- kompy 8y agoSeems relevant to the event-stream fiasco from yesterday.
- hellofunk 8y agoIt still boggles me that Jira tickets with small bug fixes to real problems confirmed by other members of Cognitect have never been merged, due to Rich’s time. Simple fixes to core functions that make the language more stable for edge cases without breaking design or backwards compatibility. Fixes that the Jira threads reveal others at Cognitect support patching and for which patches have already been written. Tiny fixes with little code involved. I understand being conservative on new features but isn’t it in everyone’s interest, including Rich and Cognitect’s, to fix actual bugs? The answer tends to be that if the bug doesn’t affect Rich personally then it does not get attention. That doesn’t seem healthy for the language.
- didibus 8y agoIs this true? I've never personally been affected by a bug, and every new versions has a list of bugfixes that were merged in. I think most of those fixes you mention are actually semantic altering and thus possibly backwards incompatible.
- village-idiot 8y agoWe actually never got our bugs solved. My particular favorite was CLJ-1741, which made reloading code with Cursive basically not work in our code base. Opened in 2015, effectively abandoned to its fate in 2016.
- didibus 8y agoWell, I mean, it's still open. I'm sure if it got more votes on it, it would be better prioritized. That said, I guess this is a good example of a possibly starving issue where the core team can't scale to address the most minor issues.
- orblivion 8y agoI'm not a user of Clojure, but I'm a user of other FOSS tools (Docker) for which I've had complaints. Though I have potential issues here, I think it is important that this be said. It highlights missed expectations. This open source thing is a weird new(ish) world, and we need to be on the same page. It's been a few decades, but perhaps we haven't quite adjusted yet. Or maybe this hippie thing actually doesn't work, which would be a real shame. The fact is that we rely on it. And I think that this really is an alternate mode of creation. I could be wrong but I don't think the idea of "community development" is something that was recently made up. It's part of the Free Software ethos. Perhaps what is new here is a notion that there not be a party at the top of each fork who has ultimate responsibility. A pure gift, take it or leave it, no strings attached in either direction, is fine, and should be appreciated. But it's useless to users who need to rely on what you've produced. If the project is not subject to the demands of its users (which includes contributors, to the extent that they are users with demands that they are willing to fulfil themselves) then it's got a serious disadvantage over commercial software without a free distribution model. It's not akin to a serious tool for sale. And _if that doesn't meet expectations_, people are within reason to push back. The other side of it is that there have to be limits, of course. There has to be respect for the producer, their time, their preferred mode of management, the limit of the scope of the project, etc. There have to be judgement calls made, just like commercial software without a free distribution model, as to what does and doesn't make it into the project. For all these reasons I can see that it's important that a producer pushed back here. But if the producer doesn't voluntarily take on some level of responsibility as part of running the project, whatever the terms may be, then at the end of the day the project can't be relied on within the economy. This is not a demand on the author of this post. He is entitled to treating Clojure under whatever terms he wants. But somebody has to, for it to work in our system. I think the solution is just better messaging of expectations. What this project is. What expectations should you have as a user. What expectations should you have as a contributor. Now we can all look at it as a reference point, and decide: Do we want to rely on this? Do we want to spend our time working on this? Do we have a basis for complaint? Really, this is the same set of questions that are answered in any business arrangement. Perhaps there needs to be a SOCIAL_CONTRACT file next to LICENSE, README, etc.
- deleted 8y ago[deleted]
- Aardappel 8y agoI run a few OSS projects, among which one with 10k+ github stars that has a decent size community. While I recognize my own personality in Rich's post ("if you don't like my direction.. there's the door") for some reason I ended up running this project with the attitude that everyone I am interacting with their time, insights, and needs are just as important as mine. It's been very refreshing. It makes people very eager to contribute, and there's close to 0 hostile behavior in the community. It really works magic. I have no doubt that Rich's time and his direction of Clojure are endlessly more important than the average community member, as a fact. But you CAN'T communicate this way! Interacting with someone where before you start there is the assumption that someone is way more important cannot result in a good interaction. Even if it is a fact, even if both people involved know it, you will be much better off if you act like it doesn't exist for the purpose of communication. Of course, time is limited, but I find there is an art to giving short reactions that are still respectful in this way. And it is not like Cognitect entirely does NOT want there to be community interaction (like Rich himself says), so it is just a question of optimizing these interactions.
- village-idiot 8y agoRich Hickey needs to stop poking people in the eye with a stick. > You are not entitled to the attention of others. You are not entitled to having value attached to your complaints. You are not entitled to this explanation. This could be handled much more diplomatically. What he's saying here is "fuck you and your needs". Opportunity cost waits for nobody, but taking a second to not provoke people is a good idea. > We at Cognitect have to show up to work, every day, to make a living. We get no royalties of any kind from Clojure. Ditto for the people who wrote open source libraries, some that are critical for Clojure's adoption. In fact they typically did this after working a 9-5, rather than during it. > To be honest, I could use that money in my retirement account, having depleted it to make Clojure in the first place. "Look how much I've suffered for you!" is about as effective for leadership as it is for parenting. > But kindly don't burn the community down on your way out, with self-serving proclamations. That's a nice "fuck you" to frustrated developers. "Shut up with your complaints and go away" is a bad community management technique.