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.
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.
It could be someone trying to extract free work, but in my experience this person was probably trained by someone else about how to handle vendor compliance for contracted vendors.
Some times the people in these grunt work consulting positions aren't really knowledgable about the space. They're in those positions because they can follow directions and will diligently grind out billable hours. Their default mode for getting things done is to try what worked last time, and if that fails they just start looking for names to send the request to until someone does it.
As others mentioned, you could have said "Compliance forms are $1000, payable to ____" and the consultant may have diligently gone through their mental process about where to direct invoices for work.
You’d be amazed how much OSS devs will do for you when your request of something they wanted to do anyways (but had no impetus for prioritization) is matched by a healthy rate
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…
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.
During the 00’s I worked for a place that had to pivot because they had a good tool but it wasn’t a daily driver and so the customers didn’t want to pay. They kept imagining some free alternative must exist that didn’t.
They eventually got an exit. Didn’t make anyone rich but they did. But the thing is I showed up to work on that tool, not knowing they’d already pivoted. I did eventually get to work on it a bit, as we found a way to improve one of our other products by fixing bugs in it. I’m kinda glad in retrospect I didn’t work on it first because the code was a mess.
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
This only holds up for the "small" number of human interactions the average person gets. If my neighbor comes and rings my doorbell to say hello, I'm fine answering and shooting the shit, maybe invite them in for a quick coffee.
If every 5 minutes a strange comes in and rings my doorbell, I'm not getting up and answering it. And some people visiting will get angry and start pounding on the door and coming to my window and pounding on it glaring at me inside. And say, hey, I drove all the way from hours away to come visit you, the least you could do is open the door and say hello.
For them, it's their first human-2-human interaction that day, with someone they slightly admire even, and they're expecting basic human courtesy. To me, they're just the 42nd doorbell ringer today.
The challenge is in how to manage and and maintain the interest, less one falls back into the realm of obscurity or worse be tarnished reputationally so as to never recover.
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.
As you say, trust is a two way street, and first time contributors are being expected to trust that it's not personal when they are met with brusquerie.
I know it's hard when it's the 99th person and you've had to deal with 98 less than nice individuals, but defaulting to an abrupt or blunt manner does nobody any favours.
[Julia's post sadly does not include the blunt expression "demonstrate that you have done your homework", which is a fundamental tenet.]
Who is responsible for new contributors having a good experience? Especially thousands of eager, misinformed contributors?
It’s a DDOS that exhausts and burns out the maintainer even while the supply of newbie contributors is rarely meaningfully impacted by maintainer conduct.
The world has givers and takers, and we are all both at different times. The newbie thinks they are a giver, but mostly they are a taker.
From the submitters point of view, why /would/ you stick around if your first (and only) interaction with the project is less than "ideal"
FTR I absolutely understand the "burnout" maintainers experience dealing with contributors that drain energy as well.
Correct. The article does not disagree with you.
Courtesy costs very little.
Let's say courtesy only requires five minutes of my time. There are millions of users of the programming language I work on. Let's say only 0.1% of them desire my courtesy. Even at that small fraction, I'm going to spend 83 hours out of every 24 hour day (including weekends and holidays) giving each of them that cheap courtesy.
Reasonable people won’t start a project in an already oversubscribed niche. So yes, it does matter if you’re doing more than the minimum. It’s a social contract because you’re using up the oxygen.
I liken it to throwing a party. Yes it’s your party, but I can’t go to your party if it’s Timothy’s birthday. But if you’re popular enough then people will say “fuck Timothy” and that’s not cool. And you don’thave to be a great host and you can absolutely lock your bedroom door, but there better be snacks and maybe music, or people will talk about you behind your back. Or if you bring lutefisk and nobody there is Scandinavian. Read the room dude.
There are way too many software people who think, “well you didn’t have to come to my party/eat what I brought” is a valid response to criticism.
That’s not how social things work, and open source is one.
If they tell me I don't know how to run parties and all parties need to have music and snacks or else its not a party I'm gonna tell them to fuck off.
But I’ve been involved with highly successful clubs from a young age, and I have to take things apart to understand them. I also lived for ten years with a woman who wanted to not only be in every club she saw but take over them, and I got a good anthropology study in to what things she made better and which she made worse (did I mention we aren’t together anymore?)
The reasons they were popular often turned out not to be the reasons I would have thought. Stupid little things like keeping a consistent location and meeting time seem small but the outcomes are outsized.
(Inline edit, I’m such a space cadet I left out the punchline) one of the biggest is figuring out how to successfully channel the enthusiasm of new members 90% of which will be gone in 6-18 months. Which OSS has in truckloads.
As I’ve matured I’ve realized that I should not dream of being in charge of these organizations anymore. The qualities (or energies really) I possess in insufficient quantities to keep that many plates spinning. Properly. So I help those people be the leaders we need, and I hop in when the stars align and my energies are sufficient to take something off their plate. And god forbid they get hit by a bus and I become acting president of VP, my first effort would be in grooming a replacement, not trying to take over.
You can’t have an objective conversation about this sort of stuff with people who still have a chip on their shoulder about how they’re right and the universe is wrong for not understanding how amazing you are. You’re right, but you’re also tragically wrong. And until you grasp that you will be railing against the universe for the indignities it thrust upon you.
I get that vibe in a lot of these conversations. And I wish I knew how to find the people who understand this. All I can do is talk to the people who rail and hope the silent audience gets something from it.
Why? If you are hostile towards me, mock me, or attack me or are in some other way a douche towards me, I reserve the right to handle you in any way that I want to. My opinion of you has to be earned, just like respect. There is no entitlement for my basic courtesy. I am willing to give everyone the benefit of doubt at the beginning, and extend courtesy, but "entitlement"? no. You do not get to decide what I think or how I feel about you.
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.
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.
Clojure core was sent a set of patches that were supposed to improve performance of immutable data structures but were provided without much consideration of the bigger picture or over optimized for a specific use case.
There's a Reddit thread which provides a bit more detail so excuse me if I got some of it wrong: https://www.reddit.com/r/Clojure/comments/a01hu2/the_current...
*Edit* - actually this a better summary: https://old.reddit.com/r/Clojure/comments/a0pjq9/rich_hickey...
I am currently seeing this in real time at $work. A flagship product has been placed onto the platform we're building, and the entire sales/marketing/project culture is not adjusting at all. People are pushy, abusive, communicate badly and escalate everything to the C-Level. As a result, we in Platform Engineering are now channeling our inner old school sysadmins, put up support processes, tickets, rules, expectations and everything else can go die in a ditch.
Everyone suffers now, but we need to do this to manage our own sanity.
And to me at least, it feels like this is happening with a lot of OSS infrastructure projects. People are getting really pushy and pissy about something they need from these projects. I'd rather talk to my boss to setup a PR for something we need (and I'm decently successful with those), but other people are just very angry that OSS projects don't fullfil their very niche need.
And then you get into this area of anger, frustration, putting down boundaries that are harmful but necessary to the maintainers.
Even just "sending them to the CONTRIBUTING.md". Just with a few people at work, we are sending out dozens of reminders about the documentation and how to work with us effectively per week to just a few people. This is not something I would do on my free time for just a singular day and the pain-curbing salary is also looking slim so far.
What you have written is obviously a criticism of the linked post.
"Giving someone grief" means giving someone a hard time.
So "he experienced so much grief" can just mean that it can just mean that people criticised him. It doesn't necessarily express anything about Rich Hickey's state of mind.
Hey, you, FOSS maintainer, whoever you are:
- If you make your project public, it means you want and expect people to use it. You could at least write some documentation, so I don't waste my time and then find out, days later, it isn't capable of what I need or I simply don't know how to use it.
- If you set up a bug tracker, then at least have the decency to answer bug reports. Bugs make it unusable. Someone took the time to write those bug reports. I'm not asking to fix them (I lost that hope decades ago), but at least you could give a one line answer or 2-line guidance for some another person that might want to try a fix - "I don't have time to fix it, sorry, but it's probably because of <that thing> in <that file>." I mean, you wrote the stuff! One minute of thinking on your part is the same as 6 hours of digging for someone who never saw the code before.
- If you open it up to pull requests, it means you want people to contribute. Have the decency to review them. Someone took time away from their jobs, families or entertainment to write those PRs. Ignoring them because you don't need that feature, not affected by the bug, or simply because of code aesthetics is an insult to the one who wrote it.
PS:
- And no, don't expect someone else to write the documentation for your code. Same as the bugs: 1 minute of your time is 6 hours of work for someone else.
If you can't do at least these things, just say it's abandoned on the front page and be done with it.
This isn't true. For many people (myself included), making a project open source means "if you find it useful feel free to make use of it, if not I don't really mind". I don't care, at all, if one soul finds my code useful. It's a gift to the commons, not some kind of social obligation I'm agreeing to.
> 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.
Sure, I'm not entitled to anything. At the same time, this text essentially says "you don't matter", which I personally don't like.
The bigger problem here is that the OP author is pretending to be a speaker for all open source, I guess there's no other way to justify the uncompromising attitude he somehow developed.
AI will undoubtedly change how OSS works, bot-submited PRs can be overwhelming, authors should not despair though, where there's a will, there's a way.
It's natural to file a bug report for this type of problem. I told them the missing dependency and assumed they'd make a minor adjustment and push out a fix for the buggy package. Instead, they closed the bug with a rude message about how it was a waste of everyone's time to file a bug report without an exact error message, and the buggy package just sat there.
They probably went on to become a SO mod, closing questions because they were duplicates of unrelated questions, but that's speculation.
Exactly.
Nobody is entitled to your patches.
- Don't publish a code of conduct and then be an absolute asshole to contributors (pick a lane and stick to it)
I feel there is a lot of performative policy published, which at the end of the day is lip service. Actual users or contributors come along and follow the guidance, expectations, etc? They then find themselves treated like a hostile entity and there is a weird prevailing attitude here that's "fine".
no, it doesn't, maybe I have a github project, I want to easily share it with ten of my friends for something, I don't particularly care if other people see it, so I make it public. That in no way implies I want random people to come along with bugs and PRs.
> You could at least write some documentation, so I don't waste my time and then find out, days later, i
if it doesnt have any documentation then that is a clear sign you should not expect anything from the author of that software. if reading some code and figuring out if it's useful to you or not is too much of a risk of your time, then assume it's not useful and move onto something else.
> If you set up a bug tracker, then at least have the decency to answer bug reports.
maybe the author had time and energy to answer bug reports a few years ago and maybe right now they don't. When bugs go unanswered (like, all the bugs, not just one in particular), that means the project is possibly in an unmaintained or semi-unmaintained status, might be time to move on. Or if it's just your bug, it usually means your bug is something the maintainers don't care about or dont have the cycles to spend effort on (again, could be time to move on).
certainly, if I'm an OSS author and I want people to use my project and stay with it, then yes, I'm certainly going to answer all bug reports. But I have no such obligation (indeed I have lots of projects and are in both categories and many in between).
> If you open it up to pull requests, it means you want people to contribute. Have the decency to review them. Someone took time away from their jobs, families or entertainment to write those PRs. Ignoring them because you don't need that feature, not affected by the bug, or simply because of code aesthetics is an insult to the one who wrote it.
counterpoint, people who barge in on your project with huge PRs for features or changes that were not discussed at all much less signed off on by the maintainers are incredibly rude and entitled, because they are using exactly your logic above "I starved my family to bring this to you!" to guilt you into taking your project into directions you may not have wanted, and beyond that, PRs are just as much work for maintainers as for the person contributing them. An unannounced PR to me is pretty much a bug report with a guilt trip attached, no thanks. I really wish Github would provide more options in this area.
- a maintainer
Then make it private.
> I don't particularly care if other people see it, so I make it public.
Yeah, I see someone else made the same argument. It's a reckless disregard of other people's time and nerves. Build labyrinths and scatter them around the internet. Leave manholes uncovered. Markov chains to trap humans. You could at least say it's not maintained - no, not in the disclaimer.
> maybe the author had time and energy to answer bug reports a few years ago and maybe right now they don't.
Then close bug tracker and post "Abandoned" on the front page.
> counterpoint, people who barge in on your project with huge PRs for features or changes that were not discussed at all
Then say so and then reject them. That's what PR review means. I don't have a problem with rejected PRs. I have a problem with ignored PRs.
You don't get to decide that.
> It's a reckless disregard of other people's time and nerves. Build labyrinths and scatter them around the internet. Leave manholes uncovered.
That's a *you* problem, because you have wrong expectations.
> Then close bug tracker and post "Abandoned" on the front page.
You don't get to decide that.
> Then say so and then reject them. That's what PR review means. I don't have a problem with rejected PRs. I have a problem with ignored PRs.
Another case of you having wrong expectations. Like in networking, you should put a timeout on all requests. For all practical purposes a request that times out is to be treated the same as a rejection.
I did. (Past tense.) I'm calibrated now.
> You don't get to decide that.
You're exactly right. I only get to decide what I do with my own toys. And I've decided I won't waste any of my time. If you (plural) can't write a one line answer to a bug report or click a reject PR button, then why should I put any effort?
Isn't it nice "git clone" was invented?
You make one really good birthday cake. Following the success of this went to your local school fete out of the goodness of your heart and set up a cake stall, had a complaints and suggestions box on the table, maybe even had a donation tin out. You know it's out of the goodness of you heart because everyone will SEE you doing this and maybe you'll get hired by the local bakery.
But then it's a bit of a long day and you start screaming at everyone who came up to you for wasting your time, rejected requests to not put broken glass fragments in the cakes, get into a fistfight with the local health inspector who pointed out you need certain food prep hygiene practices. You get big mad, and leave your stall in a huff, where hapless strangers stumble across your cakes only to find they are now covered in bugs and get sick from eating them.
Would this be acceptable or unacceptable behaviour on your part? Are you as the cake stall operator taking advantage of the the commons in any way (donations, showing off your bake-folio?) Are you damaging the commons or people visiting the commons? Does your free speech expressed in cake form outweigh the rights of people to tell you to change what you are doing? Does your freedom of expression mean you should never be accountable? Should people be thankful that you let them have cakes covered in bugs, even if they get sick as a result? Does the local health inspector who is an expert in a domain that overlaps with everything food have any standing?
This is a contrived thought exercise; obviously.
But I would bet that you clearly identify that violated social norms aren't great; you would agree there are expectations about access to a commons have implied standards of behaviour for all parties; you have expectations around quality vs general safety, etc.
Throwing some interesting code onto a web site isn't like setting up a booth at a community event. Its not even really like putting up a poster, since posters get seen by whoever happens to come nearby whereas web sites only get seen by people who seek them out, but it's about the closest you'll get to a real-world analogy.
Websites are seen by everyone seeking not a site, but a feature, via search engines. Same as a poster if you look in that direction.
The search engine is only going to direct you to my open source repo if you're searching for whatever it does. It's as if you'd only see my cake recipe if you were searching for cake recipes. And just like cake recipes, your search results will contain everything from superb production-tested projects (if there are any) to random stuff people have put up that isn't really used.
If you're searching for software and you find some random project that isn't very well tested or maintained, and you put that project to use in a place where it can cause data loss, that again sounds like a you problem.
And you can make github repositories that others can see but not the rest of us, it just costs a little money. You can host a book club at your house too and not have to listen to other people snicker at your friends' commentary on the book at the coffee shop. But if they're gonna keep saying stupid shit in the middle of a Starbucks, then someone is going to butt in.
"If you make your project public, it means you want and expect people to use it. You could at least write some documentation, so I don't waste my time and then find out, days later, it isn't capable of what I need or I simply don't know how to use it."
WTF? If I make it public it's because I think other people might like to see it. That runs the gamut from "this is a production-ready project that solves a major problem" to "this is useless but shows some interesting techniques you might like to learn from."
If you spent days fiddling with an undocumented project that turned out not to do what you need, I'm not the one who wasted your time. That would be you.
If you want to limit yourself to only looking at high-quality projects with documentations and active bug trackers and PR reviewers, go for it. That's probably a good move! But putting some source files on a web server does not imply any further obligation, in those areas or any other.
I know what I am and I know the degree to which people suck. Don't walk into abuse teeth first and then make a surprise Pikachu face about it.
- 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.)
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...?
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.
The siren song of One More Commit or One More PR is out there, and there's always going to be some fraction of your work you do that in retrospect you should have slept on, maybe twice. (I recently fixed a problem I've been staring at for a year in an afternoon after a new, stupidly simple solution presented itself on a walk)
But there are lines, and you have to be careful not to go across them either too far or too often. Or you have to be utterly indispensable like Linus, and have a thick skin to criticism... like Linus. And if you have a thick skin to criticism you don't write long screeds about how everyone else is wrong and you're right. You just move on.
> - 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.
There is a subtle line here and I have some sympathy for both sides of this debate because for a long time there, and in some ways is still happening under different names now, we conflated decency with respect. So it gets a little weird.
We treat the guy ringing our doorbell with decency. We treat our new boss with respect. We treat the person spouting nonsense with decency, not respect. Free Speech says I can say anything I want but it also says that you can call me names for doing so. That's the difference between decency and respect, and it's important everyone knows what they mean when they say 'decency', instead of what they think they mean.
I honestly wish there were more women participating in these sorts of conversations because they have to deal with weaponized politeness on a daily basis, and I suspect the correct line for open source is a little closer to their definition of decency than mine.
I just said that?
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.
Open Source Is Not About You (2018) - https://news.ycombinator.com/item?id=39905557 - April 2024 (1 comment)
Open source is not about you (2018) - https://news.ycombinator.com/item?id=31957554 - July 2022 (205 comments)
Open Source Is Not About You (2018) - https://news.ycombinator.com/item?id=27003713 - May 2021 (5 comments)
Open Source is Not About You - https://news.ycombinator.com/item?id=18538123 - Nov 2018 (277 comments)
It is sane and factually correct.
> Plenty of open source projects consider themselves a community which welcome newcomers, take governance seriously
Rich is taking governance very seriously. Others aren't and give nobodies the right to vote. In any case, he's factually correct. Nothing in open source implies anything about any type of governance, as "Open source is a licensing and delivery mechanism, period".
> Acting like a jerk
Pot, meet kettle.
Everybody is entitled to say (but not dictate) how something should work. Holding and expressing opinions is an innate human right, and the developed world only takes it away in extreme circumstances. Talking about open source governance is not an extreme circumstance.
We are not legally entitled to basic politeness, but politeness is enforced socially rather than morally, and failing to be polite means risking social consequences. If I used Clojure and I read the linked article, I would avoid hiring Cognitech, which is the exact problem Rich mentions.
Calling this offensive and inflammatory can only come from someone who is extremely conflict-avoidant. For my Italian sensibilities, it's quite milquetoast.
Your counter argument to this is to just be contrarian and imply they are a jerk... because, well, you don't agree with them. You didn't add substance to the discussion (facts, evidence, argument seeking middle ground), you just sought to set fire to someone because you were uncomfortable with the dim prospect you might be wrong/guilty of acting like this/be the subject of the criticism.
Do you see how this undermines your point of view/actually re-enforces the validity of the criticism?
It’s actually completely out of line and smacks of the very entitlement described in the piece.
Don’t agree with his views? Go make your own project and run it however you want.
Cultural poison? The truly cultured understand that a monoculture would be the real poison. There’s room for all modes of operation in OSS. Without “jerks”, there’d be no Linux and there would be nothing else of high value either.
If you want to sit around and hold hands then find a project where they do that, or maybe just take up finger painting.
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.
I agree. I’ve often wondered why open source maintainers get worked up over this. You can just ignore them. Odds are the maintainer spent zero seconds thinking about the person before the negativity over the course of their entire lives to that point. Why let them have free rent in your head now? Chuckle and go on not thinking about them for the remainder of your life.
> 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,
Open source is effectively a gift economy. And we actually talked about it being so in the late 90’s early 00’s. Gift economies are older than human civilization. This is not a recently invented thing, nor is it a mythology. They have rules about how much either party can impose upon the other.
Yes people on the receiving end of those gifts can be entitled brats. That doesn’t negate all social contract on the other side, until it escalates far beyond propriety.
Edit to add:
Rich’s sense of authority to say things like this comes not from his prowess in writing code, which is noteworthy, but from his substantial participation in that gift economy that he is negating here. That entitlement he feels to say something is how gift economies work. Those who gave more have the authority to comment on what happens next.
I don't know where the mistaken conflating of "open source" and "developed by the community" comes from, but it is mistaken, and Rich was quite right to push back on it.
i think people confuse github with a social network and all the extra social conventions that come with that instead of just a place to remotely host a git repository. Open source is just a license model, if no PRs were accepted, all communication ignored, and no bug fixes made globally forever an open source project would still be open source. Take the code and do what you want as long as you comply with the license, that's all open source is.
That doesn’t absolve the host of all scrutiny in perpetuity, and that’s usually how these conversations go. This is a popularity contest and trying to have that conversation with, frankly, people who have never one a popularity contest is exhausting. But you still have to point out things to your unrepentant friend even if they don’t seem to listen.
It’s not a conflation. Open source is two things. One, a way to trick your boss into letting you keep using tools you developed here at your next job. Two, a gift economy we are all participating in. Gift economies are a community. Whether you want it to be or not, it is.
That we listen to Rich Hickey at all is almost entirely down to the latter. He has given many gifts and this entitled to a soapbox precisely because of the gifts. You can’t have your cake and eat it too. Suck it up buttercup. Or, continue to act confused and indignant as people call you and people like you out for the rest of time. It’s not going to stop.
Gifts between equals create expectations of reciprocity. If you use open source software, you are expected to contribute. Accepting a gift without an intention to reciprocate is an admission of social inferiority. Users who don't see themselves as socially inferior to developers are not participating in the gift economy and not bound by the social contract.
I wish I'd read your response more thoroughly before responding from my phone in a parking lot.
You do not understand gift economies at all. You've reduced them to transactionality, which is capitalism, and capitalism kills gift economies for fun.
Robin Wall Kimmerer is a molecular biologist who is also a mother and a member of the Anishnaabe peoples. Braiding Sweetgrass is a book everyone should read, but you especially. The Serviceberry is a much shorter and denser discussion of gift economies but I doubt it's approachable for anyone who has read nothing of hers.
No, not in a million years.
I was reminded of this gist when reading the discussion about MinIO (https://news.ycombinator.com/item?id=47000041).
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).
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.
But indeed yes, I can see that connection.
A thesis on "don't abuse people in open source" and a bot "abusing people in open source"?
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.
And before that, compressed archives on BBS, or type in listings with snail mail.
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.
github is run by microsoft to sell tools to your CEO with the ultimate aim of making you redundant
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've since worked with some brilliant devs who were too smart for their own good and a lot of that came down to the difference between being able to create a solution and being able to explain a solution. There's a reason I hold Richard Feynman in very high regard, and it's down to his ability to pluck things from a very high shelf and hand them to 'shorter' people.
The last person to find his way onto my Do Not Hire list, was one of these too smart but inarticulate folks. Since that list is only about half a dozen people over almost 30 years, I think that says a lot about his character and what an absolute bull in a china shop he was. I'd need an Uber after discussing his many flaws over beers. Or maybe a stomach pump at the ER.
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.
That's cool you're able to make what you want with that tech.
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.
Nobody owes you a new release, or a signed binary, or a feature you care about.
It's not unlike how the game I gave someone as a birthday present on Steam has only been played for 2 hours and I'm absolutely certain it'd be his favorite game if he just got out of the character creator and played the goddamned thing. <cleansing breath> It's fine. Everything is fine.
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.
> 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.
For me, especially when I'm increasing the bus number of something I worked on at work, it's down to two things. Either I'm hoping that my 'power' will remain the same but the 'power' of the project will grow and the new people will take their share out of the surplus.
Or, I want to focus my power elsewhere, and as long as I'm sole proprietor to this project I will be associated with it to the exclusion of other things. It was having my face pressed against glass of shiny new things I was iced out of at work that finally taught me the value of sharing. Indispensable can make you typecast. Deputizing someone has benefits that usually outweigh the costs.
I never said that, or implied it. It would be dumb to say that someone who creates an open source project is at the mercy of the people who use it.
But, many people have had the experience of dealing with loud voices in open source communities, and sometimes abusive voices. Or people who are pushing/promoting things that they want but are actually contrary to the goals and well being of the project.
As I stated, that power is a potential route to abuse. This is absolutely true whether the person is a maintainer, contributor, or creator.
If you create an open source project, of course you have absolute power over it... to suggest otherwise is foolish.
And we have seen projects that fail or collapse due to lack of leadership, corrosive culture, myopia, or burnout. That is inevitable.
My point is that we need to be realistic about these things. This goes back to the original post that "open source is not about you". Users aren't "owe" anything by a project or its creator. At the same time, creators/maintainers have a relationship with the community.
How they choose to manage that relationship is their choice... but we should be aware and honest about what that means and how it impacts the project (and the community).
I respect your willingness to modify your original stance upon closer examination. Non-ironic hat tip.
Once again confusing the two and proving that “Open Source” was the worst thing to ever happen to “Free Software”
FOSS is simply computer users doing what they have always done, and accomplishing things no one (or no company) could ever do on their own.
For those that paid tens of thousands of dollars to keep the office talent happy with what they know software wise, it has been my observation the training and support is often still missing on the commercial options as well... once they get paid.
Finally, most become locked into a vendors up-sold ecosystem as they choke off compatibility with other external product workflows. And you can't add something to fit your specific use-case, as single users don't matter in business products.
FOSS is usually better in almost every way most of the time, but often lacks stability as upstream projects continuously undergo permutation. Note, even the old closed-source Nvidia GPU drivers in kernel <6.0.8 are now abandoned in >6.15 to send a lot of old Linux laptops to the landfill.
Confusing skill issues with the realty of the software business is common. =3
That's new
Edit: https://web.archive.org/web/20260213161600/https://gist.gith...
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!
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 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
How do people keep finding and using it?
How do complaints or feature requests keep arriving?
Why is the published to an audience that doesn't exist?
Or is it fair to say the project has published in public, so has contact with a very broad community already?
It clearly does not, however the members of the community need to know their place.
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.
That you are entitled to have say too.
That such & such says should be followed, nope.
But one could say it's even less about you with close source.
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.
https://hibernate.atlassian.net/jira/software/c/projects/HHH...
Just look at clojure's stats and understand what this "wisdom" brings
I've always felt this is incorrect. First, because lots of people use open source to further their careers, it isn't. Open source contributions are paid work if you benefit from them in any way. Second, if you use open source yourself, your work is no longer a gift. You're contributing back to the community you've taken from. The person you're being a jerk to because it's a "gift" might be the author of other software you've used.