Category Archives: Software

What I Love To See Changed In Ubuntu

I am an on and off Ubuntu desktop user. I also run a few low key servers on Ubuntu but nothing production grade. I have several reasons for that and itches me that Ubuntu has the right vision but I would do the execution a bit different.

In this post I give some friendly well meant advice to the Ubuntu guys how I would like to see their product offering improved. I can summarize it in 4 areas:

  1. Three desktop versions
  2. Excellent applications
  3. Certified hardware
  4. Integrate desktop and server offerings

Three desktop versions

Ubuntu has current two versions; LTS (long term support) and a bleeding edge 6-month release. The LTS version is meant for corporate desktops or people who want a stable version. The 6-month release contains all the new stuff and is bleeding edge.

In my opinion this split does not work in practice. The LTS version is always behind in both application and hardware support from the moment it is released. It only receives critical bugfixes and security updates. But while this release is out hardware platforms keep on moving forward and new major versions of applications are released.

The moving hardware platform breaks hardware compatibility of LTS on new hardware or bugs in existing platforms are not fixed. You cannot just buy a laptop and hope that LTS wil work without problems. It makes buying hardware for LTS either a hit-or-miss scenario or a hard research exercise. More on this in point #3. Either way not recommended for either corporate buyers or consumers.
LTS only makes sense when the current and latest hardware platforms are supported and Ubuntu makes sure new these just work. Bugs in hardware drivers should be fixed and released as soon as possible.

The same applies for releases of major software packages. Consumers like to have the latest bells-and-whistles. You cannot just wait 2 years before your browser or your office application is updated. Especially in the Linux world where so many applications do not receive bugfixes — or even security fixes — after 1 year of the release.
For corporations it makes sense to control the application environment and only move when there is a need. It avoids user training and collaboration problems when there is a homogeneous application environment. For corporations it should be a controlled choice to update the application environment. This also hooks into my point #4.

For these reasons I would like to see 3 desktop versions. These are:

  1. Ubuntu Next Generation – contains bleeding edge software and is for advanced users only. The name Next Generation is because it will show how the Next Generation of Ubuntu LTS looks like.
  2. Ubuntu LTS consumer version – contains a stable software environment but with the latest hardware drivers and major user applications.
  3. Ubuntu LTS corporate version – defaults only to move the hardware platform and applications only by choice — of the IT department. See also point #4.

To keep up with the moving hardware platform some interesting changes required which are not easy. It would require either to keep up with current kernel releases, backporting drivers or creating a kernel-independent driver model. All three options are hard but does not make it less important.

Excellent applications

For any operation system the applications are one of the key differentiators and Ubuntu has 35.000 of them. Even though the Apple App Store has more it is still key to do 10 – 15 applications really well. Apple does the same. The Iphone or Ipad come with a set applications which work really well and give the product instant usability. Ubuntu should do the same. A lot of applications are ok or good or average but none of them are really excellent.

Ubuntu should invest in making a top 10 of really excellent applications. These top 10 should ideally be also the top 10 most used applications on Ubuntu. My guess is that this would include a web browser, office applications and an email application. Ubuntu should set the standard in UI/UX design in the Open Source world. These applications are the crown jewels and need to convince users to come to Ubuntu. Unfortunately besides the web browser there no real winners in these categories.

A problem is also that a lot of Ubuntu homegrown or heavilly sponsored user applications are really not that good. For instance the Ubuntu Software Center looks slapped together. The same applies for Gwibber. These applications really need improvement in the UI/UX department. Another examples are Evolution or OpenOffice. Two applications which are essential for any serious Operating System offering but are really not that good. They are average or ok but definitely not excellent.
Ubuntu should really hire some UI/UX designers and actively participate in these software projects to bring these applications to the next level.

Certified hardware

Up until this day it still baffles me that Ubuntu does not certifies hardware for use with their Operating System. Any Ubuntu user who wants to buy a new computer or peripheral wants to know what to buy. It is also a great incentive to show to hardware manufacturers that there is a market for Linux compatible hardware.
It baffles me because it so easy. Just buy the latest hardware from a few vendors and test/tune/tweak until Ubuntu Just Works on this hardware. If there is a major problem because driver support is missing then write a driver or publicly announce that this hardware will not run on Ubuntu.
The current crowd-sourced solution on Ubuntu.com is nice but more geared towards advanced users and not consumers. There should be a list of a few laptops, desktops, printers, etc per manufacturer on Ubuntu.com which work with Ubuntu and Ubuntu will make sure they keep working. The selection should be intelligent like a 13-inch and 15-inch laptop together with 1 budget and 1 workstation combined with 1 inkjet printer and 1 laser printer. Maybe add a netbook or two if the manufacturer makes them.

Ubuntu marketing department should have field day with this and should make this a honor badge. If they are really good it can even convince hardware manufacturers to see this as an important asset for their hardware. At that point they can do the grunt of the work themselves and maybe even add Ubuntu Compatible sticker on the hardware itself.

Integrate desktop and server offerings

This topic is aimed at improving the corporate offering of Ubuntu. Ubuntu leaves a big gap by not tightly integrating their desktop and server offerings. Ubuntu Landscape tries to cover this but is only very limited. Moreover it does not integrate the desktop and server very tightly. It is just an additional layer on top of Ubuntu. Moreover it is only available via Canonical. Not very practical to win over organizations except some big corporations who rather outsource their deployment anyway.

The tight integration of desktop and server is a marriage to be made heaven. It has proven very successful for Microsoft. Corporates like to be able to manage and roll out large number of desktops. To manage a large installed base of desktops you need to have set of tools available. This set of tools is available on Ubuntu but are not easy to setup or manage. Here is an excellent opportunity for Ubuntu.

I talked in point #1 about a corporate release of LTS. The reason for this is that corporates would like to manage the roll out of desktop applications or updates. They need to verify updates or applications are compatible with existing hardware platforms and do not require user training. They need to be able to force security updates to desktops or make new applications available on a per desktop basis. Other options include custom non-Ubuntu managed software release of external software.

But it does not stop here. Corporates need to manage configurations and manage authentication / authorization on a network. Or roll out VPN access to specific users.

The Ubuntu desktop and server versions should integrate out of the box. By installing a Ubuntu desktop version there should be an option automatically configure it for a corporate network including authorisation / authentication and software package management through company servers. Desktop configuration for a corporate network should be automated. Just imagine that there is automatic configuration of email settings, network printer and network storage.

Ubuntu servers would come out of the box with image bootstrapping functionality to create servers and desktops based on custom build images. Any Ubuntu version would incorporate a tool to create such an image with a push of a button. Again all these tools are available on most Linux distributions including Ubuntu. The problem is setup. It should be made easy and reliable.

A great example is Ubuntu One. Just imagine when corporates could create their Ubuntu One environment on their networks. It definitely makes sense on a corporate network to move everything to the network and make desktops fully interchangeable. No more problems with lost files when desktops break or get lost. Just pick a new desktop, boot it up, login and you are done.

Last thoughts

I think there is still so much opportunity for Ubuntu but I feel there is so little progress. I sometimes think that Ubuntu has too much focus on particulr details like Unity or 3D effects and looses sight what really could make Ubuntu successful. Their eye of detail has brought them on top of the Linux distribution lists but to conquer the world they need to make bigger changes. I can only hope that some of this on the road map of the product guys at Ubuntu. Until then I think I will keep on being an on/off user which is fine. It just bothers me that so much potential is left unused. But maybe I am just impatient.

The train wreck that is Google Android

Google Android makes great inroads as the alternative smartphone OS next to IOS from Apple and Blackberry from RIM. Companies like Samsung and HTC are putting their weight behind Google’s mobile operating system.

Bill Gurley of Benchmark wrote an excellent analysis of Google’s strategy behind Android called “The Freight Train That Is Android
In short Google wants to direct customers as fast as possible to their web services platform and uses Android to build a huge bridgehead. They give it for free because the money for them is in selling advertising. And they make enough money that they can afford giving Android away for free. This is of course great for handheld makers since they do no longer have to invest in their own software development. His conclusion is that Android benefits the customer since they get great software for the cheapest price possible. And this is a sad conclusion.

The reason that I do not support his conclusion is that because of Android a lot of handheld manufacturers loose the capability to create operating systems on their own. It brings back the market of mobile operating systems down to 3 or 4 major players. With the success of Android you can bet on it that RIM will go under or reposition themselves with an Android offering themselves. The first signs are already there since their tablet is compatible with Android applications.

Google using their enormous weight behind putting Android on the map and this will eventually lead to loss of innovation in mobile operating systems. Handheld makers will loose their capability to create operating systems and are at the mercy of Google for innovating on the software platform. In the end consumers will loose because of this. Of course Android has made it possible to make a major leap in smartphone capabilities but this is one-time leap. In 4-5 years we are stuck with a very boring mobile phone market.

Moreover free does not exist. The development of Android has to be paid somehow. In Google’s case it means the advertisers are paying for it. In the end the consumer will be pay for that. The revenue model is just different. The only argument you could make is that Google is doing the development for multiple handheld manufacturers at the same time which lowers the cost. But this is the price of innovation. Innovation does not come cheap. It needs competition to thrive and competition costs money. What Google does is the leveling the competition for a short term gain. Status quo is often cheaper.

Android seems to be getting a lot of support from the business crowd here in the US. And to me this looks like the US is trying to create another Microsoft out of Google. A monopolist who tries to its best to vertically integrate the business while moving possible competitors to the side.

I think this is sad.

App store has risk to become a burden for Apple

The expectations are that by March this year the App Store will surpass the iTunes store in number of downloads. I am confident that the associated revenue will surpass music sales pretty soon too. What this says about the music business is not where I wanted to talk about in this post.

I want to talk about that as the apps economy is growing to enormous proportions it brings a significant risks for Apple. The applications bring new functionalities and services to their platform. With that I ask myself two questions:

1. What happens if Apple incorporates new functionalities into iOS and makes a particular group of applications redundant?

2. What happens if Apple wants to introduce a new service for which different competing services are available?

Incorporating functionalities inside iOS

There is a serious risk that any enhancement to iOS will make a certain set of applications redundant. What happens then? Especially developers who make their living from selling their applications on the App Store will not be amused by such a move.
If Apple uses the App Store as inspiration to set the development roadmap of iOS then it can lead to serious consequences. For most it can lead to developers moving away from the platform and thereby reducing the ecosystem of the platform.
The success of the platform and a healthy application economy supporting it becomes more important to Apple from a revenue perspective. For this reason it will restrict the options Apple has on extending the iOS platform at some point.
Another risk is since Apple controls the complete platform from top to bottom it can be seen as monopolistic behavior. This is a route Apple definitely does not want to go into.

At some point the whole App Store ecosystem can be more of a burden to Apple than the success of today predicts.

Introducing new services by Apple

Apple has developed a healthy set of services around the platform. Music, movies, TV series and applications can be bought, rented and downloaded to their iphones, ipods, macbooks etc. But there are competitors on the market who wants access to the platform. The platform represents a huge market opportunity and Apple likes to be their own services to be successful to bring in the most revenue.

At this moment Apple allows competitors access to their platform. I wonder if all competitors are welcome. It is not completely clear since this part of the market is not really transparent. The negotiations between companies of this size are behind doors. For instance Apple holds back on allowing Flash to be ported to the iOS platform or stopped competing browsers to enter the App Store.
At the same time Amazon delivers books through their Kindle application while Apple sells books through their own store.

It is logical from Apple’s perspective to protect the revenue stream for their own services but it could be seen as monopolistic behavior. The iOS platform holds a significant amount of the market and closing access to competing services can be a serious problem for competitors and consumers.

Conclusions

The Apple controlled ecosystem of the iOS platform brings serious risks for Apple in the future. At this moment they will feel euphoric about the success but there is a significant change it becomes a burden for the creation of new products and services.

If Apple makes the wrong decisions it can be seen as monopolistic behavior and this can have serious consequences. I am sure Apple’s ecosystem is and will be on close watch with the market regulation organizations in different countries.

The only option for Apple is to tip toe through any changes and new introductions. And I wonder if that will slow down Apple in bringing new products and services to the market.

Apple walls its garden for a reason

On the internet you read a lot of complaints on Apple product philosophy to tightly control the end-user experience. And it is true. Apple does have strict policies about what is available and what is not available. Even further when in doubt they rather choose to close / stop the activity then to allow it and see what happens.

Of course this creates a lot of unhappy geeks out there but of course this stuff is not meant for them. The products are meant for consumers. And most Apple consumers are happy with their gear.

We can all remember the days we all used Microsoft Windows. And you know what for better and worse Microsoft’s platform was open for all. They of course had their secret APIs and stuff but still anybody could make an application available for all to install.
I can remember that I kept on reinstalling Windows several times a year because Windows would get slow, unreliable or stopped working all together. This was mostly because I played around with so many different applications. But not to forget; Windows was very vulnerable to viruses, worms and Trojan horses. These little buggers made use of this open and easy accessible platform to flourish and propagate.

For me a close analogy are cars. In the past it was normal that certain large percentage of car owners actually knew how the car worked and even were able to fix problems with the car. Nowadays cars are so hard to maintain that even the professional mom & pop shops have to specialize to keep up. Consumers maintaining and fixing their own cars are very very low in numbers. The only people I know who work on cars are working on cars of 20 years and older.
This analogy also applies to electronic equipment. In the past you would get the electronic schematics with your television. This helped you how to fix a problem with your television. Of course you do not get this information anymore.
For computers it is the same process. In the past computers — and especially desktop computers — could be completely disassembled by the owner. Parts of the computer could be replaced or upgraded. It was normal to bring your computer to your local computer geek to upgrade it every 6-12 months. Necessary to play the last computer games or latest version of Microsoft Office.

Computers nowadays are (or should?) reliable pieces of equipment. Users expect it to keep running for several years. They do not want to upgrade to be able to play or run the latest versions of software or games. A computer is a tool like a television, alarm clock or your refrigerator. Nothing more and nothing less. This means that geeks need to find another hobby or use a different car. Linux is an alternative.

Apple sees this clearly and applies this vision to their product line. I think it is a very successful strategy.

Let Android prove it can be different!

Is Ubuntu contributing to Open Source or not?

Mark Shuttleworth wrote an interesting piece as a rebuttal on complaints from the community that Ubuntu and Canonical are not contributing enough. He states that Ubuntu is contributing by polishing, bug fixing and bringing Linux to the people.
The critics say that only very little code is written by Canonical or Ubuntu community as a whole which flows back into the underlying projects like Gnome or X.org.

And I have to agree that Ubuntu has too much focus on their own products. It is their right to do so. There is no legal obligation that they should. But they cannot claim that they are really contributing to the Open Source community. Their behavior is to look the upstream projects as suppliers. And they do not go into partnerships with them. Instead they fork and extend as they see fit. Without active participation of Ubuntu there will be a divide between Ubuntu and the upstream projects since the vision and goals are never part of the upstream projects. The community at large will go in their own direction and if that does not match up with the direction or vision of Ubuntu the divide will only get bigger.

But there is also the moral obligation. That is what I read in all the posts made by critics. The community expects more back from Ubuntu. And to be honest I think that with 300 developers on staff it is really not impossible to have 30 people working exclusively on Open Source projects. It may sound not very business like for Mark but without the continuous improvements of the underlying software Ubuntu could not come to where they are today.

And as a regular Linux desktop user I am still not convinced that it is good enough for the masses. There is still much to do. The upstream projects could really benefit from the insights and vision of Ubuntu.

So please Canonical hire some important Open Source developers and let them work on their projects. What would have happened if Linus Torvalds would spent his time on porting the Linux kernel to some obscure CPU? Would the Linux kernel be where it is today?

My desktop is back on CentOS

For a while I have flirted with Windows 7 and Fedora 13. I spent in total 4 months on these two OSes combined. Before I used almost exclusively CentOS 5 on my desktop. And I have come back to CentOS.

The question is why? And to me the answer is clear. I feel at home on CentOS. It is not fancy, it is not up to date with the latest releases of applications like OpenOffice and the software repository is quite limited. But it works fine. Moreover it is stable as a rock. I do not mean this in the sense of crashing but in the sense of keeping your configuration working. Fedora needs an update every 6 months. After the upgrade it needs work. I always have the feeling that I waste my time to tweak a Fedora machine to my liking since it will be gone / changed in 6 months again. Moreover my battery was draining quite quickly under Fedora.
Windows 7 is a problem because it does not offer working sound support for my good ol’ Thinkpad Z60m. Moreover it is unreliable with auto suspend. It sometimes works and sometimes it does not. Try to debug that on Windows. Good luck!

On CentOS everything just works and I can easily add the missing pieces like tpb (thinkpad button support). It suspends and the battery life is great. Everything works again as it should.

Red Hat is currently running the RHEL6 beta program. Beta 2 just came out and I am looking forward to see the final version as CentOS 6. It is scheduled for the end of the year.

Companies who are control freaks

One of the major drivers behind innovation is openness. Through openness knowledge is shared, reused or build upon to create bigger and better things. And this openness is at risk. Companies – but also universities – are becoming control freaks trying desperately control the use of their knowledge, products and content. This is a serious risk for keeping pace with innovation and moving society as a whole forward. The examples are abundant: In this article I will highlight some of them.

One of the most visible examples is digital rights management (DRM). You will find it everywhere. It is part of every television sold, every copy of Microsoft Windows, ebooks and game consoles like the Playstation or Xbox.

Using DRM companies control the use of content. The user does not own the content anymore but buys a license or right to use it. The user may only use the content based on license bought. This seriously restricts the options the user has for the content. Without technical circumvention a user cannot for instance copy a DVD to their Ipod for viewing on the go.

Sometimes this leads to very odd situations – especially from the consumer point of view. A prime example is what happened with the ebook 1985 of George Orwell sold by Amazon. At some point it was determined that Amazon did not have the right to sell this ebook. Amazon promptly send out a recall command to all their Kindle devices which erased the ebook from these devices. Just imagine you were halfway through the book you thought you owned and then it suddenly disappears. Of course this led to some very disappointed customers and Amazon had to apologize publicly for their mistake. But it also showed clearly the problem with licensing content and not owning content.

In the past you could lend a book to someone, but this also not possible with ebooks. The companies selling the ebook restrict the copying of ebooks. This is a serious restriction for sharing knowledge. And overall ebooks are sold for the same price as regular books which you do own and can lend to a friend.

Another example are closed ecosystems around products like you see with Apple products or in the game console market. The barrier of entry to create an application (like a game) on a platform like Sony’s playstation or Microsoft’s Xbox is quite high due to high cost of their software development kits. It is just not that easy for a developer to create an application for these devices.

And although the openness of the Apple product line (mainly Ipods, Ipads and Iphones) is much higher than in the game console market developers still need to pass the nod of approval to be able to offer their software through Apple AppStore. The requirements to get your application approved are not very clear and applications are rejected for unclear reasons.

Companies create these closed ecosystems to control the use of their own products.

But industries grow based on openness. Standards and open platforms enable other companies (or organizations or individuals) to take part of the ecosystem. Perfect examples are GSM standard for mobile phones or MP3 for digital music. You can buy your music at one store and play it on different players. Without these open standards the industries would have grown much slower.

Native applications are the new future?

Internet services are more and more complimenting their service with native applications. The rise of the Iphone — including derivatives like the Ipod Touch and Ipad — and Apple’s appstore have boosted the availability of internet connected native applications. Applications to read news stories on newyorktimes.com or Twitter clients to keep everyone updated on your life.

A bit of history
Computing more or less started with the mainframe era. Mainframes were the primary computing unit and users accessed the mainframe using dumb terminals.
In the 80s and rise of Microsoft Windows and personal computers the paradigm changed to standalone usage. Individual computers were islands only connected through floppy disks. Next came the rise of computer networks. Companies connected computers together. These computers used servers to store and retrieve information. The era of client – server computing was born.
When the internet gained popularity and became mainstream with the invention of the worldwide web another paradigm shift took place. Computing moved to the web and using sophisticated — but standard — web browser software personal computers could access information on the internet. The new trend was to move all applications to the web. The web would offer a standard and uniform way to interact with applications.

Ipod, Iphone, Kindle, Evernote
And then another thing happened. A myriad of special purpose devices were created. Devices like the Ipod to listen to music, smartphones to connect to both the online and offline world and ebook readers to read your books. And all of these devices have one thing in common. That is that they use the internet as part of their content delivery network. Ipod are loaded with music through iTunes and iTunes loads its music from the internet. Smartphones access emails and twitters from the internet and ebooks get their books using online bookstores.
But these devices also have in common that they do not use a web browser. Some, if not most, of them are capable of running it but they use native applications for their primary use cases.

During this time I also see this trend translate to internet services who use personal computers as their primary platform. Services like Evernote and Kindle offer native applications for the personal computer. These services think they can offer a better service to their users this way. The reasons vary from a more powerful user experience to offline usage of the service.

Google Gears and Adobe Air
Companies like Adobe and Google have recognized this need and developed their own solutions. Adobe developed Adobe Air. Software to develop and run flash applications as a standalone application on the desktop. And Google created Gears to use web applications without an internet connection. Gears has not been a great success. The adoption rate beyond a few Google applications is zero. The result off Adobe Air is still in the air so to speak. There are 900 applications available through Adobe Air’s website. The availability on Android will boost its adoption. But there are two reasons why I do not think it will happen. First is the user interface which looks alien on any platform and the second is that it is a standard controlled by a company. Eventually this always leads to failure.

Trend to offer a more powerful user experience using native applications
I see a definite trend to offer next to an internet service a native application experience on individual platforms including personal computers. Even HTML5 cannot change that. There are so many advantages for native applications in specific use cases and companies start to recognize that web is not the end of all others. The web is great for general purpose applications and will never go away. But for specific use cases native applications are back. And the internet plays the role of content store and content delivery network.

Why AI is hard

Artificial intelligence was one of the first buzzwords I can remember from the previous century. It promised a future with intelligent computers or devices which could understand you and act autonomously.

Up until now we still do not use AI-enabled devices in our daily life. Why is that?

Our brain has 10 billion brain cells. Each brain cell has 10.000 connections to other brain cells. Neurons activate pathways to brain cells. The activation of brain cells along those path pass along the message of the neuron to other brain cells. Some pathways end and the message is not forwarded. The combination of brain cells and pathways between brain cells is how the brain processes and stores information.

To make AI happen we should be at least be able to mimic the brain cells and pathways functions. There are two options available; hardware and software emulation.

You could compare the brain (without memory) with a CPU. Current top-of-the-line computer processors contain 2-3 billion transistors. That comes close but each transistor has only a few pathways and is in the end only a transistor. If you would emulate the pathways the current CPU need to contain at least 50.000 more transistors than they today. Based on the Moore’s law (CPU transistor count doubles every 2 years) we can have to wait until 2025 to get to this point.

From a memory perspective you need to store the values of each of the pathways of the brain cells. This would require 10B * 10k * 1 byte = ~90TB of data. The biggest individual memory units currently available are 12GB. Applying the law of Moore again and we reach 90TB memory units in 2023.

With current technology we are able to emulate the brain function of an insect. Hence you see all those insect-like autonomous robots.

Based on these calculations it looks major progress can be made in AI in 15 years from now because the necessary computer hardware is available to be able to emulate the brain functions. Of course emulation is only the first step. The emulated brain also needs to be programmed to work. Much like any brain is programmed before birth.

Picture by toad(Creative Commons Attribution-Share Alike 2.0 Generic)

Why Ubuntu never works (and how an ideal Linux distribution should look like)

I like the work Ubuntu is doing for Linux and they initiated some interesting advancements for desktop Linux. The problem is that I never recommend Ubuntu to anyone. The reason is that although their product is easy to use there is also always something wrong with any Ubuntu release. Because they move so fast they do not have enough time to properly test and validate the releases they make. For this reason they invented Ubuntu LTS but this version is outdated after 6 months due to lack of hardware support. It only receives security fixes. Both version are not ideal. And for this reason I could not recommend them to anyone.

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
There is also another important group which have specific requirements for desktop Linux distributions. These are the ISVs. Their requirements are:
  • 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.

One exception from my point of view is Red Hat Enterprise Linux Desktop (or derivates like CentOS). Their approach although not perfect is better. In short their approach is to:
  • 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)