Top
Best
New

Posted by doubleg 8 hours ago

Open source is not about you (2018)(gist.github.com)
187 points | 152 comments
kevincloudsec 7 hours ago|
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.

belval 7 hours ago||
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.

thwarted 5 hours ago|||
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.
Aurornis 1 hour ago||||
> got a form to fill from a Deloitte consultant about security once.

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.

joshlemer 6 hours ago||||
Maybe that would be a good opportunity to offer them a quote for how much you could do the work for.
embedding-shape 6 hours ago|||
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.
SoftTalker 5 hours ago|||
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.
warkdarrior 6 hours ago|||
Missed opportunity here. You could have offered consulting services, $10,000/hour. Compliance form requires at 40 hours of work minimum.
yunnpp 4 hours ago|||
No kidding. I don't maintain anything of enough popularity to warrant being approached like that, but a good hourly-rate answer would be the no-brainer response.
OrvalWintermute 1 hour ago|||
I do talk with OSS devs about “we need X for security and we are willing to provide X amount of funding”

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

dspillett 6 hours ago|||
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…

ArnoVW 5 hours ago|||
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.

hinkley 4 hours ago||
People are always going to neg you in order to try to get more out of you.

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.

dakiol 6 hours ago||
> 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

jmchuster 3 hours ago||
> 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.

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.

wizardforhire 1 hour ago||
Ah the dehumanizing nature of affluence… a right of passage for those fortunate enough to experience.

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.

shermantanktop 5 hours ago|||
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.

awesome_dude 3 hours ago||
I'm not saying you're wrong - but I do detest that attitude myself

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.

bostik 2 hours ago|||
The demands here are effectively extensions of netiquette[0] and "how to ask good questions"[1]. Every code contributor should at least understand what is asked of them.

[Julia's post sadly does not include the blunt expression "demonstrate that you have done your homework", which is a fundamental tenet.]

0: https://en.wiktionary.org/wiki/netiquette

1: https://jvns.ca/blog/good-questions/

shermantanktop 2 hours ago|||
What’s the solution then? This is one of those emotional-labor questions.

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.

awesome_dude 1 hour ago||
I've also seen maintainers complain about "drive by contributors" where one complaint is that the submitter has provided a good patch/PR, but doesn't stick around to support it.

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.

blenderob 5 hours ago|||
> 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.

Correct. The article does not disagree with you.

PantaloonFlames 1 hour ago|||
I don’t know you but I like you.

Courtesy costs very little.

hinkley 4 hours ago|||
There is not space in the collective consciousness for an infinite number of solutions to the same problem. I usually get downvoted for pointing this out but it explains why people shit on you when you start getting defensive about people calling your solution or attitude shit.

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.

bcrosby95 3 hours ago|||
The biggest assholes in your example are the people saying "Fuck Timothy". It's also not my fault those people are assholes. If they don't like my party that's fine. If they say i don't have music or whatever that's fine.

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.

hinkley 2 hours ago||
I’ve never been the popular kid for more than a few minutes. It felt weird when it happened, both due to impostor syndrome and the unfortunate situations where it most often happened. Like an altercation where I found I was seen more than I thought.

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.

dark-star 4 hours ago|||
> I think that in any human-2-human interaction, we are all entitled to at least basic courtesy

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.

throwaway613746 45 minutes ago||
[dead]
haberman 7 hours ago||
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.

nyeah 6 hours ago||
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.

haberman 5 hours ago||
> he eventually needed to write bluntly

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.

lukaszkorecki 4 hours ago||
I don't remember the exact situation, but I think this relates to this:

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...

ragall 3 hours ago||
Dissatisfaction n. 3 is the essence of the problem: "Because Clojure is a language and other people's jobs and lives depend on it, the project no longer feels like someone's personal project which invites a more democratic contribution process". This is a common, and modern, feeling that the more users a certain thing has, the more the creators/maintainers have a duty to treat it as a "commons or public infrastructure" and give the users a vote on how the thing is to be managed and developed. This is, of course, utter horsesh*t.
tetha 4 hours ago|||
Someone once said: Abuse and expectations erode a culture of cooperation.

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.

esafak 5 hours ago|||
Furthermore, writing down the contract calmly, as part of a plan, can avoid having to bang it out in frustration and leaving a bad taste.
travisjungroth 6 hours ago||
> I don't say this to criticize the linked post

What you have written is obviously a criticism of the linked post.

haberman 6 hours ago||
If I'm criticizing the linked post, then I'm also criticizing myself, because I could easily imagine having written it.
nyeah 6 hours ago||
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.
haberman 6 hours ago||
I don't see anything wrong with the way he expressed himself, and I think his point is totally legitimate. I mostly just felt bad that he experienced so much grief about it, on account of a gift he was offering to the world.
nyeah 4 hours ago||
"So much grief." It sounds like you're trying to interpret Hickey's emotions. How would you check whether your interpretation is accurate?
afandian 3 hours ago||
I don't know if you're a native English speaker, so apologies if this isn't appropriate. But the word 'grief' has more than one vernacular meaning.

"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.

M95D 4 hours ago||
This is the attitude that made me keep my patches to myself.

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.

bigstrat2003 4 hours ago||
> If you make your project public, it means you want and expect people to use 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.

ForceBru 4 hours ago|||
Yeah, I didn't like that attitude either.

> 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.

bigbadfeline 3 hours ago||
Right, it sounds like "you don't matter to me", which I read as "Oops, wrong address, go find somebody else".

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.

bachmeier 4 hours ago|||
Years ago, I tried the hot new Linux distribution. I tried to install a couple of popular packages, but they failed, due to lacking a dependency. I installed that dependency and it worked.

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.

lucketone 1 hour ago|||
> me keep my patches to myself.

Exactly.

Nobody is entitled to your patches.

throwaway346434 3 hours ago|||
I agree. I would add a pet peeve of mine:

- 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".

zzzeek 4 hours ago|||
> - If you make your project public, it means you want and expect people to use it.

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

M95D 3 hours ago||
> no, it doesn't, maybe I have a github project, I want to easily share it with ten of my friends for something,

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.

ragall 3 hours ago|||
> Then make it private

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.

M95D 2 hours ago||
> [...] you have wrong expectations.

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?

Capricorn2481 1 hour ago||
Just sounds like you've moved the goal posts to something completely different. This entire statement is addressing people frustrated with their half broken PRs being closed. It has nothing to do with "not clicking the reject button"
wat10000 3 hours ago||||
Sorry, unless your IP is being infringed, you don't get to decide what's private or public. The internet is a vast and wondrous place. Figuring out which parts of it are worth your time is a you problem.
throwaway346434 2 hours ago||
Picture this scenario.

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.

wat10000 2 hours ago||
Now imagine I make a weird cake and I think it's interesting. I put up a poster with a photo and a recipe and say "thought this was cool, try it if you want." And then some nonce comes along and tells me off for a reckless disregard of other people's time and nerves. Compares it to an open manhole cover that could get somebody killed.

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.

M95D 1 hour ago||
Probably won't get anyone killed, but I've seen loss of data. Valuable data. And now you're going to point to the disclaimer and 321 backups...

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.

wat10000 1 hour ago||
Why are you trusting data to some random open-source project with no documentation?

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.

hinkley 1 hour ago|||
Anything you in a public space, will be made social by someone eventually. If you (GP) don't like it then tough shit. That's a You Problem, not an Us 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.

Capricorn2481 1 hour ago||
Making a PR is also in the public space, and if your PR is lazy spam, you deserve a less generous response than the one Hickey gave.
wat10000 3 hours ago||
I can't tell if this is satire or not. I fear that it's not.

"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.

hinkley 1 hour ago||
I sing in the shower all the time. I'd rather have my fingernails pulled out one at a time and the video sold to psychopaths than go to an open mic night or participate in a talent show.

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.

0xbadcafebee 6 hours ago||
Counterpoints:

- 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.)

Linux-Fan 5 hours ago||
> - 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...?

shermantanktop 5 hours ago|||
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.

hinkley 1 hour ago||
I find code I wrote that violates advice I've given other people all the time. I've made release cycle mistakes on projects I maintain that I would have bet money a few years ago that you'd never catch me making.

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.

hinkley 1 hour ago|||
> Counterpoints:

> - 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.

elzbardico 46 minutes ago||
Women deal weaponized politeness a lot. There. Corrected it for you
hinkley 7 minutes ago||
That's so edgy.

I just said that?

chasd00 3 hours ago|||
what you're describing is how to be a nice person, that really has nothing to do with owning a source code repository. Fortunately, most people are nice but there's no requirement or obligation to be that way when setting up a public remote repository (github or otherwise).
pessimizer 5 hours ago||
> 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.

dang 35 minutes ago||
Related. Others?

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)

jaredcwhite 4 hours ago||
I don't know why people keep sharing this. It's highly offensive and inflammatory. Plenty of open source projects consider themselves a community which welcome newcomers, take governance seriously, and ensure that even if suggestions or contributions are rejected, it's done in a thoughtful and considerate way. Acting like a jerk isn't a blueprint for how to be a good maintainer, it's how to be a jerk. And this "us experts vs. entitled users" mentality is cultural poison.
ragall 3 hours ago||
> It's highly offensive and inflammatory.

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.

strken 1 hour ago|||
It is sane but not rational, sometimes factually correct in places, highly offensive, and inflammatory. I don't use Clojure and reading it makes me never want to use Clojure.

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.

ragall 42 minutes ago||
> It is sane but not rational, sometimes factually correct in places, highly offensive, and inflammatory.

Calling this offensive and inflammatory can only come from someone who is extremely conflict-avoidant. For my Italian sensibilities, it's quite milquetoast.

throwaway346434 2 hours ago|||
You might need to go back and read that one again, this is the faintest criticism of a lengthy screed in which the person you are replying to labels user-hostile behaviours as "acting like a jerk" and generally disapproves.

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?

ragall 48 minutes ago||
The only thing I get from your reply is that I'm sorry HN doesn't allow blocking users.
k33n 3 hours ago||
Calling someone a jerk for their views on how OSS should or shouldn’t function isn’t appropriate.

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.

raincole 5 hours ago||
> 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.

ectospheno 4 hours ago|
> 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.

ragall 3 hours ago||
There's a very good reason: we need the users to be aware of this, and exert self-restraint in communications with the developer team otherwise public fora become untenable and the core team, to avoid being pestered, will be forced to switch to closed, invite-only, comms channels (private mailing lists, private Discord servers, etc...). It's very valuable to be able to keep publicly accessible channels.
didgetmaster 5 hours ago||
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?
hinkley 4 hours ago|
I don’t disagree with Rich Hickey a lot but this one grinds my gears:

> 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.

bigstrat2003 4 hours ago|
No, he's completely right on that point. There's this weird misconception in the tech community that "open source" means "you'll accept my contributions if I send them". I've seen people try to argue (in complete seriousness) that SQLite isn't open source because the developers keep contributions private.

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.

chasd00 3 hours ago|||
> I don't know where the mistaken conflating of "open source" and "developed by the community" comes from

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.

hinkley 3 hours ago|||
I’m not disagreeing that people get entitled about the gifts they think they’re bringing to someone else’s party. Yeah it’s frustrating and sometimes it’s bonkers. Don’t bring “lutefisk” to someone else’s party and expect to be celebrated as a hero.

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.

jltsiren 3 hours ago||
A gift economy only exists between people who agree that they are participating in one.

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.

ragall 38 minutes ago|||
> If you use open source software, you are expected to contribute.

No, not in a million years.

hinkley 3 hours ago|||
No, emphatically not. We are surrounded by them and people behave as if they are without acknowledging it. Saying it isn’t so doesn’t change the fact that we give more attention to people who [give] us free shit. It’s baked into our little monkey brains.
More comments...