But we, and I mean, a big 'we' as everyone in XDA Developers, Lineage OS developers etc, have as a group a tremendous knowledge in this area.In fact, for the most developed phones, we know almost everything about them. If only everyone could get toghether and do something _better_ than an Android derivative...
I've been thinking for a while in Libhybris. There's a lot of people working on tweaking a library that talks to closed vendor blobs, on which every single one of them is different, to be able to use native libraries directly with files that were compiled for a framework that isn't available on the target system.
What if we could use the Android Framework as an API layer, instead of rewriting everything for every single version of every single library ever shipped with an Android phone? I am talking on stripping down most of an Android AOSP image, just up to the point where the System Server kicks in (just up to a modified Zygote or something like that), and then use the open Android API specifications to actually talk to the hardware through it. Then we could make a standard library which would work with _every single Android phone_
Ubuntu touch, Firefox OS were a failure because they weren't compatible with the existing ecosystem and because developers wouldn't invest in making apps for _yet_ another framework. But Sailfish OS has an Android compatibility layer that lets them run Android apps in their Nemo/Mer/Maemo/Meego hybrid. Chrome OS can also run Android apps.
If you can get those two poins toghether, you can have a platform where most of the available phones can run your OS, and you can also take advantage of the million of applications developed for Android. If you add that to either Ubuntu Touch, Purism's OS, KDE Mobile or any other OS which is still in development, you could have the biggest the Community has had for the last 10 years.
Edit: typos everywhere