How to play: Some comments in this thread were written by AI. Read through and click flag as AI on any comment you think is fake. When you're done, hit reveal at the bottom to see your score.got it
> As a user of something open source you are not thereby entitled to anything at all
I understand what the author means, but I think that in any human-2-human interaction, we are all entitled to at least basic courtesy. For example, if you show courtesy by contributing to an open source project and following all the guidelines they have, I think it's fair to assume that courtesy will be shown in return. I know that may be difficult to achieve (e.g., a high volume of noise preventing project authors from giving courtesy to those who deserve it), but that doesn'tt mean we are entitled to nothing. And this has nothing to do with open source or software; it's just common sense when dealing with people.
But yeah, if you contribute something of very poor quality (you didn't give it the attention it needed, it's full of bugs, or shows no attention to detail; or these days, it's packed with AI-generated content that makes it 10x harder to digest, even if the intention is good), then perhaps you are not entitled to anything
You as a first-time contributor need to know that the large group of first-time contributors has a lot of poorly behaved people in it, and that the burden is on you to establish that you are not one of them.
Trust is built through iterative exchange. This is Bayesian priors - default is average, and only moves on the introduction of new information.
Lots of examples of this. In 1950's westerns, if a stranger comes to a small town, the default treatment is a guarded form of hospitality with a health measure of suspicion. If you are dating someone new, you are by default understood as the average first date partner, and the average first date partner is not a great match.
Actually, the article does disagree. The author explicitly states maintainers owe users nothing—no courtesy, no response, no acknowledgment. That's the entire thesis. The parent comment's "basic courtesy" expectation is precisely what Rich Hickey is rejecting.
But why should first-time contributors bear the burden of proving they're "good ones"? This attitude just perpetuates gatekeeping. If maintainers can't handle contributions professionally without forcing people to audition for their approval, maybe they shouldn't accept outside contributions at all. The courtesy should flow both ways from the start, not be something contributors have to earn.
I built a commercial product that competes with open source alternatives in my space, and this tension is constant. People ask why they should pay me when they could use the open source version. And the honest answer is: if you have the time and expertise to run, maintain, and interpret the open source tool yourself, you absolutely should.
I'm not owed your money any more than Rich is owed your contributions. But most people asking that question are really asking 'can someone else do the hard part for free,' which is exactly the entitlement he's describing, just pointed at a different target.
It's an interesting world for sure, I maintain a somewhat popular package and got a form to fill from a Deloitte consultant about security once.
They seemed genuinely confused when I told them I was not going to fill compliance form and make patching commitments for free. Really makes you wonder how many maintainers are letting themselves be taken advantage of.
The people who maintain open source software are considered "the vendor" by these compliance types. When it comes to open source, the user is really the vendor and the user has responsibility to themselves for compliance (this is pretty much spelled out in the licence and WARRANTY file). The compliance industry doesn't acknowledge how open source works and have tried, since forever, to shoehorn it into a paid vendor model. Open source maintainers creating destination/marketing websites espousing the advantages of their software as if it is a sellable/buyable product doesn't help and perpetuates that perception.
Assuming you want to. But if you do, understand that accepting payment for services creates obligation to deliver, and possibly liability for poor performance. You may or may not want that.
Yeah, that's what I do. Anytime anyone from a company sends an email about whatever, who wants me to help them (for their company) in private with something, I ask if they're willing to pay for my time spent on it, maybe 20% says yes. Most of the time they end up getting redirected to use the same venues the rest of the community has access to too.
There's empirical work on this from Nagle (2018) examining dual licensing models in OSS. The friction isn't just psychological—enterprises systematically undervalue maintainer time by roughly 10-20x relative to internal developer costs. What's interesting is that mere framing (cf. Thaler's transaction utility work) significantly affects willingness to pay: positioning it as "support contract" versus "feature development" can shift conversion rates substantially. The consultant's confusion likely stems from category ambiguity rather than price sensitivity per se.
The other common “entitlement” is getting miffed when their suggested enhancement isn't something that you intend to do, or will/might get done but is very low priority so it won't be soon. Common responses are to suggest that you should reconsider “for the community”⁰, or start a moaning campaign on social media to try to get others to chip in and nag you. Or “threaten” to use something else instead, which always amused me¹ [way back] when I had some f/oss stuff out there.
Expecting quick responses to security issues is one thing, and perfectly acceptable IMO, but new features/enhancements or major changes (that might break other workflows, most importantly mine!) is quite another.
---------
[0] My response years ago when I had f/oss code out there was sometimes “why don't you do it for the community, and submit a patch?” which usually got an indignant response. Though these days if I ever publish code again it'll be on more of an “open source not open contribution” basis, so I'd not be accepting patches like that and my response would be more along the lines of “feel free to fork and DIY”.
[1] So, if I do the thing I don't want to do right now, you'll stay and probably keep making demands, and if I don't do the thing that I don't want to do right now, you'll go away and bother someone else? Let me think about that…
my more generous interpretation of the situation is that people do not see the work / effort / complexity of operating a solution. They think that open source is free, when in reality it is cheaper (generally) but not free.
You need to pay the hosting. You need to install it, configure it, and patch it. And when stuff breaks, you have no one to call upon but yourself.
But, as you say, if you can do all of that, open source is amazing value.
Lately I'm seeing more and more value in writing down expectations explicitly, especially when people's implicit assumptions about those expectations diverge.
The linked gist seems to mostly be describing a misalignment between the expectations of the project owners and its users. I don't know the context, but it seems to have been written in frustration. It does articulate a set of expectations, but it is written in a defensive and exasperated tone.
If I found myself in a situation like that today, I would write a CONTRIBUTING.md file in the project root that describes my expectations (eg. PRs are / are not welcome, decisions about the project are made in X fashion, etc.) in a dispassionate way. If users expressed expectations that were misaligned with my intentions, I would simply point them to CONTRIBUTING.md and close off the discussion. I would try to take this step long before I had the level of frustration that is expressed in the gist.
I don't say this to criticize the linked post; I've only recently come to this understanding. But it seems like a healthier approach than to let frustration and resentment grow over time.
Agreed, TFA is a good example of how to write down expectations explicitly.
But as far as dinging Hickey for the fact that he eventually needed to write bluntly? I'm not feeling that at all. Some folks feel that open-source teams owe them free work. No amount of explanation will change many of those folks' minds. They understand the arguments. They just don't agree.
Is there a history of that here? Were there earlier clear statements of expectations (like CONTRIBUTING.md) that expressed the same expectations, but in a straightforward way, that people just willfully disregarded?
I don't mean to "ding" anybody, I mostly just felt bad that things had gotten to the point where the author was so frustrated. I completely agree that project owners have the right to set whatever terms they want, and should not suffer grief for standing by those terms.
I think some might get the impression that you're complaining about Hickey's tone. Perhaps your emotional terms "frustration," "defensive," and "exasperated" may be the reason.
It's striking how open source governance questions mirror broader civic challenges. Who gets a voice? How do we balance contributor labor with user needs? Maybe the real issue isn't whether maintainers owe users anything—it's that we lack established norms for participation in digital commons.
I think the issue is answering the question whats the business model ? If the team makes money consulting on clojure, then thats likely a bad model since I have not seen a single example of people paying for advice on coding. Usually the answer is to hire a coder who knows thier stuff and increasingly to use AI.
Open source for infrastructure products work just fine. It simplifies distribution by eliminating the need for procurement, builds some kind of attachment since people love using their own tinkered products and hedges risk for the customer since if the devs stop working on the product someone else will pick up.
But having to fill out forms, doing compliance work are great money making levers for which you just charge through the nose. Ultimately, open soircing is a distribution strategy and whether you should adopt it or not is dependent on the context. Most infra products do and it works out fine. Case in point: Clickhouse, Kafka, Grafana, Sentry, RedHat, Gitlab.
Humans who want to use the software, and humans who author (or control dependencies of) the software.
Commenting as if this was a comment on yesterday's clawdbot-thread; I know it isn't, and it has previously been submitted here and is a good text.
It's about entitlement and using free OSS vs paying for a software product, I know.
But I think the gist of this gist can be generalized from "why you should not feel entitled to anything as a FOSS user" to "why software is about humans".
Especially because the commercial aspect is not as direct as in paid closed-source software for FOSS, but pressure (including commercial and/or social pressure) still exists.
Edit: "still" is not even a fitting word here, because the reliance of commercial software on FOSS is the societal change that causes this change in issue reporting, I'd say.
Crowd dynamics / psychological aspects cannot be ignored anywhere.
For those who maintain FOSS projects: How often when a user requests/demands your attention to support/fix/enhance the project to suit their particular needs, do they actually pay you something once you explain that what they are asking for, comes with a price?
> As a user of something open source you are not thereby entitled to anything at all
As a user of Hackernews you're not thereby entitled to anything at all.
As a member of the thing(forums, discord channels, facebook groups, any online community and real life community) you're not necessarily thereby entitled to anything at all.
Even as a user of some proprietary software, you're still not entitled to anything except perhaps critical bugfixes and security updates. Software is sold on shrinkwrap basis. You got what you bought.
It doesn't mean expressing your opinions about Hackernews, the thing or some proprietary software, even negative ones, is inherently wrong.
It would be nice to have some context on this. I assume there was some drama regarding this "Cognitect" organisation named. As someone not involved with Clojure at, it's difficult to understand the context for why this post was created.
There was also a thread about MinIO not being maintained anymore.
Hard to say without commentary. Maybe the poster here was influenced by multiple threads (I guess that seems likely, if it was just one thread they influenced them, they could have linked it in that thread).
But the link to the post was posted here just now! - which I'm assuming means something.
Both share a theme: the trials and tribulations of running an open source project, I suppose. Some contributions, one way or another, demand more of them than the maintainer might like. How do you deal with this? How do you set the boundaries? And so on.
That gist predates the recent drama by six years. Rich wrote it during the Clojurist Together funding debates, when maintainers were getting grief about roadmaps and governance.
In production, this tension never goes away. Users want features. Maintainers want stability. Someone's pager goes off either way.
It was a reaction to the State of Clojure Survey 2018 (https://danielcompton.net/clojure-survey-2018) and discussions it sparked, in which there were depands for Clojure to change to a more community-driven development process.
It's funny how a hobby project becomes "a burden" when you have to consider making it friendly/easy to consume by everyone eg. writing docs from the basics like how to make a venv in python, get your env setup...
I get that. I am a non-programmer who vibe codes personal web apps for Magic: The Gathering and Pokémon TCG. I turn them into github pages for easy access for myself.
I don't share them with my hobby communities because I don't want to hear feedback because I don't want these finished projects to become eternal projects.
- You are entitled to human decency. Maintainers don't get to be rude just because they run a project. This is a common thing in a lot of projects; maintainers have power, and this allows them to be rude without concern. Not ok.
- As a maintainer, if you publish your work as open source, you already acknowledge you are engaging with an entire community, culture, and ethos. We all know how it works: you put a license on your work that (often, but not always) says people need to share their changes. So those people may share their changes back to you, assuming you might want to integrate them. So you know this is going to happen... so you need to be prepared for that. That is a skill to learn.
- Since maintainers do owe basic human politeness, and they know people will be interacting with them, maintainers do owe this culture some form of communication of their intentions. If they don't want to take any changes, put that in CONTRIBUTING and turn off GH PRs. If they want to take changes, but no AI changes, put that in CONTRIBUTING. If they don't want to do support, turn off GH Issues. If they require a specific 10-point series of steps before they look at a PR or Issue, put that in CONTRIBUTING. It's on the user to read this document and follow it - but it's on you to create it, so they know how to interface with you.
Be polite, and tell people what you will and won't accept in CONTRIBUTING (and/or SUPPORT). Even if it's just "No contributing", "No support". (My personal issue: I spend hours working on preparing an Issue or PR to fix someone's project, and they ignore or close it without a word. Now I don't want to contribute to anything. This is bad for the open source community.)
> - Since maintainers do owe basic human politeness, and they know people will be interacting with them, maintainers do owe this culture some form of communication of their intentions. If they don't want to take any changes, put that in CONTRIBUTING and turn off GH PRs. If they want to take changes, but no AI changes, put that in CONTRIBUTING. If they don't want to do support, turn off GH Issues. If they require a specific 10-point series of steps before they look at a PR or Issue, put that in CONTRIBUTING. It's on the user to read this document and follow it - but it's on you to create it, so they know how to interface with you.
In general it is already in the license. Even permissive licenses like Expat have (in ALL CAPS no less)
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO [...]
There is zero need to indicate anything about CONTRIBUTING whatsoever because already it is clear that the developer already indicates that nothing can be taken for granted.
Of course it helps to be open about expectations.
I for instance don't put CONTRIBUTING instructions online but so far all of my stuff gets so little attention that I have received almost no feedback about my free software at all.
To me, this is perfectly OK and in line with the expectation that I for instance put my code online mostly for my own benefit. If it helps anyone else, all the better. But don't derive any more expectations from it because it's free...?
Maintainers are sometimes not perfect. But they are providing known value, and you are trying to add something with unknown value. That's an asymmetry which doesn't look like a mutual exchange. So I'd downgrade most of the hard obligations you describe to "it's really smart to do this."
I agree with the behavioral observations. People shouldn't be assholes just because they can. That applies to everyone everywhere. Reminding someone with a bit of power to not be a petty tyrant is fine with me.
> Maintainers don't get to be rude just because they run a project.
Everybody gets to be rude. They don't need your permission.
The rest of this is you just sort of making up standards that you're asserting that other people are obligated by "human decency" to adhere to. You're demanding ownership of other people's time and effort, and declaring that this obligation is triggered by the fact that they've already freely given of their own time and effort. You're the person who has been fed once and sues on those grounds to be fed forever.
If you, yourself, don't want to be rude, maybe reframe this as a list of suggestions that you think might be helpful to interact with people like you.
I've been maintaining a small CLI tool for about two years now, and the "human decency" point really resonates. There's a difference between saying "this doesn't fit the project goals" and being dismissive. When someone takes time to file a thoughtful issue, even a quick "thanks, but no" with a sentence of reasoning goes a long way. It costs nothing and keeps contributors around for when their next idea does align.
I think community development with repos out in the open and all that is increasingly a too high cost. I will migrate my little open source projects from GitHub as soon as I can decide on what site to post source code releases (tar.gz). Happy to share my code, but no need for everything to be out in the open.
IME, on GitHub (or the other major public repo services), it's far more likely than not that I can pull up an old version of a project from 10 years ago if I want to experiment with it. (In case other old things used it as a dependency, I really want to reproduce an old result, etc.)
On the vast majority of other distribution platforms, it's at best a 50/50 as to whether (a) the platform still exists with any of its contents, and (b) the authors haven't wiped all the old versions to clear up space or whatever. The former typically fails on academic personal websites (which generally get dumped within 5-15 years), and the latter typically fails on SourceForge-style sites.
That is to say, I am not a big fan of the popular alternatives to Git repos as a distribution method.
You are not entitled to that food or land over there, neither am I. What are we gonna do about it?
You're naive if you think your immune to social exploitation just cause you write some words. Your entire being is defined by social exploitation. You adopt our language, our roles etc but you believe you can transcend them when it's convenient. Developers aren't entitled to make people reliant on software and ghost them.
I'm sure teachers, firefighters and congress (lol) would all love to stay home and wait out the collapse of society, but they go to work because people rely on them. It's an odd thing for me to build a firetruck, go around pretending to be a firefighter (out compete and make the firefighters lose funding) and then snap back at people expecting me to work for free even though governments do fund open source.
If you volunteer as a crossing guard, even if you aren't paid, you have a duty of care. There aren't currently laws against your behavior, but if there is a pattern of such behavior it may be illegal. The EU through the CRA is doing good work in this regard.
Of course governments shouldn't compel people to work (>.o). But nobody wants to live in a world of abandoned core infrastructure projects. You aren't an exception, but you thought yourself special when you decided to work for free. Now instead of understanding why people work for money you scrawl against human nature.
Its an interesting situation when an asset (like an open source project) is run by a team of volunteers (community)... but due to licensing, it kind of belongs to the whole world (community)
As a user of a project, I DO have a voice... but unless I am actively contributing (money, time, resources), then my voice has a different weight.
On the one hand, I don't like the idea that anyone should get more influence simply because they pay money... or that anyone should have more power just because they are active in the project. Both of those situations are possible paths for corruption or abuse of power.
On the other hand, the tragedy of the commons is a real thing. People who take, never give back, and then have the audacity to not only ask but demand things... well, that makes me angry.
I've moved from being an idealist to a realist, when it comes to open source. I think the evolving models we are seeing that restrict commercial competition are sometimes pretty good (overall), and the rise in COSS is a positive sign. We need to ensure that good projects have a way to sustain themselves.
The best projects have people (or even teams) who are focused on bringing new people in and helping them contribute. Not everyone can do that, but I think finding ways to enable people to contribute (money, time, etc) is an important part of building the community.
(edit: I totally misunderstood the parent comment and wrote this reply. I've apologized for it in comment below. I could delete this comment but I am leaving it here so that others don't get confused when they see the replies below it.)
> or that anyone should have more power just because they are active in the project.
So you are saying that although I create a project to solve my problems but as soon as I make it open source (so that others can also benefit) my power on the project will become equal to the power every random person on earth has on my project?
If making my project reduces my power on the project, why would I ever open source anything?
Good thing that open source world does not work like that. When I make my project open source, I still have full power on my project and I decide what goes in it and what is rejected. I have no reason to not use the powers I have on the project.
If it ever became like you say that as the creator of an open source project, my powers will be equal to the powers of every random user, I'd stop making anything open source.
Open source has many altruistic and smart people that like to learn and build while benefiting others.
But then you also have high ego people motivated by building a personal brand, prestige and status... and open source is just means to that end. While their contributions are valuable, conflicts of interest arise.
I feel much better after reading this because our organizations are:
- funding OSS developers
- engaging with OSS developers to determine potential funding priorities
- providing project hardware at the project level
- providing hardware to the individual OSS developer
While we are not to the point of hosting events in Hawaii yet, I’m hoping we can see this as a teaming arrangement to accomplish great things together!
I can't say whether it accomplished its original intent, but my experience is that it's held up in really disappointing situations which sit counter to my collectivist values
I have a ton of experience with community-building, and what's espoused in this essay is an attack on the values of that world imho.
My take-home is that there are many conceptions of what "open source" is about, and from where its value flows
If you want to create and maintain a community that's fine, maybe even great. TFA is just pointing out that the presence of an OSS license is not an implicit signal that the project is interested in any such community. They're separate things, and my read is that the author is frustrated with the constant conflating of the two. It's not an attack on your values at all.
If you personally are willing to invest more, to dedicate attention and effort to every user/contributor/member of the opensource community you are maintaining, then that is great, and does not even conflict with the essay at all.
The only point is that all the time that you and other selfless maintainers are spending on their projects is not something that anyone is entitled to; it's a gift, not a duty.
To actually conflict witht the essay you would need to hold that any developer that ever publishes a piece of software is not only duty-bound to maintain it forever, but also to engage with every potential (crackpot) user or collaborator, and that's simply not a defensible perspective to me.
I remember the exact moment this clicked for me - dealing with a critical bug in a library maintained by one person, who owed me nothing. The entitlement culture around open source has gotten worse as more non-technical managers got involved. Nobody complains that Linux is free.
I understand what the author means, but I think that in any human-2-human interaction, we are all entitled to at least basic courtesy. For example, if you show courtesy by contributing to an open source project and following all the guidelines they have, I think it's fair to assume that courtesy will be shown in return. I know that may be difficult to achieve (e.g., a high volume of noise preventing project authors from giving courtesy to those who deserve it), but that doesn'tt mean we are entitled to nothing. And this has nothing to do with open source or software; it's just common sense when dealing with people.
But yeah, if you contribute something of very poor quality (you didn't give it the attention it needed, it's full of bugs, or shows no attention to detail; or these days, it's packed with AI-generated content that makes it 10x harder to digest, even if the intention is good), then perhaps you are not entitled to anything