

Yeah the best campaigns I’ve seen for the Fediverse were reactionary to something happening on big socials: Lemmy when the API fiasco happened, Mastodon when Elon bought Twitter, recently Pixelfed to replace Instagram, and Loops the last 2 weeks before TikTok was about to get banned.
People don’t change because it’s better, they change because they’re pissed off at their current platform.
Because phones are a mess of out of tree patches specific to that phone model with zero hope of being upstreamed into the Linux kernel without a cleaner rewrite because it’s not good, it’s made to work and nothing more. They do stuff like just copy pasting the drivers into the project for the next chip, make some changes, and now you have several versions of the same driver for a whole bunch of slighly different chips. The community can’t keep up with that or make it generic enough.
It’s improved but companies like Qualcomm also used to basically drop the code to the manufacturers when the chip launches and then move on with little maintenance for the code and stop maintaining the code once the chip is not produced anymore. Manufacturers don’t have the expertise to maintain that forever nor the will, so you end up with a kernel that keeps aging and isn’t keeping up with Android and the community hasn’t been successful in integrating it all either.
Google’s been pushing hard for this to improve but they’re the only ones to even care. Samsung and others would much rather sell you a new phone.
There’s also the problem that phones don’t really have a BIOS, the kernel is expected to just know where the devices are via the device tree. So each phone needs a specially built kernel for it too.
Projects like LineageOS often manage to push those phones a couple versions longer but eventually interest dies as well because of kernel pains.