The question is what are the requirements for a great desktop Linux distribution. From the point of view of the user the ideal Linux distribution should:
- be easy to use
- works on every computer reliably
- looks great
- have the latest stable versions of all user applications (OpenOffice, Firefox)
- includes all available hardware drivers
- stable software support environment (APIs, libraries, filesystem layout)
- bug free software environment (to avoid support issues related to the Linux distribution)
When you combine the requirements of these two groups I can only conclude that Ubuntu is just not there yet and never will be with their current product scheme; regular Ubuntu and Ubuntu LTS.
Other Linux distributions have similar schemes as Ubuntu like for instance Fedora Core. And Fedora Core suffers from the same flaws as Ubuntu does.
- provide stable software environment (same kernel, support libraries, APIs and filesystem layout)
- backport of new hardware drivers to support new hardware
- regular rebase of user applications to latest stable version (OpenOffice, Firefox)
Their approach is not perfect because they only backport a subset of all new hardware drivers. This is probably due to effort involved and incompatibilities in the kernel ABI between kernel versions. Moreover their rebasing does not happen enough to which extend their Linux distribution is always at least 1 version behind the latest stable version.
The ideal Linux distribution should fullfill all requirements of both users as ISVs. No Linux distribution does this. One of the major challenges is the backporting of hardware drivers. The reason that backporting is necessary is due to the fact that Linux has a monolithic kernel design. It should be better when hardware vendors could just make one or two versions of their drivers and with that support all Linux distributions.
This would elimnate the need to backport hardware drivers to support new hardware on a stable platform and at the same time makes it possible for bleeding edge Linux distributions to move to a stable platform.
But this would require a complete different mindset of the Linux kernel developers. Based on the discussions regarding this topic I would not hold my breath for the near future that this is possible.
For anyone doubting the necessity of separated hardware drivers I can only point to the efforts of AMD/ATI and NVidia to support binary drivers on a wide range of Linux versions. Their drivers are always behind the capabilities of Windows and notoriously unstable. Their open source counterparts are not much better and are still in their infancy after years of development.
Without solving the issues with the current Linux distributions desktop Linux will never gain traction and reach its full potential. Desktop Linux will only succeed when it can meet the requirements from both users as ISVs. Users want a reliable and stable OS combined with great hardware support and the latest stable versions of their favourite software. ISVs need to be able to target and support a stable platform. Current Linux distributions are moving targets or do not support the latest hardware or applications. This needs to be resolved. One major improvement would be the separation of hardware drivers from the kernel. I can only hope this will happen and at that moment desktop Linux has a bright future.
Picture by trekkyandy (Creative Commons Attribution-Share Alike 2.0 Generic)