the problem is made significantly worse because the developers tend I have seen tend to not be willing to do anything to push their work upstream (not even just being willing to interact with Greg K-H via e-mail)
This means that any work done to get a device working with one version of Android is completely lost when the next version is released (by which time there are new devices out for the more prolific developers to work on)