I'm mad about linux distros again today and I think I am realizing why this is so hard for me to write about systemically: I have a software engineer brain and so I try to model the various problems as technical problems. And there are numerous technical problems to think about (platform interfaces, ABI boundaries, release management, etc) but the core problem is a social one, which requires a social solution.
In short, all the volunteer-based distributions need to have a gigantic conference where they all come together and *agree to stop working on about 99% of them*, to pool efforts to make a real Linux platform. A lot of people will need to put their egos aside and decide to acquiesce to solutions they believe to be technically inferior, in order to be able to address the diffusion of labor into pointlessly recreating basically the same toolchain a thousand times.
@glyph And there are already plenty of people who feel that systemd was imposed against their will. No, I feel like this can't be the right answer. Especially when the problem, as I understand it, is that the Linux bazaar is uncomfortable to those of us who primarily ship applications for other, proprietary platforms. Why would they want to fundamentally change what they're doing to fit our conception, which they presumably view as flawed, of what a platform should be?

@matt they're free to read my analysis, think "nah", and forget about it. I'm not particularly influential here, it just bothers me.

but the reason it bothers me is that the cost here is permanent irrelevance. is the point of a free software desktop to have direct, monarchical control of the development process of your compositor or whatever, or is it to provide *users* with a more accessible and open computing experience where they can have agency and control over their applications?

@glyph @matt over time things have moved in the direction you're suggesting. I think systemd and sway are pretty good examples. Systemd in particular implemented a lot of core functionality and stayed committed to their bit long enough almost every distro has continued to shrink their init script footprint.

The gtk/qt thing would probably also be taken care of best by shrinking the space of responsibility those toolkits take up rather than choosing between them.