Some time ago, Bill Gates and Paul Allen thought that it was just not fair to have to pay for processing time on expensive mainframes. And they thought the solution was the personal computer. They bet all of their future on it. It was only an idea. They were even startled to see the debut of Altair computers in an electronics magazine. « The future is passing us by, » they thought. And they believed fervently in their idea, enough to make it a reality. Then they built Microsoft into the giant that it is today. Maybe, if Bill Gates an Paul Allen had not existed, the only personal computers that we might own would be Japanese, and would only work for playing games. Although, with out a doubt, we would have Quake III Arena, with a Japanese name, of course. And it would be a role playing game.
Likewise, Richard Stallman thought that it was not fair that people pay large sums of money for the software that they used, especially if it was not quite up to the quality they would prefer. And so he created the GNU project. He also be his future on his idea. And he believes fervently in it. He believes that the GPL license of his software it the best license in the world, and it is possible that he is right. Several years ago I read some articles written by industry analysts, that predicted that although the cost of hardware would decrease steadily, the cost of software would only continue to increase. Maybe, if Richard Stallman had not existed we would no be paying licensing fees of $1000 or more for a software package worth less that a tenth of that fee.
And then we have Linus Torvalds. The fundamental idea that he had was to realize at some point that the software that he had created in order to connect to the server at his university had certain similarities to an operation system, or rather the kernel of an operating system. Furthermore, the idea to try to improve the operating system on an ongoing basis with the help of its users. This was the fundamental step. Linus it the leader. If Linus had not existed… no, I don’t even want to imagine it.
Richard Stallman simply wrote his manifesto, made his software, and put his license on it, but his has not done anything of such significance since then. Any chance he gets, he gives his opinion of all types of licenses (e.g. the Motif libraries). The license on software is not its most important part. If it was, people would have stopped using Windows a long time ago. It needs something more. It need people who will do for each application and each library what Linus did for the kernel.
Furthermore, consider the fact that both ideas, the idea of Bill Gates and Paul Allen of not having to pay for processor time by using a personal computer, and the idea of Richard Stallman, of not having to pay for the software that you use on the computer converge to one idea. They converge to Linux: Free distribution for personal computers.
Now that Linux is entering very very slowly, but quite surely in the personal computer arena, we should place our attention on its graphical interface. I say that it is entering the arena quite surely, because once a user is satisfied with his Linux installation, he has all his hardware supported, he has tested all his application, is is possible that he will never return to Windows. But it is slow also, because only a small percentage of the people that try Linux are satisfied with the experience. The rest return to Windows. I contend that the single most important aspect is the graphical user interface. Because out there in the real world, there are more than 200 million users, that only know how to use a computer in this fashion, without text consoles, without two letter commands.
In this way, we are duplicating effort and advancing at half the speed or slower than what we should be doing. The teams of programmers working on the KDE and GNOME environments are working on the same problems, on creating an interface that is consistent, a standard for programming, incredibly personalizable, so the users of the graphical environment feel at home, and the programmers know that they can choose any group of libraries and their programs are going to work on whatever Linux system without problems or the necessity for the user to install additional components. Definitely we are duplicating efforts.
One of the first things I learned in college was that in programming, we should not try to reinvent the wheel each time we write a program. It is for this reason that function libraries exist and are standardized.
The KDE environment is complicated, it has many features, and supplies a consistent interface that is at the same time personalizable for any user. It is extremely easy to use and this allows for increase productivity with any user and eliminates the learning curve accompanied with a migration from a Windows system to a Linux system. In spite of this, I have seen messages from our local group of Linux users who detest KDE, more for ideological reasons (the Qt library license) than for anything practical. They would never recommend it in a business environment in spite of the benefits that its use might have.
« I have a K carved into my forehead, » was the expression used by one of them.
GNOME also has problems with its users. It is an excellent tool, and its GTK programming kit is GPL’ed on all the platforms to which it has been ported. It has several innovative technologies and notable features. But it also has some problems not just in itself, but also in its acceptance by some people. Some programmers that prefer BSD licenses detest anything that has to do with GPL. It doesn’t have a consistence interface across all installations. No sir, this is not a bug, this is a feature. This is the phrase that is used in these cases. Because you can try out various window managers and choose your favorite. But many user don’t even have a clue about what a window manager is.
To put this in a different perspective, let us suppose that the Hurd kernel from the GNU project had been ready in 1996 before the commercial explosion that Linux had last year, and there were some distributions with the Linux kernel and others with the Hurd kernel and some with both. There would be fanatical users of one or the other kernel. There might be some saying « I have penguin carved into my forehead, » even though he was, like all of us, dedicated to the project of liberating us from the 64,000 bugs for $400 or more, to which we are still tied to by industry forces. And maybe I would find « I have a penguin carved into my forehead » in the list of messages from our local user’s group.
This comparison is not exact, but it gets the point across. It is not exact because both kernels can execute the same programs ant the programmer does not have to do anything special for this to happen. In graphical environments KDE applications use one set of libraries and standards while the Gnome applications use different ones. Additionally you can use the Qt libraries without complying with the KDE standards or GTK without complying with Gnome standards. The users must have both sets of libraries in order to run both types of programs.
The rest of the applications use other available libraries. There are a tremendous number of libraries for programming in a graphical environment. Maybe this is a good thing, maybe not. A programmer who knows C or C++ and wants to write an application for use on Linux soon discovers a confusing mess of standards and libraries. The is no consensus on which set is the best. It is possible that our hypothetical new user might spend more time deciding which programming libraries and which environment to use, than the time he uses learning to use these libraries for writing his program. It is also possible that someone might use Gnome only because it is installed by default on the RedHat distribution. Only GPL fanatics will use Gnome. But this is only a possibility.
It would be nice to find a way to unite the KDE and Gnome projects. Perhaps there could be a leader to coordinate the projects, just like Linus does with the kernel. This would give motivation to the people who want to program and make Linux better. We would have increasingly more and more programmers, almost exponential growth, just as we have seen happen with kernel development since its beginnings.
In spite of this, Linux has to solve other problems of equal urgency. I I believe that Linux is an important operating system in the computing industry and the hardware manufacturers should recognize it as such. Instead of letting the open source community write all their drivers, the hardware manufacturers should write their own drivers. If they want, they can make them open source so that the users can correct errors or add functionality for the hardware. Even if they write drivers and release only binaries it would be a tremendous help.
Let’s take the case of software modems, better known as « winmodems ». Lucent wrote a driver and released the binary for the RedHat 6.1 distribution, which supported modems with the Lucent chips. Lucent has only written this driver, (it has some bugs) because they were only asked once. Lucent has announced the it will not make drivers at the request of users, but rather at the request of business that sell Linux distributions. It is a good policy. It saves time and money in technical support and it is possible that many hardware manufacturers might have a similar policy. Maybe they are only waiting for a Linux distribution to ask for the drivers. Everyone who has at some time written divers knows that it is much easier to write drivers for Linux than for Windows.
Linux distribution companies lack the sense of leadership that they need right now. Some companies announced a little while ago that, « we have hired programmers to work on X project for X amount of time ». Two programmers are to few. Especially the distributions with leading sales numbers like RedHat and Caldera should contract all the programmers that they can for Linux programs. Even though they have already hired some programmers, the more the better. The same goes for all the other distributions.
Linux is still not strong enough. The companies that make their money selling Linux have the responsibility to make it stronger. But they leave many things up to the « open source community » to do. Linux is a good software package to improve and make more compatible and friendly. Other open source projects are not. A project is no necessarily of good quality just because it is open source. They should not try to support all the open source projects that there are just because they are open source or because they are « alternative » operating systems. For this reason, among others, we should not see it as strange when the value over there stock shares go down.
Some people have speculated that the triumph of Linux could be based on the success of one application (the killer application), a software program that very good and that only works on Linux, which will make everyone want to have it. And some thought that such an application could be an office suite or something similar. The people at Microsoft think in a similar fashion. For this reason, they will try to make the next version of office (code named office 10) include integrated voice recognition. And we all know that such version might sell well, but the voice recognition will not work really well until the next version, or until two or three versions later.
The creators of RedHat created the RedHat Package Management System (RPM) and on that idea they based their distribution. They did a good job. Everyone who has needed to update slackware or another version or even Windows, knows that the best method is to erase everything and reinstall from nothing. And this is now a problem with Linux, thanks to the folks at RedHat.
Maybe the answer is not the one application. Maybe it is many applications. These are known as games. The first effort to make Windows an acceptable platform for games was called WinG. It worked on top of Windows 3.1 with extensions in 32 bits called « Win32s ». It was terribly bad. The only game that I remember that used Win32s was something like Wolfenstein. And it was also quite bad. There was no comparison between the game for DOS, like DooM, Descent, or Warcraft and the simple Windows games. Even with Windows 95, the support for games was terrible. It was not until 1996 that the DirectX libraries appeared. The first respectable game that worked well on Windows that I could see was DooM II. Then there was MS Fury. And then the industry slowly changed. The rest is history. It can be seen that it was never an easy trip for Microsoft, most of all for their model for writing drivers.
The advantage for the companies that made games for DOS, was the total control that they had over the hardware. The advantage that they have now to make games for Windows9x is that they do not have to worry about compatability with an innumerable amount of hardware that is out there on the market, because the DirectX libraries allow them to use a series of standard routines to control the hardware that the systems has. Linux does not allow the total control of the hardware, and for now it does not have a series of standard libraries either that allow interaction with the hardware in an efficient way. Although there are some video libraries, they still lack sound and control mechanisms and more.
It is thanks to games that I still keep a working copy of Windows 95 on my computer. Linux, like everything else has evolved faster than Windows and now supports graphics acceleration with OpenGL on some cards and Xfree 4.0 promises much more of this type of thing. Many server of Quake III Arena run Linux. But the competition will not stop. We need more and better ideas. Especially now that Win2000 has copied everything that it can from Linux systems. And the next version will also copy everything that it can.
We need ideas that change the future of technology and benefit everyone; Ideas like those of Bill Gates and Richard Stallman. And we need leader like Linus Torvalds that can coordinate the efforts of people around the globe to make those ideas reality. I hope that those potential visionaries and leaders are reading this article and they will be moved to risk all of their future for those ideas. Surely then, both the innovators as well as the rest of us, will have a better future.