Every couple of years, someone compiles a list of programs that GNU/Linux needs to compete on the desktop.
For example, in early 2006, Novell conducted a survey of the applications that people most wanted ported to the platform.
However, if you really want to track the most pressing needs for a free desktop, the most useful indicator is probably the Free Software Foundation’s (FSF’S) list of High Priority Free Software Projects.
Projects make this list “because there is no adequate free placement,” the list’s home page explains, which means that “users are continually being seduced into using non-free software.”
The trouble with other lists is that they are mostly wishful thinking. No matter how many people clamor, we aren’t likely to see GNU/Linux versions of Adobe’s PhotoShop or DreamWeaver, let alone Microsoft’s Visio.
Aside from the obvious animosities in Microsoft’s case, most major commercial software vendors accept as a truism that they can’t make a profit selling in the GNU/Linux market, so, for the most part, they don’t even experiment with the idea.
To do so, they would have to radically alter their business models, which, as Xara’s half-hearted efforts demonstrate, they are either unwilling or unable to do.
Besides, at this point, the makers of major software products on the Windows platform face stiff competition from rapidily maturing free software rivals. So, if the port isn’t going to happen, why waste time pining for it?
Another problem with these lists is that they tend to focus on specific programs. Often, they’re more indicative of what people use on Windows than any lack of functionality on GNU/Linux.
For instance, even before the GIMP recently came out with color management, it made a more than adequate replacement for PhotoShop for all except — possibly — the highest-end professional designers.
By contrast, the FSF’s high priority list is about functionality. Instead of obsessing about what people use on other platforms, it pinpoints what is still missing in the efforts to build a politically free desktop.
This emphasis makes it a more accurate indicator of the platform’s current state.
Projects are listed primarily by the time they have spent on the list (which is often, but not always, an indication of their importance to daily computing).
Each links to an explanation of why it is on the list, and the projects, if any, that are working towards providing the missing functionality.
Except for the recently-added GNU PDF, which is actively collecting donations in the hopes of allowing some developers to work full-time on the project, none of the projects are actively soliciting funds.
Instead, the list is given mainly for information, and, perhaps, in the hopes of helping developers decide what they might focus on.
The Current Projects
Currently, the following projects are on the list:
Free Software 3-D Video Drivers
Video drivers are the dirty little secret of many GNU/Linux users. Traditionally, you either have the choice of using proprietary and sometimes buggy proprietary drivers, or free ones without 3-D support.
That’s starting to change, especially with some of the drivers released in the last few months by AMD’s ATI division, but more work needs to be done.
The high priority list focuses specifically on working to improve the Direct Rendering Structure in the X Window System, specifically with changes to the xservers and related libraries and kernels, but other efforts are more manufacturer specific, such as the Nouveau project, which is reverse-engineering NVdia drivers.
Unlike the programs in which you work, your computer BIOS remains proprietary. Since installable BIOSes are the norm these days, the FSF would like to take the final step and see free BIOSes as well.
The most promising free BIOS project is LinuxBIOS, which can boot a computer in under five seconds, using either Windows or GNU/Linux.
The main problem holding back the project is a lack of support for many motherboards and a lack of a major vendor that ships with LinuxBIOS.
The goal of Gnash is to provide free libraries for viewing and working with Flash, a technology that is being used everywhere these days.
So far, Gnash has had some success with viewers for Flash 6, but support for later versions of Flash are still in development. Nor has a Flash editor appeared yet.
GNU/Linux already has a partial implementation of Microsofts .NET (AKA C#) language in the Mono Project.
However, many people in free software are concerned that Mono could face patent attacks from Microsoft.
Just as importantly, some view Mono with suspicion, especially since it is sponsored by Novell, Microsoft’s chief partner in the community. DotGNU is an effort to provide a technical and political alternative.
Although GNU/Linux users can choose a selection of PDF readers, and create PDF files in OpenOffice.org, the operating system lacks a complete implementation of the standard.
With PDF about to become an ISO standard, GNU PDF has stepped in to finalize support for this widely used format.
Google Earth Client
According to the high priority list page, “the Google Earth client is non-free specifically in order to impose Digital Restrictions Management” — DRM, or Digit Rights Management as it is more commonly called.
Given the FSF’s long opposition to DRM, as evidenced by its support of the Defective By Design Campaign and the language of the latest version of the GNU General Public License, the potential for DRM is probably more the concern here than the popularity of Google Earth itself.
Xiph.org is a non-profit corporation that develops free multi-media projects, best known for its Ogg Vorbis audio format and Ogg Theora video format.
However, work still remains to be done on such software as Icecast, a server for streaming multimedia, and Speec, an audio compression format designed specifically for speech.
Reversible Debugging For The GNU Project Debugger (GDP)
GDP is used to track what happens in a program in order to improve it. Currently, it does not support tracing what has happened in a program backwards step by step.
Besides the obvious immediate usefulness in improving software in progress, this ability might be useful in reverse engineering — a major method for helping to trace what is happening with proprietary programs so that free versions of them can be developed — and also in developing emulators for other operating systems.
Occasionally, the high priority list changes to reflect an unexpected opportunity. For example, last December, when the Free Ryzom project attempted to raise the funds to buy a bankrupt online roleplaying game, the FSF briefly added it to the list to help raise funds.
Compared to several long-standing list items, an online game wasn’t essential to free software, but the FSF hoped that the popularity of gaming would attract more users and — since games often drive hardware advances — encourage video card manufacturers to give more support to GNU/Linux.
However, the effort failed, and the list returned to more immediate considerations.
According to Peter Brown, FSF executive director, the list is scheduled for updating early in 2008.
The main page encourages suggestions for additions to the list, asking that suggestions include the reason that a project should be on the list, and its web address.
This list is not complete by any means. Most users could probably make the case for one or more additions (my own would be a GUI for Optical Character Recognition).
Also, the list is partly political. You won’t, for instance, find support for Microsoft’s Office Open XML, the default format in the latest versions of MS Office.
This is because many, including Richard Stallman, the FSF’s founder, believe that the community should have nothing to do with the format, which was developed to challenge the use of the Open Document Format.
Otherwise, as a guide to the hot spots, the high priority list is a reliable guide to the state of free software.
Personally, I find the current list both encouraging and depressing. On the one hand, it is encouraging in that relatively few items affect daily computing for the average user.
Moreover, the fact that free software is in reasonable enough shape that it can start thinking beyond immediate needs and worry about such things as the BIOS is a sign of progress.
On the other hand, it is discouraging because progress sometimes seems slow. Video drivers have been a problem for years, and the improvements, while real, are also painfully slow.
Similarly, Gnash has not yet developed to the stage where it can rival Adobe’s Flash reader, despite several years of work.
Still, over time, the list reflects progress. For instance, since Sun announced last year that it was releasing the Java code, you will no longer find support for free Java implementations listed.
By comparing the current list with previous ones, you can get a sense of the gradual evolution of free software, seeing where it’s been and where it is heading.
For a GNU/Linux watcher, it remains an invaluable resource.