Linux May Be Ready for the Wall Street Desktop, But Who’s Up for the Job?


It’s been years that we’ve been hearing about the eventual transformation of Linux from a wildly popular operating system for back-end and device based software into one that could pose a legitimate challenge to Microsoft’s Windows and even Apple’s OSX. A lot has been made of Linux’s uphill struggle to find its way onto the desktops of not just devotees of the OS, but of large-scale enterprise businesses as well, a place where Microsoft has never had to face even the remotest of threats. This is a fact that even Linux’s greatest proponents are willing to concede, so much so that there’s been a comprehensive and organized effort from all corners of the open source world to help evolve the OS into a capable and mature option for desktop users.

It can be argued that Linux has already reached the point where it can be used for serious desktop work. Open source desktop manager projects such as KDE and Gnome provide users with a coherent and modern windowing system that in many ways is as good as what’s available on Windows and Mac systems. With the great gains being made, one might wonder, why hasn’t Wall St. embraced Linux as a desktop option in any serious way, especially given the tremendous cost of building and supporting desktop systems within large enterprise financial firms.

Digging further however uncovers some unpleasant truths that (at least in my view) are probably significant impediments to Linux’s rise to desktop stardom in large enterprises. While Linux itself may be ready for professional desktop usage, at least in terms of the polished functionality provided by KDE and Gnome, the picture is not so clear when we look at issues of GUI API stability, commercial application compatibility, developer talent, and hardware support.

Let’s start with GUI APIs. There really is no clear winner when it comes to writing GUIs for the *nix world. This is in part because there is no clear winner when it comes to the desktop managers themselves, which each are closely tied to different underlying widget APIs. If you’re a commercial application developer, which do you support? Even if you were to throw your weight behind one over the other (and there are more than two, although KDE and Gnome are the most popular), there’s enough uncertainty about their future direction to prevent a publicly traded company from sinking millions of dollars into system redevelopment and porting efforts.

The issue of API selection leads right into another problem: programmer talent. While various Linux desktop distributions have reached functionally stability, there is a relative dearth of professional experience in the talent market to staff any serious commitment to the technology. Compared to Windows, relatively few can claim to have any serious experience developing high quality and high performance interfaces on any Linux desktop distribution whatsoever. While it may not be fair or even fun to admit, the Win32 platform has decades of technical mindshare amongst developers. Even if you cut your teeth on VB Forms and are now dealing with .NET Windows Forms or even hacking legacy MFC apps, both are simply wrappers of a well documented and slowly evolving message based windowing API. It’s not difficult to unravel the underlying connections between them since they share the same foundation.

But the problems don’t end there. One other advantage that Windows holds over Linux in the desktop space is a dedicated flow of high performance graphics hardware to power the underlying windows and graphical APIs. Bolstered by the gaming industry, Windows has benefited from rapid fire innovation in the hardware accelerated 3D hardware industry. The technology has become so prevalent that OSX has used it to power its high gloss interface for some time now, and it’s well established that Vista (and even XP by way of an addon) will follow suit. Linux on the other hand simply can’t get any luck when it comes to 3D hardware. NVidia has done an admirable job at providing performance drivers for the OS, however they still don’t get the same treatment that Windows and OSX do. And one hardware vendor cannot be counted upon to bolster a standard on an OS platform, especially when you are betting your farm. The fact is that ATI and Matrox simply won’t play along, with the former providing very low quality linux drivers and the latter simply providing none at all.

You might challenge the importance of this, after all how necessary is 3D accelerated hardware for a business desktop platform? The reality is that 3D graphics are an emerging technology that have real applicability when rendering even everyday 2D images at very high speeds, such as frequently-updated trading blotters to name just one example. If Linux can’t endear itself to 3D IHVs, I’m afraid it will always be at a disadvantage when trying to compete for the enterprise desktop.

When all has been said and done, Linux has come a long way in the desktop space. But have we evolved enough with it to use it in a way that is as powerful as its long established incumbent? I’m afraid we haven’t and I don’t see that changing any time soon. It would be nice to see the incredible wealth of innovation and flexibility that Linux affords developers find its way onto user’s desks, but Linux and its proponents will need to build a lot more consensus amongst itself on the issues of APIs, Look & Feel and application compatibility. When that’s all been sorted out, maybe then professional developers will be willing to invest their time to build the skills necessary to actually build systems around it. But even before then, graphics hardware vendors will have to show a much more consistent level of commitment.