"You will be prevented from grumbling about the software"
"Users must all patch or fork the software"
"Everybody will be forced to use the software"
"You will be punished if you express opinions"
"You are not allowed to mute or block others"
"You must not think about the opinions of others, but you must pay attention"
Parsing out all the bizarrely obvious stuff from this post, if we try to distill it down to an opinion, what's hidden in there? It should be expressed in terms of good and bad, not liberty. The liberty is obvious. What's it saying about what people ought to do?
* Devs ought to respect their grumbling users. They ought not be pissy about users who grumble but don't contribute. They ought not have some insular concept of loyalty where users who use other software are outsiders or splitters.
* Devs ought to selectively ignore their grumbling users, though, and contributors, instead of acting like slaves and getting burnt out. In this there's an implication that it's right to think you own your (version of your) project, and that you should control it if that pleases you.
* We should communicate our opinions, should not harass anyone, and should stop listening when bored or annoyed.
It all makes more sense when couched in moralistic terms, I think. Because it's not in fact about freedoms.
Why should we respect grumbling users? Why should we listen, or selectively stop listening when we’re annoyed? You’re not my real dad.
After all, being grumpy is fun. It also serves lots of needs - for the individual and for the community. Grumping is a soft way of expressing a perceived break of community norms and expectations, and it draws attention to the break. We have evolved emotions like this for a reason. “Negative” emotions like grumpiness exists to serve us and serve our tribes.
Our emotions are not very well adapted to the internet environment with millions of strangers, echo chambers and so on. But the internet does allow to just ignore unwanted communication. Makes sense to use that when necessary.
Most of our emotions are adapted just fine. The things that get in the way are:
- People suppress some of their feelings. Especially people in certain cultures with certain feelings (Californians & Canadians with anger, Australians & Brits with pride, etc). Suppression also means nobody knows how to receive that feeling and they get weird.
- When you suppress certain emotions, they don’t get a chance to “grow up” from a childish expression to an adult expression. Adult anger looks different from child anger.
Ignore things if you want. But I think that’s a lower skill, worse outcome choice in general.
What I think is unfortunate is where projects decide to write off user feedback only because the user in question hasn't contributed anything other than that feedback. Even if quite a lot of users are saying the same thing.
It is, of course, their right. I just think it's unfortunate, especially when "users" and "potential developers" doesn't have a very big overlap.
I think it’s a mistake to broadly think of open source maintainers as vendors of free software, whose “job” is to make their users happy. Maintainers can do what they want. Complaining about missing features is like coming into someone’s house and criticising their furniture.
The most important button on GitHub isn’t “create issue”. It’s “fork”. Use it to fix your own problems.
When “users” and “potential developers” don’t have overlap, the developers often feel pressure to act as unpaid customer support reps. We should normalise telling beggars to move on.
> I think it’s a mistake to broadly think of open source maintainers as vendors of free software, whose “job” is to make their users happy.
I can think of prominent projects that try to position themselves as "the one true FREE X and everyone should use it" - certainly implicitly, and certainly in the tone of their outreach. I think it's a mistake for open source projects in that mould to think of their users as ungrateful sods.
> Complaining about missing features is like coming into someone’s house and criticising their furniture.
I mean... yes? If you've invited me into your house and then decided that the sofa needs to move to its true home half-way up the stairs while I'm trying to climb them to get to the bathroom, then yes, that's your call, and yes, I'm going to point out that it's both brain-dead idiotic as a general idea and deeply inconvenient not just to me personally but to anyone else you might have over for dinner. You might, on hearing that feedback, decide that the living room is a better place for it after all. You might decide that the sofa is actually more comfortable at a 45 degree angle, and that nobody should be using the bathroom anyway, including you. I leave it to you to decide what the better outcome here would be.
> Maintainers can do what they want.
As I said. It doesn't mean that dismissing people who functionally can only contribute feedback from their own experiences is a smart move.
> The most important button on GitHub isn’t “create issue”. It’s “fork”. Use it to fix your own problems.
Did you miss the bit where "users" and "potential developers" doesn't overlap much? I can think of one project where I'm certainly capable of doing this - I've contributed the odd patch in the past - but keeping pace with the rate of change in the underlying project is completely impossible given the time available. And that includes rate of creation of new things to fix, so it's not just merge issues. That takes me out of the pool of "potential developers". Fundamentally it's unreasonable to expect people to keep up with major projects where there are several people employed to work on it full-time, especially where there are multiple projects this could apply to that I might need to track. That doesn't put requirements on the upstream projects other than not to gaslight users into feeling bad that they can't do this.
> When “users” and “potential developers” don’t have overlap, the developers often feel pressure to act as unpaid customer support reps.
The problem is often not the developers themselves. Successful projects attract hangers-on with an itchy defend-the-project-from-all-comers trigger finger. Now they aren't contributing to the meat of the project directly either, but because they have a self-identity tightly wound with the project they appear to perform a useful function in reducing noise and are tolerated in the community. The problem is that they reject at least as much signal, and anyone whose first interaction with the community is a supercilious dismissal from one of these types is just going to back away and never return.
Yes; maybe it’s worth making a distinction here. There are certainly plenty of big, well known opensource projects which essentially bill themselves as a free, community supported product complete with (community) support and everything that goes along with that. And I think a lot of opensource projects aspire to provide that kind of support to the community.
But certainly not all. Probably not even most, if we count projects on GitHub. Just because react has paid maintainers employed by Facebook doesn’t mean the same is true of joe random's library on npm.
Even within ecosystems where support and maintenance happen, users still aren’t customers. Continuing the metaphor, imagine I invite you as a guest to my house. You arrive and my house is messy. It’s quite rude to moan and complain and make a thing of it. If you’re paying for an airbnb room, the situation would be quite different.
I suppose the main point I’m making is that I wish people had more humility and gratitude when they ask for support / features / bug fixes from an opensource project. Nobody is entitled to make needy demands of a maintainer’s time.
Reminds me of the quote, "Complaining about a problem without proposing a solution is called whining" attributed to Theodore Roosevelt. What a simple world you'd need for this to be true.
This guy is correct, of course. But this comes off to me a bit like "how is cyber bullying real? Like just close your eyes lmao".
Yes, everyone is free to do and not do all those things. I assume TFA is writing this due to, yknow, all the various complainings about large (and or small-but-popular) OSS projects being inundated by grumblings and the devs feeling burned out and lashing out in response etc.
I guess my main point is that yeah everyone is free to both grumble and also close their eyes and not look at the screen... but I think what they mean is that we should all be more empathetic in our interactions.
Users should share or not share their concerns, but be empathetic that you're discussing someone's passion or art.
And developers should publish or not publish their code, but empathize that other people will potentially use it and might ask for things or point out perceived issues. You're not hanging up art, people are probably gonna try to use this thing. And you don't owe them anything, but understand people will try to use it if it fits their need.
I know, I know, a tale as old as time "people need to be nicer and more human on the internet." But here we are, and it's still true.
I heard a thought recently that went something along the lines of "if any outcome requires 'everyone to just X' then it is not a realistic outcome because everyone will not just X"
I've started to apply this line of reasoning to things like this. "If everyone would just be nicer" sounds great, but we can't expect it to happen.
It sounds defeatist but I think it can also be used to try and reframe things to find real possible solutions instead of wishful solutions
For example: "We know that everyone will not just spontaneously start being kinder. Is there a way we can incentivize people to be kinder when using our platform?"
Yes you can argue that people should just be kind, that we should not have to go out of our way incentivize good behaviour, but unfortunately everyone will not just, so we do have to give them a reason to
Edit: to your "how is cyberbullying real" comment, this sort of thing is an observation that we cannot control other people, we cannot expect them to just, but we can control our own reactions to things.
It's a good thing imo to point out to people that they do not have to take the ire of a random internet user very seriously
Edit2 of course we should not expect people to just stop taking the ire of random internet users seriously either ...
The “everyone will not just X” issue is, I think, less of an obstacle when you don’t need the “everyone” part.
If “Y% of people just did X, then things would be Y% • Z amount better” is a much better plan than “if everyone just did X, then the problem would be solved.” .
Some proportion of people are likely to be convinced by an argument that they should do something because it would make things better if they did.
You can’t practically expect to convince everyone, nor even almost everyone, to change their behavior with such an argument/plea.
But, if a marginal change in how many people do X would produce a marginal change in goodness of outcome, it can be effective to make such an argument/plea.
I claim that “how kind people are” is a situation where marginal improvements in what fraction of people are at least V kind, produces a commensurate improvement in outcomes.
That’s not to say that improving incentives wouldn’t also be good.
> Some proportion of people are likely to be convinced by an argument that they should do something because it would make things better if they did
"it would make things better if they did" is an incentive. As incentives go, it's a fairly weak one that doesn't tend to convince people
The problem with this sort of incentive in internet comment sections is that a lot of the nasty people don't tend to stick around long. They may just be doing a drive by nasty post. They may have even made a new burner account just to make one post.
If people are transient, then they will never see the outcome of "it would make things better", so they never reap any benefit from it
Anyways, my point was that argument is still trying to convince people of an incentive
Edit: I suppose what this is highlighting is that the "people will not just X" is really more "people will not just (spontaneously) X".
You need to give them reasons to X, if you want them to X.
Well, is “responding to someone saying ‘if people (“just”) do X, then Z” really “spontaneous”?
Like, presumably the person saying something like that at least thinks that the people listening would prefer Z to be the case. If they are right, then, if marginal increases in the doing of X results in marginal increases of Z, and the people listening want Z, then saying “the more you X, the more Z” seems like a sometimes reasonably effective way to cause more Z by causing people to do more X.
You can call that “an incentive” if you want - that wouldn’t be incorrect - though I think that word often has connotations of “artificial external incentive”, and I don’t think that’s always so necessary.
It would help to abandon platforms that encourage harassment. Or if such platforms actually bothered to fix their design. It doesn't matter if the encouragement is purposeful or by accident.
Have you noticed that those discussions weren't common before people adopted GitHub?
If you used those mailing lists often enough you had a kill file so you could filter out those who were intentionally disruptive.
I think the negative contribution from Github is the "gamification" of development. Stars, in particular, are emblematic of this problem, as it grants a measure of "apparent quality" yet it's not safeguarded in any way at all so now it just measures "apparent popularity."
The mechanisms you have to employ to be popular are almost diametrically opposed to those you have to do to write quality code.
> "how is cyber bullying real? Like just close your eyes lmao".
I guess I read this with a widely different angle of view.
I read it more like "it's fine to disagree with feedback", or "it's fine not to contribute 'back'", and you shouldn't feel guilty about this, or think people are guilty when they do these things.
I think having those things in mind can help feel better and have better communication.
About bullying, the author actually explicitly says that it's not okay:
> A user has the freedom to grumble about the software, or how some facet of the software means that they are not going to use the software. (Well, freedom within the constraints of the rules of whatever system they are using to document that grumble; if they’re doing so on someone else’s computer, whoever runs that computer has the freedom not to permit that grumble…). And, IMHO, the expectation that they should be free to do so without harassment.
> And developers should publish or not publish their code, but empathize that other people will potentially use it and might ask for things or point out perceived issues.
I think this is wrong and the problem. Developers really don't owe users anything other than honesty, which can be fulfilled by a generic disclaimer of all responsibility. It isn't "they don't owe you anything, but..."
Three notes:
1) What many FOSS developers need is therapy, because they have boundary issues that allow the criticism of freeloaders to register as a problem. You're already doing enough for freeloaders by contributing an enormous amount of effort to the ecosystem, and if they have a problem with you, they should just fork off. Most of these people are whining for you to fix something that helps them with their six-figure jobs, they're the last people who need charity.
2) A lot of Open Source isn't actually a gift, it's specwork and an act of ingratiating yourself to an industry that mostly hires friends and acquaintances. Which is why it's almost all software useful for big business, rather than at users. If this is what you're doing, be honest with yourself. If this is what you're doing, the demands of strangers are important, because you're cozying up to them with the hope of making money out of it. You're afraid they'll fork, because you're afraid you'll lose your chance. If you can't handle people, maybe find somebody to intermediate between you and the public who has better social skills than you. You're actually doing business, so you might even have to pay this person while not making a dime yourself. Maybe you'll end up a multimillionaire in the end, though, or at least get your foot in the door. That's how investment works, and your time was also money.
3) I'm reminded of stories about the past, some I think that David Graeber used to tell, where feeding someone meant that you were obligated to feed them again, that you'd taken responsibility for them. The debate about what people have the right to demand from FOSS maintainers is the best proof I see of this in life. But accept modernity in this case; you can't regulate beggars, but you can ignore them (or even ridicule them if you like.) I remember him also telling that story about the guy on the road who would rob everyone who came through by simply asking for a share of what they had, and convention meant that none of them could refuse him. Eventually, they all got together and murdered him so he wouldn't ask anymore. That, these days, would be an overreaction. Better to ignore silly conventions, especially ones drawn from communities that were smaller and tighter-knit than the random selection of jerks on the internet.
Lecturing everyone to behave better is a waste of time. They don't care what you think. They're healthier than the victims, which is why the victims are victims.
>> The rotten tomatoes of open source is the sharevalue of the company providing a paid alternative.
I love this statement. It feels like it should be right, and st first glance it makes sense.
The problem I guess is that things aren't boxed so neatly. Most public companies have multiple products.
So, for example Microsoft share price doesn't reflect Linux quality because MS share price covers not just Windows but Azure et al. One can compare market share for desktop users (ie comparing windows to Linux desktop) but that's a very narrow focus that doesn't even extend to Windows Server vs Linux.
And it's not like googles share price is a reflection on Firefox, or Oracles is a reflection on PostgreSQL.
I love the line, it's well written, but alas it's likely not really true (most of the time.)
Audodesk also has CAD software, Blender is certainly not an alternative to Fusion. It is hard to see in the share value which one is related to 3DS compared to other Autodesk products. In the same way that the share value of Microsoft is certainly not an indicator for the success of Linux. Linux certainly caused some traditional UNIX companies to go down, but it is more likely due to the raise of the cheaper PC architecture in the server space. Also, Oracle did fine despite Postgres, they even ended up buying MySql. Apple with its proprietary OS did extremely well against open source Linux and Android.
It may be a good indication for smaller companies reliant on a single product, but these may not be publicly traded. Big companies usually don't rely on a single product, and have ways around open source competition. They can diversify, buy their competition, sue them, for example using patents, use tactics like "embrace-extend-exctinguish", have good marketing targeted at big customers, or simply invest a lot into making their paid product the best.
he told us his feelings about companies that don't fix security and accessibility issues... why are you pointing out legal requirements, those legal requirements are not material to his feelings.
Should we now start to go back and forth on all the other things that are unrelated to these two different things?
I've seen this type of language being used to passive-aggressively dismiss criticism.
Like, someone will say "I'm having trouble with X and believe it would work better for me and others if it was changed to be more like Y", and then someone will respond "it's okay to not like things".
"it is compulsory to like free software"
"You will be prevented from grumbling about the software"
"Users must all patch or fork the software"
"Everybody will be forced to use the software"
"You will be punished if you express opinions"
"You are not allowed to mute or block others"
"You must not think about the opinions of others, but you must pay attention"
Parsing out all the bizarrely obvious stuff from this post, if we try to distill it down to an opinion, what's hidden in there? It should be expressed in terms of good and bad, not liberty. The liberty is obvious. What's it saying about what people ought to do?
* Devs ought to respect their grumbling users. They ought not be pissy about users who grumble but don't contribute. They ought not have some insular concept of loyalty where users who use other software are outsiders or splitters.
* Devs ought to selectively ignore their grumbling users, though, and contributors, instead of acting like slaves and getting burnt out. In this there's an implication that it's right to think you own your (version of your) project, and that you should control it if that pleases you.
* We should communicate our opinions, should not harass anyone, and should stop listening when bored or annoyed.
It all makes more sense when couched in moralistic terms, I think. Because it's not in fact about freedoms.