posted by Tom Onoma on Wed 5th Nov 2003 04:00 UTC
"Old GNU, Page 2"

GNU/Linux, and OSS in general, does not lack for many of these innovations. Although most are in early alpha stages, the ground work is present. The real problem lies in the overall lack of unification of its many diverse camps, and the general approach that has been taken toward competing with Windows. Thus far GNU/Linux has primarily approached competition with Windows in two ways.

The most well known of these is called WINE. And it is essentially a development project to directly emulate the functionality of Windows' class libraries within Linux. This allows an end-user the best of both worlds. They can run Linux applications side-by-side with Windows applications. There is of course a severe draw back to this. WINE development is always a step, or two or three, behind what is coming out of Redmond. The real incentive of WINE is therefore to provide a means for users to migrate from older versions of Windows to Linux without having to sacrifice certain functionality, i.e. applications, to which they have grown accustomed. Obviously this is a double-edged sword. But we must give credit to the WINE team, they have made amazing strides. Who would have even thought it possible? WINE can even run intensive native Windows games like the SIMs. Truly an amazing feet of backwards engineering.

The other approach is to indirectly emulate Microsoft Windows functionality in native Linux libraries and applications. For example both Gnome and KDE include a emulation of the Windows taskbar and systems tray. (This is not to argue that such icon menus did not exist prior to Windows' --that is not the point.), or the Control Panels that KDE and other distributions now offer. This kind of development is being done across the board. Although there is some innovation, a great deal of development is of a "we can do what you can do" nature. Much of this work has similar goals to WINE, but differ by their focus on interoperability. Samba is the tour de force example of this. Samba allows Linux system to communicate with, and even centrally serve as, Windows networking systems. Again this improves migration.

A newer third way of competing with Windows has emerged, blatant indirect emulation. This method is solely embodied in the Mono project. Mono intends to create a compatible .NET CLR for Linux along with compatible versions of the majority of the .NET classes with various levels of substitution targeting the GNU tools, such as GTK+ in place of Windows' GDI. Mono has the more ambitious goal of actually running "99ish% parallel" to Microsoft and the .NET framework. Rather then enable end-users to run Windows application, or interoperate with other Windows systems, Mono allows developers to easily migrate their .NET applications to Linux with a minimal amount fuss. Like the WINE and Samba teams, the Mono developers have made amazing strides. I was particularly impressed, upon visiting the Mono website, with the amount of quality work that is coming out of this project. A number of Mono compilers have already been written and a number of fairly functional applications already exist. It does give one pause, as a developer, to make the move to Mono. But immediately one considers moving back to Windows and using the real .NET! And there's the rub.

Inherent in all three of these approaches, although admittedly wonderful technologies, is one BIG FAT PROBLEM -- They all play second fiddle to Microsoft Windows. Like the little dog jumping over the back of of his Alpha-male buddy, repeatedly begging for his kibbles-n-bits, none of these projects bring anything particularly new to the table. On the whole, it is but a catch-up game, day in and day out. There may be some migration advantages to this, but on the whole it represents the single most devastating disadvantage of GNU/Linux. Linux offers little compelling reason for users to switch platforms, other then Linus Torvalds' gift to the world of a rock solid and free OS kernel. Yet most end-users have no idea what a kernel is, or even care, and rightly so. The end-user only cares about what the system as a whole enables him or her to do. If GNU/Linux is, for the most part, always working to catch up with Windows, then the everyday end-user will be very much satisfied to keep with what they know. Moreover, GNU/Linux will never be anything more the a Windows alternate, suitable only for those elite citizens of the in the know Geekdom.

Only Redhat, and, to a lesser degree, a few other distributors such as SUSE, have really made any strides in beating Windows on an equal footing. They have done this by focusing squarely on a single important aspect for a narrower but lucrative area of the IT industry: the Total Cost of Ownership of Enterprise Services. Many look to this as the burgeoning proof of Linux's ultimate success. But this success has quite a bit to do with the Apache web server, for which Microsoft has had to play catch-up themselves and still remains second to, although reportedly they are gaining! Others point to the growing embedded market, where Linux share has done fairly well and continues to improve. But both of these are essentially vertical markets --areas in which the market is comparatively narrow. In this arena alternate systems have a much greater chance of success especially when backed by strong supporting corporations.

Just the same, the ultimate power lies with the end-user. This is so simply because the end-user is at the one at the end of the line in the use chain. If an end-user's clientware only functions optimally when served by the officially compatible serviceware, the end-user will have little desire to pursue an alternative, nor will the Enterprise wish to serve with anything but that which most enables their paying user-base. This phenomena already exists on the Web where a number of sites do not work properly unless accessed with Microsoft's Internet Explorer.

Make no mistakes about it. Bill Gates is quite possibly the shrewdest business man who ever was. Any testament of Openness on his part is just a means to pull open sourcers away from Linux and ultimately OSS tools in general. When the time comes Mono will be pushed into a corner. They will have difficulty staying on good terms with Microsoft. Microsoft will create a means, if they haven't already conceived of it, to use Mono to their advantage. It may be as simple as requiring a licensing fee for every copy of Mono distributed. Or it may be just subtle persistent changes to Windows, so that Mono clients don't always function correctly when accessing real .NET services. Any rational person who has kept abreast of all Microsoft's past activity knows something along these lines will happen. And mind you, I'm not blaming Microsoft per se. They have every right to compete in the market. It isn't their fault if the the OSS community isn't putting up much of a fight.

References:

  ExtremeTech Preview of Lonoghorn, http://www.extremetech.com/article2/0,3973,1368535,00.asp
  NGSCB, http://www.microsoft.com/resources/ngscb/default.mspx
  Microsoft .NET framework, http://msdn.microsoft.com/netframework/technologyinfo/default.aspx
  Taos Group, http://www.tao-group.com/
  Amiga Anywhere, http://www.amiga-anywhere.com/
  WINE, http://www.winehq.com/
  The GNU Project and FSF, http://www.gnu.org/
  Gnome, http://www.gnome.org/
  Mono, http://www.go-mono.com/
  KDE http://www.kde.org/
  Samba, http://www.samba.org/
  Apache, http://www.apache.org/
Table of contents
  1. "Old GNU, Page 1"
  2. "Old GNU, Page 2"
e p (0)    84 Comment(s)

Related Articles

posted by weildish on Tue 6th Jan 2009 17:28
posted by Thom Holwerda on Mon 15th Dec 2008 15:10
posted by Kroc Camen on Thu 4th Dec 2008 18:20