This is mostly easy to say, but hard to do. Yes I can fork a project and reverse the commit which removed the one feature I want, but what then? I now have a project I don’t know the code and the history. Sometimes I don’t even can the language the project is written. Also many project tend to become huge monsters and even some project with a “small” in the description have more then 10.000 lines of code.
Also forking is sometimes not the solution. Best example for this is JPEG XL support in chrome/ium. Yes I could fork chromium and enable this feature by default. But this wouldn’t help the users which want it, because they want to add JPEG XL images to there website.
So sometimes it’s frustrating, when software become subjective worse and you can’t do something about it.
There are two options: fork it, or use your people skills to try to persuade people with commit access that it should be the way you want. People skills being at a deficit in our field, many choose option C: hurl abuse at any available target.
You forgot a third option: you can use money to persuade those people (or anyone!) to maintain a version that you want.
Buying services is the way most of our economy works. We’re so used to FOSS being free-of-cost that it sometimes doesn’t even occur to us to pay for it.
I’m not sure people skills are at a deficit any more than any other section of society. Perhaps we have different social customs and norms, with different failings, yes, but I daresay non-developers could learn a social skill or two from developers, not just vice versa.
I get what you’re trying to say, and yeah there are issues in neurotypical-style social interaction as well. A lot of this animosity we see in FOSS does come from the inability to accept ones’ thoughts & preferences as non-objective though. Nearly everybody is not half as rational as they think they are.
I’m not gonna argue with you on that, but abuse and entitlement in my experience are fairly universal, with only the methods and other details differing. [What follows is just going off on tangents]:
Maybe it is higher in software, but I think most people who say that are going more off confirmation bias of stereotypes of developers as blunt, grouchy, driven more by reality than sentimentality which is compounded due to a lifetime of interacting with uncompromising machines, etc., than any real insight;
1) I think this can make people think non-developers have little or no social skills to learn from developers, and 2) it can make people think developers are some super-rational people who are just above non-developers in logical thinking (in a way that can’t be learned).
I don’t want to push the other unsubstantiated ideas of “anyone can be a programmer (and even as easily as any other)”, or “any sample of humans organised around an activity share exactly the same traits as any other sample of humans organised around another activity” either, I don’t believe that.
Rationality is more than just logical thinking, people who organise themselves around rational thinking may tend to have gaps in their rational thinking that other people don’t, and people who organise around empathy may tend to have gaps in their empathetic operation that other people don’t.
These tangents may seem like obvious ideas, but whatever, I got them off my chest.
It very much goes both ways. Some people will shut down any discussion (as in, lock the subject in the issue tracker), no matter how civilised. Or will dismiss you for not knowing the group jargon, in-jokes, and the like, rather than welcoming a new contributor.
True, but browsers are a pretty degenerate case because of just how painful they are to work on.
Firefox has made some questionable decisions, and as expected, we’ve seen a bunch of forks that reverted them. I’m writing this comment on a Firefox fork.
Waterfox Classic, because it’s the only one that lets me run TabMixPlus. Using a browser without multi-row tabs isn’t worth it for me anymore. Sometimes websites break, but on average it actually breaks less than “current Firefox hacked to allow loading TabMixPlus via Legacy Extensions Loader”, which I also run in case some site doesn’t like old Firefox anymore. (It’s “good” to know that Firefox could allow running TMP again at any time they wanted. Real worthwhile change, guys.) I have Adobe Flash running on it too.
I added the rant tag, although I’m not sure if it exactly is a rant. I’m mostly just expressing of my tiredness.
But anyhow, I wanted to share this since FOSS maintainers/developers etc. suffer a lot from angry users. This has been my experience on it and I felt like it would be valuable to share. If nothing else, then generate discussion around the topic: What can we do better? Why does this keep happening?
The default user stance on the internet is defensive entitlement. People assume making angry demands will get others solving their problems faster. I’m not sure what can be done better people need to stop acting so entitled with software, especially free software. Perhaps on your issue form you post a set of rules asking people to be polite. Angry issues will be neglected/closed/deleted. Your post seems to be on the entitled side of things.
It’s also important to keep in mind sometimes people write passive aggressive things on the net to be brief, which can be interpreted as snakiness and offensive.
It’s also important to keep in mind sometimes people write passive aggressive things on the net to be brief, which can be interpreted as snakiness and offensive.
True, also some people do not speak English as their native language, so the terseness can be seen offensive. I know this since I’ve been in this position as someone who doesn’t speak English as native language.
since FOSS maintainers/developers etc. suffer a lot from angry users.
This doesn’t match my personal experience. Like, of course, there were maybe a handful of angry users around me, but overall I find “rust software on GitHub” to be a rather great environment on average. I would assume that KDE is a bit unusual here, as it is extremely popular among users who themselves are not OSS contributors.
What can we do better?
My array of tricks here is:
Have a somewhat explicit standard of discussion. Code of conduct might be a part of that, but I think it’s not precise enough. Maintainers should have a clear picture of what conversation culture do they want. You don’t want to let the culture to grow organically.
Proactively establish the culture. Provide positive examples, but, also, don’t passively approve negative examples. If some leaves a comment which just so slightly pushes the boundaries of the desired culture, do call it out. For an outside observer, every comment by default is “normal”
If someone is actively obnoxious to the point or clearly violating norms of the discourse, you need to do something about it :) There’s usually an array of moderation tools available. Very often a good way to diffuse the conversation is to show exit. “forks are explicitly encouraged” is something I say (and mean) often. There’s also an option of not using software in question.
I would assume that KDE is a bit unusual here, as it is extremely popular among users who themselves are not OSS contributors.
I was about to post almost the same thing. User-facing F/OSS projects seem to get a lot of hate, probably because there’s a large group of users who lack the skills to fix it. These days, I mostly work on F/OSS projects that are consumed by people familiar with the same tools that I’m using to write them, so I tend to get more patches than angry criticism.
The only way of really addressing this long term[1] is to make sure that end users can become contributors. I wish folks working on user-facing F/OSS things would invest more in end-user programming tools. Things like changing the visual appearance of something should be possible with little or no programming experience. If you focus on enabling this kind of thing, before you focus on making the appearance usable / pretty then you are likely to find that you have a big pool of people who both can and want to contribute.
I’ve written about this before over the years. It’s one of the big problems with the FSF’s messaging. They promote things as benefits to end users, but the only end users that can actually take advantage of most of their freedoms are ones that either are, or employ, programmers. And even then, a lot of Free Software is not particularly approachable. If they really wanted their agenda to resonate then they need to make end-user modification a priority for every FSF-backed product. When a proprietary product has an embedded scripting language along with GUI ‘no-code’ tools for common tasks and a F/OSS equivalent has C source code that you can modify, the typical end user is able to take advantage of the four freedoms to a far greater extent with the proprietary program. Addressing this mismatch was one of our goals with Étoilé.
[1] I’m discounting ‘fix the humans’ as a solution, because folks who try that generally end up committing genocide, which tends to be frowned upon in most F/OSS communities.
The only way of really addressing this long term[1] is to make sure that end users can become contributors. I wish folks working on user-facing F/OSS things would invest more in end-user programming tools. Things like changing the visual appearance of something should be possible with little or no programming experience. If you focus on enabling this kind of thing, before you focus on making the appearance usable / pretty then you are likely to find that you have a big pool of people who both can and want to contribute.
I’m not sure if that is a solution. There are (I take it) lots of people who know exactly what change they want to contribute to KDE to solve their problem. The issue with users saying “undo that thing what you done” is not a lack of people to do the undoing work.
I suspect that one of the reasons for this kind of thing is that Linux has a reputation for being customisable and configurable, but that reputation was forged in the 2000s. GNOME and Mozilla (for example; I’m less familiar with KDE generally) increasingly seem to see their mission as one of finding the single right answer that everyone should want. But the people who want to be told what to want are happily being told what to want by Apple or Google or Microsoft, while the people who use desktop Linux generally left Windows because Windows started doing that and it pissed them off.
Between that and the corporate LARPing other commenters have pointed out, it feels like the big FOSS projects are wilfully inhabiting the role of faceless corporation bullying its users. They just lack a PR department to take the heat for the developers.
PS. Forking doesn’t seem like a realistic solution for something the size of a modern desktop environment, and I think that’s probably pretty obvious to everyone, including the people who trot out “you’re free to fork” every time anyone doesn’t like anything. To the average person, it’s about as useful as telling me I’m free to found my own megacity if I don’t like the urban planning in London.
Forking doesn’t mean permanent divergence from upstream into a separate project. If your desired changes are small it wouldn’t take that much work to rebase on upstream commits every few months or so. The only reason to care about upstream is bugfixes that impact you, especially security holes - you do have a choice about whether to upgrade!
I get what you’re saying though, I’ve personally dealt with the frustration of presenting work as a PR and having it be rejected by maintainers then dealing with the resulting anger that my time and effort was wasted. You really can’t ever trust that your changes will be merged, even if you get maintainer buy-in ahead of time. It’s clearly preferable to have your changes be merged and so access them through the most popular & exercised distribution channel instead of maintaining your own.
I wonder if part of it comes down to a feeling of choice and agency.
Like if you were happily using your OS and it gave you one version of KDE, (maybe you didn’t pick KDE, but it was the default, and it worked with you years ago, so you went with it) and then some day you found a different version that doesn’t work the way you like, it’s easy to see how this would make someone upset. You were relying on your OS to work one way, and without your consent it changed out from under you.
Meanwhile if you went out of your way to go and install some random FOSS tool yourself, built it from scratch, and started using it, you are a lot more aware of the development process. You chose to start using it, and it’s a lot easier to just stop if you don’t like it any more.
Very often a good way to diffuse the conversation is to show exit. “forks are explicitly encouraged” is something I say (and mean) often. There’s also an option of not using software in question.
That’s a great option, as long as you’re secure in the strength of the mainline project’s support.
I wrote about this in another post of mine but I really do think this is people applying the proprietary software mindset to open source. Viewing yourself as a simple consumer of the software rather than a creator/user member of a collective of creator/users. With proprietary software literally the only thing you can do is whine online about it. See nearly any online tech news comment section about Microsoft, Apple, or Google. This isn’t the case with FOSS! You really can make it your own. It isn’t panacea, collaborating with other people will always be hard in some way, but there’s always the nuclear option (forking) as @FeepingCreature pointed out. The only thing that’s really “property” in FOSS is the popularity of a specific distribution channel. Fights for control of this channel can get vicious, certainly. But I’ve gone through the transition from disempowered proprietary software consumer to empowered fork-&-upstream creator/user, and I know it’s possible for others to do the same. I certainly whine online about FOSS projects a lot less now.
I’m sorry you got all those angry messages. It’s not right. Every time I hear a FOSS developer write about something like this, it breaks my heart. This is not what FOSS should’ve been.
I think a major facillitating element of this behaviour is the fact that FOSS software is productized and professionalised, to the point where it presents itself as viable corporate software, rather than a hobby project that some corporate projects mooch off.
I mean, if I go to the KDE homepage, it says “Powerful, multi-platform, and for everyone”, and there’s a “Products” page. So of course people treat it like all other software from faceless corporations: because KDE really, really tries to be like that. Gnome, too, this isn’t a quip at KDE.
Personally I think a perfectly appropriate way to handle angry users would be a button that:
Bans them from participating in the bug tracker and adds them to a nope list that all developers can use for their email and blog spam filters
Reports their account to Github or whatever, as I’m pretty sure it violates some code of conduct (I know KDE doesn’t use Github but anyway)
Selects a random string from a very festerous fortune file which it uses as the punchline for an automatically generates an “Asshole of the Year” diploma, and sends it by mail, along with a “Congratulations for your ban!” cover letter explaining – tersely, but obscenely – why they’ve been banned.
That, of course, wouldn’t fly in a world that uses the word “software supply chain” unironically but who knows. But I think #1 and #2 would be a good start.
Edit: it’s not that I think this would keep all entitled people away. It’s just that the sanitized corporate look that desktop Linux projects cling to for whatever reason tend to attract entitled complaints because, well, that’s what sanitized corporate things do. There are lots of entitled people complaining about things that are obviously DIY hacker projects, too, but realistically, most people look at those and they just assume they’re something for hippies or cosplayers or whatever.
But if you want to play the branding game, you gotta play all of it. It’s exhausting and unfair but you can’t say “we build a secure suite of programs for both professional and home use, a free alternative to spooky Windows and macOS” but only deal with the tiny subset of people who are interested in all that but also aren’t entitled little whiny pricks.
It’s just that the sanitized corporate look that desktop Linux projects cling to for whatever reason
I guess the reason is that people (i.e. users) tend to quickly dismiss anything that doesn’t look like that as unusable and unreliable, so anyone who hopes to get any users (who may become contributors) has to play the branding game.
I’m a little skeptical about how that translates to user-facing projects like KDE. There’s a pretty narrow niche of people with the skills to contribute to a project like KDE (I mean even building and hacking on it is the kind of stuff that second-year students would need some guidance with) and they are not exactly the kind of people who would dismiss something because it doesn’t look like someone rubber stamped it in Cupertino.
I definitely agree it’s a factor though. The FOSS community has a history of market share envy, so anything that looks like it might drive people away is seen like a huge problem, even though sometimes it’s really a feature.
One way¹ by which a FOSS project could try to avoid looking ‘productized and professionalised’ might be to use unfashionable, text-focussed Web design, like that of, e,g., QPDF² or ExifTool and many academics, e.g., Knuth or Derek Dreyer.
¹ either as an alternative to being ‘festerous’ and ‘obscene’ or, if one wants, in addition to that
² before its documentation was moved to ReadTheDocs
I think a major facillitating element of this behaviour is the fact that FOSS software is productized and professionalised, to the point where it presents itself as viable corporate software, rather than a hobby project that some corporate projects mooch off.
It’s twofold:
Everyone expects FOSS to be a viable alternative to proprietary software - this is literally the FSF’s goal, in fact.
FOSS doesn’t have an effective funding mechanism. More specifically, I’d bet that 99% of users pay less than $1/year for any given piece of software they use. This isn’t exactly an accident - the one thing that FOSS can offer better than proprietary software, is less monetization. So if any distro starts pushing users to pay money, then users start looking for the door.
The end result is FOSS being the worst of both worlds - being expected to deliver proprietary polish, on a volunteer budget. It’s a structural problem, and is IMO the #1 problem in the FOSS world.
Everyone expects FOSS to be a viable alternative to proprietary software - this is literally the FSF’s goal, in fact.
Yes, but the way this is usually pictured – both because users are entitled and because lots of folks at the FOSS end of things want to project that image – is that FOSS projects give you exactly what proprietary software gives you, and doesn’t demand the eye-watering fees, either.
But other than blog posts by embittered developers, which are largely hidden from the public eye (for statistically significant definitions of “public”), the FOSS world is conspicuously silent about how that free lunch is paid for.
Proprietary software sites go all revolutionary this, best-in-its-class that, here’s how much it costs, also here’s a tiny fine print. Corporate-ish-branded free software, like KDE and Gnome, also goes revolutionary this, best-in-its-class that, for everyone, by everyone, but then the tiny fine print that says “testing is best-effort”, “unless you maintain it yourself your favourite feature may be deprecated long before the current Windows version is EOL-ed”, “customer support response times are technically infinite because there’s no customer suppport” is dusted under the rug.
These are very much things that have to be said. You can’t not tell people about them, loudly, in the same big bold letters you use to say “Get things done with ease, comfort, and control”, and then wonder why they don’t know them.
Don’t get me wrong, like my message above said, I think people have no right to be assholes to FOSS developers, but that’s just common sense. But this is also a corner in which the FOSS community is painting itself.
I would not say this is the problem. FOSS’s greatest contribution to the world, beyond the actual utility of the programs, is just that: profits are not necessary to motivate humans to create amazing and useful things. It does work. They can’t tell us it’s impossible. This flies in the face of the fundamental ideas behind capitalism, which is that it is necessary for workers to be alternately cajoled, abused, and dictated to by capitalists to make anything, with the capitalists taking a massive cut of what’s produced in return for their cajole/abuse/dictate services. The odd blog post by some FOSS maintainer cracking under pressure happens because the rest of society still operates under this barbaric form of labor organization - specifically the abuse aspect, because not working at a capitalist firm is punished by the threat of homelessness with its attendant horrors.
The odd blog post by some FOSS maintainer cracking under pressure happens because the rest of society still operates under this barbaric form of labor organization
Yes, feel free to disregard my comment if your country has a communist revolution tomorrow. Until then, however, we live in a capitalist society and the best way to actually earn a living wage as a coder is to get a job working on proprietary software.
There’s some FOSS stuff I’ve been using happily for like a decade at this point. A lot of it quite obscure. I wonder if any of them would appreciate a nice email.
Definitely. Emails saying ‘thanks for working on this, it’s great!’ really brighten my day when I get them (rarely). The first time I went to FOSDEM, I spent most of the beer event being bought drinks by folks who I’d met for the first time but who had been using stuff I wrote for years. I went home feeling hugely motivated.
As someone who doesn’t use KDE, I do think the outlines look great in the screenshots. Thanks for your work, and for putting in the time and effort to solve something you care about!
“Get thicker skin!” you scream. Believe me, my skin is thick enough. I’ve seen some shit. But me having a thick skin doesn’t mean that you should yell at me for something.
People who scream “get a thicker skin!” to everything are inevitably also people who couldn’t handle one iota of the abuse they dish out on a daily basis. “Get a thicker skin” is usually shorthand for “it’s okay for me to bully you.”
Folks seriously need to remember that they have the right to patch and fork. Open source makes no sense without it.
The safety valve for bad changes is not abuse, it’s the big prominent “fork” button on the top of the repo page.
This is mostly easy to say, but hard to do. Yes I can fork a project and reverse the commit which removed the one feature I want, but what then? I now have a project I don’t know the code and the history. Sometimes I don’t even can the language the project is written. Also many project tend to become huge monsters and even some project with a “small” in the description have more then 10.000 lines of code.
Also forking is sometimes not the solution. Best example for this is JPEG XL support in chrome/ium. Yes I could fork chromium and enable this feature by default. But this wouldn’t help the users which want it, because they want to add JPEG XL images to there website.
So sometimes it’s frustrating, when software become subjective worse and you can’t do something about it.
There are two options: fork it, or use your people skills to try to persuade people with commit access that it should be the way you want. People skills being at a deficit in our field, many choose option C: hurl abuse at any available target.
You forgot a third option: you can use money to persuade those people (or anyone!) to maintain a version that you want.
Buying services is the way most of our economy works. We’re so used to FOSS being free-of-cost that it sometimes doesn’t even occur to us to pay for it.
Good point! I wonder how much I’d have to pay to bribe the average open source maintainer to accept my PR.
I’m not sure people skills are at a deficit any more than any other section of society. Perhaps we have different social customs and norms, with different failings, yes, but I daresay non-developers could learn a social skill or two from developers, not just vice versa.
I get what you’re trying to say, and yeah there are issues in neurotypical-style social interaction as well. A lot of this animosity we see in FOSS does come from the inability to accept ones’ thoughts & preferences as non-objective though. Nearly everybody is not half as rational as they think they are.
I’m not gonna argue with you on that, but abuse and entitlement in my experience are fairly universal, with only the methods and other details differing. [What follows is just going off on tangents]:
Maybe it is higher in software, but I think most people who say that are going more off confirmation bias of stereotypes of developers as blunt, grouchy, driven more by reality than sentimentality which is compounded due to a lifetime of interacting with uncompromising machines, etc., than any real insight;
1) I think this can make people think non-developers have little or no social skills to learn from developers, and 2) it can make people think developers are some super-rational people who are just above non-developers in logical thinking (in a way that can’t be learned).
I don’t want to push the other unsubstantiated ideas of “anyone can be a programmer (and even as easily as any other)”, or “any sample of humans organised around an activity share exactly the same traits as any other sample of humans organised around another activity” either, I don’t believe that.
Rationality is more than just logical thinking, people who organise themselves around rational thinking may tend to have gaps in their rational thinking that other people don’t, and people who organise around empathy may tend to have gaps in their empathetic operation that other people don’t.
These tangents may seem like obvious ideas, but whatever, I got them off my chest.
It very much goes both ways. Some people will shut down any discussion (as in, lock the subject in the issue tracker), no matter how civilised. Or will dismiss you for not knowing the group jargon, in-jokes, and the like, rather than welcoming a new contributor.
True, but browsers are a pretty degenerate case because of just how painful they are to work on.
Firefox has made some questionable decisions, and as expected, we’ve seen a bunch of forks that reverted them. I’m writing this comment on a Firefox fork.
As someone who is not terribly enthusiastic about firefox’s poor decisions, what fork are you using?
Waterfox Classic, because it’s the only one that lets me run TabMixPlus. Using a browser without multi-row tabs isn’t worth it for me anymore. Sometimes websites break, but on average it actually breaks less than “current Firefox hacked to allow loading TabMixPlus via Legacy Extensions Loader”, which I also run in case some site doesn’t like old Firefox anymore. (It’s “good” to know that Firefox could allow running TMP again at any time they wanted. Real worthwhile change, guys.) I have Adobe Flash running on it too.
I added the rant tag, although I’m not sure if it exactly is a rant. I’m mostly just expressing of my tiredness.
But anyhow, I wanted to share this since FOSS maintainers/developers etc. suffer a lot from angry users. This has been my experience on it and I felt like it would be valuable to share. If nothing else, then generate discussion around the topic: What can we do better? Why does this keep happening?
The default user stance on the internet is defensive entitlement. People assume making angry demands will get others solving their problems faster. I’m not sure what can be done better people need to stop acting so entitled with software, especially free software. Perhaps on your issue form you post a set of rules asking people to be polite. Angry issues will be neglected/closed/deleted. Your post seems to be on the entitled side of things.
It’s also important to keep in mind sometimes people write passive aggressive things on the net to be brief, which can be interpreted as snakiness and offensive.
True, also some people do not speak English as their native language, so the terseness can be seen offensive. I know this since I’ve been in this position as someone who doesn’t speak English as native language.
Some thoughts:
This doesn’t match my personal experience. Like, of course, there were maybe a handful of angry users around me, but overall I find “rust software on GitHub” to be a rather great environment on average. I would assume that KDE is a bit unusual here, as it is extremely popular among users who themselves are not OSS contributors.
My array of tricks here is:
I was about to post almost the same thing. User-facing F/OSS projects seem to get a lot of hate, probably because there’s a large group of users who lack the skills to fix it. These days, I mostly work on F/OSS projects that are consumed by people familiar with the same tools that I’m using to write them, so I tend to get more patches than angry criticism.
The only way of really addressing this long term[1] is to make sure that end users can become contributors. I wish folks working on user-facing F/OSS things would invest more in end-user programming tools. Things like changing the visual appearance of something should be possible with little or no programming experience. If you focus on enabling this kind of thing, before you focus on making the appearance usable / pretty then you are likely to find that you have a big pool of people who both can and want to contribute.
I’ve written about this before over the years. It’s one of the big problems with the FSF’s messaging. They promote things as benefits to end users, but the only end users that can actually take advantage of most of their freedoms are ones that either are, or employ, programmers. And even then, a lot of Free Software is not particularly approachable. If they really wanted their agenda to resonate then they need to make end-user modification a priority for every FSF-backed product. When a proprietary product has an embedded scripting language along with GUI ‘no-code’ tools for common tasks and a F/OSS equivalent has C source code that you can modify, the typical end user is able to take advantage of the four freedoms to a far greater extent with the proprietary program. Addressing this mismatch was one of our goals with Étoilé.
[1] I’m discounting ‘fix the humans’ as a solution, because folks who try that generally end up committing genocide, which tends to be frowned upon in most F/OSS communities.
I’m not sure if that is a solution. There are (I take it) lots of people who know exactly what change they want to contribute to KDE to solve their problem. The issue with users saying “undo that thing what you done” is not a lack of people to do the undoing work.
I suspect that one of the reasons for this kind of thing is that Linux has a reputation for being customisable and configurable, but that reputation was forged in the 2000s. GNOME and Mozilla (for example; I’m less familiar with KDE generally) increasingly seem to see their mission as one of finding the single right answer that everyone should want. But the people who want to be told what to want are happily being told what to want by Apple or Google or Microsoft, while the people who use desktop Linux generally left Windows because Windows started doing that and it pissed them off.
Between that and the corporate LARPing other commenters have pointed out, it feels like the big FOSS projects are wilfully inhabiting the role of faceless corporation bullying its users. They just lack a PR department to take the heat for the developers.
PS. Forking doesn’t seem like a realistic solution for something the size of a modern desktop environment, and I think that’s probably pretty obvious to everyone, including the people who trot out “you’re free to fork” every time anyone doesn’t like anything. To the average person, it’s about as useful as telling me I’m free to found my own megacity if I don’t like the urban planning in London.
Forking doesn’t mean permanent divergence from upstream into a separate project. If your desired changes are small it wouldn’t take that much work to rebase on upstream commits every few months or so. The only reason to care about upstream is bugfixes that impact you, especially security holes - you do have a choice about whether to upgrade!
I get what you’re saying though, I’ve personally dealt with the frustration of presenting work as a PR and having it be rejected by maintainers then dealing with the resulting anger that my time and effort was wasted. You really can’t ever trust that your changes will be merged, even if you get maintainer buy-in ahead of time. It’s clearly preferable to have your changes be merged and so access them through the most popular & exercised distribution channel instead of maintaining your own.
I wonder if part of it comes down to a feeling of choice and agency.
Like if you were happily using your OS and it gave you one version of KDE, (maybe you didn’t pick KDE, but it was the default, and it worked with you years ago, so you went with it) and then some day you found a different version that doesn’t work the way you like, it’s easy to see how this would make someone upset. You were relying on your OS to work one way, and without your consent it changed out from under you.
Meanwhile if you went out of your way to go and install some random FOSS tool yourself, built it from scratch, and started using it, you are a lot more aware of the development process. You chose to start using it, and it’s a lot easier to just stop if you don’t like it any more.
That’s a great option, as long as you’re secure in the strength of the mainline project’s support.
I wrote about this in another post of mine but I really do think this is people applying the proprietary software mindset to open source. Viewing yourself as a simple consumer of the software rather than a creator/user member of a collective of creator/users. With proprietary software literally the only thing you can do is whine online about it. See nearly any online tech news comment section about Microsoft, Apple, or Google. This isn’t the case with FOSS! You really can make it your own. It isn’t panacea, collaborating with other people will always be hard in some way, but there’s always the nuclear option (forking) as @FeepingCreature pointed out. The only thing that’s really “property” in FOSS is the popularity of a specific distribution channel. Fights for control of this channel can get vicious, certainly. But I’ve gone through the transition from disempowered proprietary software consumer to empowered fork-&-upstream creator/user, and I know it’s possible for others to do the same. I certainly whine online about FOSS projects a lot less now.
I’m sorry you got all those angry messages. It’s not right. Every time I hear a FOSS developer write about something like this, it breaks my heart. This is not what FOSS should’ve been.
I think a major facillitating element of this behaviour is the fact that FOSS software is productized and professionalised, to the point where it presents itself as viable corporate software, rather than a hobby project that some corporate projects mooch off.
I mean, if I go to the KDE homepage, it says “Powerful, multi-platform, and for everyone”, and there’s a “Products” page. So of course people treat it like all other software from faceless corporations: because KDE really, really tries to be like that. Gnome, too, this isn’t a quip at KDE.
Personally I think a perfectly appropriate way to handle angry users would be a button that:
That, of course, wouldn’t fly in a world that uses the word “software supply chain” unironically but who knows. But I think #1 and #2 would be a good start.
Edit: it’s not that I think this would keep all entitled people away. It’s just that the sanitized corporate look that desktop Linux projects cling to for whatever reason tend to attract entitled complaints because, well, that’s what sanitized corporate things do. There are lots of entitled people complaining about things that are obviously DIY hacker projects, too, but realistically, most people look at those and they just assume they’re something for hippies or cosplayers or whatever.
But if you want to play the branding game, you gotta play all of it. It’s exhausting and unfair but you can’t say “we build a secure suite of programs for both professional and home use, a free alternative to spooky Windows and macOS” but only deal with the tiny subset of people who are interested in all that but also aren’t entitled little whiny pricks.
I guess the reason is that people (i.e. users) tend to quickly dismiss anything that doesn’t look like that as unusable and unreliable, so anyone who hopes to get any users (who may become contributors) has to play the branding game.
I’m a little skeptical about how that translates to user-facing projects like KDE. There’s a pretty narrow niche of people with the skills to contribute to a project like KDE (I mean even building and hacking on it is the kind of stuff that second-year students would need some guidance with) and they are not exactly the kind of people who would dismiss something because it doesn’t look like someone rubber stamped it in Cupertino.
I definitely agree it’s a factor though. The FOSS community has a history of market share envy, so anything that looks like it might drive people away is seen like a huge problem, even though sometimes it’s really a feature.
One way¹ by which a FOSS project could try to avoid looking ‘productized and professionalised’ might be to use unfashionable, text-focussed Web design, like that of, e,g., QPDF² or ExifTool and many academics, e.g., Knuth or Derek Dreyer.
¹ either as an alternative to being ‘festerous’ and ‘obscene’ or, if one wants, in addition to that
² before its documentation was moved to ReadTheDocs
It’s twofold:
The end result is FOSS being the worst of both worlds - being expected to deliver proprietary polish, on a volunteer budget. It’s a structural problem, and is IMO the #1 problem in the FOSS world.
Yes, but the way this is usually pictured – both because users are entitled and because lots of folks at the FOSS end of things want to project that image – is that FOSS projects give you exactly what proprietary software gives you, and doesn’t demand the eye-watering fees, either.
But other than blog posts by embittered developers, which are largely hidden from the public eye (for statistically significant definitions of “public”), the FOSS world is conspicuously silent about how that free lunch is paid for.
Proprietary software sites go all revolutionary this, best-in-its-class that, here’s how much it costs, also here’s a tiny fine print. Corporate-ish-branded free software, like KDE and Gnome, also goes revolutionary this, best-in-its-class that, for everyone, by everyone, but then the tiny fine print that says “testing is best-effort”, “unless you maintain it yourself your favourite feature may be deprecated long before the current Windows version is EOL-ed”, “customer support response times are technically infinite because there’s no customer suppport” is dusted under the rug.
These are very much things that have to be said. You can’t not tell people about them, loudly, in the same big bold letters you use to say “Get things done with ease, comfort, and control”, and then wonder why they don’t know them.
Don’t get me wrong, like my message above said, I think people have no right to be assholes to FOSS developers, but that’s just common sense. But this is also a corner in which the FOSS community is painting itself.
[Comment removed by author]
I would not say this is the problem. FOSS’s greatest contribution to the world, beyond the actual utility of the programs, is just that: profits are not necessary to motivate humans to create amazing and useful things. It does work. They can’t tell us it’s impossible. This flies in the face of the fundamental ideas behind capitalism, which is that it is necessary for workers to be alternately cajoled, abused, and dictated to by capitalists to make anything, with the capitalists taking a massive cut of what’s produced in return for their cajole/abuse/dictate services. The odd blog post by some FOSS maintainer cracking under pressure happens because the rest of society still operates under this barbaric form of labor organization - specifically the abuse aspect, because not working at a capitalist firm is punished by the threat of homelessness with its attendant horrors.
Yes, feel free to disregard my comment if your country has a communist revolution tomorrow. Until then, however, we live in a capitalist society and the best way to actually earn a living wage as a coder is to get a job working on proprietary software.
There’s some FOSS stuff I’ve been using happily for like a decade at this point. A lot of it quite obscure. I wonder if any of them would appreciate a nice email.
Definitely. Emails saying ‘thanks for working on this, it’s great!’ really brighten my day when I get them (rarely). The first time I went to FOSDEM, I spent most of the beer event being bought drinks by folks who I’d met for the first time but who had been using stuff I wrote for years. I went home feeling hugely motivated.
I’m sure they would!
As someone who doesn’t use KDE, I do think the outlines look great in the screenshots. Thanks for your work, and for putting in the time and effort to solve something you care about!
People who scream “get a thicker skin!” to everything are inevitably also people who couldn’t handle one iota of the abuse they dish out on a daily basis. “Get a thicker skin” is usually shorthand for “it’s okay for me to bully you.”