So, I want to share a bunch of my thoughts about obstacles, that Linux needs to fight to become better. They were based on my experience as being a backend/game dev programmer last 5 years, so they can be wrong in the case of Linux and open-source projects.
Lack of (self)control in open-source
I don't mean here lack of control by companies or lack of collecting data about developers, but lack of processes, that will help open-source be high-quality stuff. A lot of open-source projects have a lack of management, lack of clean code or tests. I saw big cool projects, that have 100500+ open issues, some of which have 8 years old and uncontrollable PRs. Of course, in most cases, proprietary projects are even worse, but that's another story.
Real-life example: 6 months or so I read an article about 2 students from a USA university (I forgot its name), who push code to a Linux kernel, that contains vulnerabilities and backdoors. They were banned and all their commits were removed, but I was confused - wtf, does Linux kernel devs just accept PRs without review or something?
Popular programs don't exist for Linux and alternatives are not so good
I agree with both @anon92996653 and @fbodymechanic , but I believe the lack of popular proprietary soft on Linux - is a big punch. There is a lot of work software without Linux support, first of all - Office, Adobe stuff, Unity/UE (some kind of support exists, but it works like shit), Solidworks, and a lot of else. Of course, there are Linux alternatives, be let's be frank - most of them look like shit, and they work like shit + there are minor differences and tricks. More different software = more butthurt.
Real-life example: I used to live with a friend and his girlfriend. She has an old laptop that overheats and turns off after 10 minutes of work (she works mainly in Photoshop and Illustrator). So a friend of mine asked me for help. I just cleaned a laptop and installed Ubuntu. The laptop stopped overheating, but after a friend's girlfriend realized that there is no more Adobe software and instead she has Gimp and Inkscape - she decided to buy a new computer.
I believe most of the people wouldn't reeducate how to use new programs - they will just buy a new Microsoft/Apple stuff.
Lack of the sponsors
I believe Linux needs to have a more aggressive marketing company. Even if this move wouldn't attract more users to the system, it will help to get money to attract more developers. And I believe Linux should just go simple - analyze what people donate the most and just do the same, but with Linux - create Linux theme hentai, make Linux OnlyFans account, make any girl (or handy boy) record vids about Linux, make funny cartoons/animations about Linux or whatever.
GTK vs Qt
I believe this war needs to stop if we want to have a really cross-platform Linux environment. I think there is a compatibility layer between them, but anyway, this just eats development hours instead to make something cool.
Old/crazy languages and development tools
The most mysterious problem for me, probably I just don't understand something. Afaik, Linux kernel devs use pretty old C dialect and compiler. I also don't understand why to use languages like Python to develop system stuff. Smart people created Rust/Vlang for us, why just don't use them? Of course, you can be a badass and code in C++, but I believe most developers should stick with something more secure.