I think the difference between an okay piece of software and a great piece of software is how cognizant the designers and developers are of these things. It's partially why I use an iphone now over android. Even if I disagree with how something is done it's usually evident that Apple at least _thought_ about it. It's not perfect, there's still the occasional interaction that's just plain bad, but those moments are much rarer than I encounter on my PCs (Xubuntu/MX Linux).
If I ever have the resources to retire I think I'd dedicate a solid chunk of my time to just work on those quality issues.
Just to preempt the replies, this is how most of these conversations go:
Alice: I dislike [x] because I can't do [a].
Bob: Oh, why are you trying to do [a]? You can accomplish that by doing [b], [c], and then [d]. [a] doesn't really make sense, let me explain the model behind how this all works.
Alice: Thanks for explaining the model to me, but I still just want to do [a]. Could we expand the model, or handle this as an edge case?
Bob <any of the following replies>
: No! [a] breaks the model! Things are much simpler if you just embrace the model.
: If you want to do [a] go use this other product that's broken in other slightly annoying ways.
: If you want to do it, you can open a PR adding it. But we probably won't add it because it doesn't fit the current model, and we consider that 'bloat'.
It's difficult to get into contributing to some of these projects because you come in with a change you want to make, but you have no standing in the project to effect that change (or are out of your depth and need to convince a more established dev to help you). Which makes perfect sense, a project with random contributors adding their own preferences is anarchy.It really seems like the best projects have a very strong guideline/interactions framework, or a BDFL (benevolent dictator for life) who takes UX very personally. Most open-source projects are founded with a strong technical vision, but not a strong UX one.
The closest I can think of in the open-source desktop space is ElementaryOS. Which is lovely, but I dislike a few of their core decisions enough that using it is a pain.
The dream is a DE that enforces strict UX paradigms...but also lets you customize them easily. But I'm not sure if that's even possible. Even Apple isn't perfect and they're just trying to enforce one 'Apple way' to do things.