Linux distributions are having difficulty gaining widespread popularity. Many interested people have theories for this, which usually cite usability problems incompatibility with Microsoft applications such as Office, lack of games or GUI/usability issues. I actually have an alternative theory, which is that the people who are actually using Linux state these as problems as reasons they sometimes use Windows or why they won't give it to their girlfriend, mum, grandad etc. to use. The reality is that there is a lot of people out there who are interested in Linux who are going to at some point try it. If they then try it but can't get it to work with their hardware easily, they are likely to give up at that point at least for now.
As I see it, the main problem is that when people do try Linux they are beset with problems from the start. One type of problem is that the distribution the use doesn't support their some part of their hardware. Another problem, is that even if the hardware is supported, typical day-to-day items don't work out of the box such as Flash, videos/DVDs, music (MP3s) and Java.So why don't these work out of the box? Well mainly to do with copyright and monopolistic reasons - Adobe's Flash is popular but, in contrast to other popular web technologies, is not based on a open standard. Other implementations exist but Adobe's implementation remains the only truly usable version. Java has had some redistribution limitations in the past but those should get better with the GPL release which is due soon from Sun. DVD, video and MP3 support is widely available for Linux using open source software, however, it is not supplied in most distributions because the distributor's have concerns that the software infringes patents.
Also now Linux has a wizzy new OpenGL based desktop, like MacOS X has had for a while, which is called XGL. However this requires OpenGL support in the graphics card which mostly comes in the form of binary only drivers for ATI and Nvidia cards. Wireless is now very popular but a lot of devices are only supported by running the NDIS wrapper (which enables loading of Windows drivers on Linux). Other devices seem to have 'acquired' an extra requirement where by they do not permanently store their own firmware. These devices require a binary blob to be stored in the OS and sent to the device when the OS boots. It is this binary blob that represents a problem since the hardware supplier often prevents it's redistribution meaning it cannot be provided as part of a Linux distribution.
Fortunately for many of these problems presented in the blog entry there is at least one project to solve it, here are some of the main ones:
- Gnash - Is alternative to flash
- The Nouveau project seeks to create an opensource driver for nvidia graphics cards
- OpenGL support for many ATi cards is available in the DRI project.
- Sun is going to release Java under a GPL license
- The Ogg Vorbis project seeks to create viable alternative to MP3 that does not have patents associated with it
- The BBC is creating a codec called Dirac which should not have any patent libilities