Nobody needs proof that Linux hasbecome a serious server platform. The Linux/Apache/send-mail combination was popularized years ago as a great serving platform. Everywhere I turn I am seeing the same sentiment: "Linux has finally made it!"
Nobody needs proof that Linux hasbecome a serious server platform. The Linux/Apache/send-mail combination was popularized years ago as a great serving platform. Everywhere I turn I am seeing the same sentiment: “Linux has finally made it!”
Considering the success of Linux companies in the stock market, one is easily led to agree with this statement, but there is reason to wonder about what’s next. One of two things will now happen: Either Linux will successfully compete or it will be trampled.
Development work on the kernel, server programs, and embedded devices is important for Linux’s continued success, but the most crucial piece of the puzzle is only beginning to take form: consumer applications. The desktop is the road to success for Linux, and as such needs to be addressed with ambition and focus.
Why the Desktop?
Servers exist because of desktop computers. Consider the Web, which is one of today’s killer applications. The Web exists for the desktop users and caters largely to the dominant userbase of that community. Microsoft leads with approximately 90 percent of the market share of the desktops. The Mac has around 6 percent, leaving 4 percent for the other operating systems — mostly Linux.
When Web developers are creating add-ons for their Web sites (called plug-ins), they will design them to reach the majority of users. We cannot blame developers for making a business decision to target Windows as their development platform.
Before we can achieve desktop dominance, we need to make Linux the operating system that users are expecting. The distribution vendors need to start carefully inspecting the offerings from our competitors and formulate strategies on how to compete.
The Linux community easily outpaces Microsoft at the things it does poorly, but we also need to address each and every area in which Microsoft excels. There are two, in particular, where Microsoft is outpacing Linux: developer and user relations.
Catering to Developers
Microsoft, which often ends up competing with its own Windows developers, should be at a disadvantage here, but they’re not. Microsoft has componentized its desktop so that developers can create entire applications with almost no effort. This encourages the thousands of developers out there to continue developing for Microsoft because their applications can be developed more quickly, and it results in much higher-quality applications than if they had not used those components. Microsoft has blurred the lines between its software and the software that can be developed by third-party developers. Furthermore, there is only a single windowing environment, a single toolkit to write to, a single API, amazing developer tools, and decent compatibility between the different versions of Windows. What does the Linux community have to compete against this?
* Multiple, nonstandard, and fractured component architectures.
* Multiple, nonstandard, and fractured windowing environments.
* Multiple, nonstandard, and fractured toolkits.
* Multiple, nonstandard, and fractured Linux distributions.
Here is the bitter truth: A company is deciding where it is going to spend its development resources for the software that its developers are writing. If it chooses Microsoft, it has to get the perks and benefits listed above. If it chooses Linux, it has to worry about compatibility problems across distributions, compatibility problems with integrating into users’ desktops, and with what toolkit to use. There will be no component repositories for these developers to get additional code to assist them in writing their applications. There is nothing to even touch what they would have in the way of Integrated Development Environments (IDEs).
Give the People What They Want
Microsoft’s original mission statement was “A computer on every desktop.” It realized this goal by developing an understanding of the needs of its users and providing the tools those users needed.
This means giving users a consistent look and feel throughout the entire desktop, as well as actively developing those applications that are needed for end users who have little experience with computers.
Microsoft ensured from the beginning that there would be hardware drivers developed for its platform, and it provided a solid mechanism for users to incorporate those drivers into their systems with easy and friendly wizards — there are no kernel recompiles for Windows users.
Here’s what we need to do:
1. Get the users. We need to focus more on making Linux easy to use after it has been installed. Distribution vendors need to make sure that what the end user sees is stable and reliable. The system should perform exactly as the user would expect it to. We need to create an easy vehicle through which hardware vendors can release drivers to the Linux userbase.
2. Developer mindshare. Linux has already attracted all the developers from other Unix systems, but how many Windows developers do you know who have switched their programming interests to Linux? The reason that the number is low is that Microsoft is a genius at catering to the developer community. Where do we even begin?
As I brace myself for the outcry of the millennium, I put forth the following suggestions:
* Support the efforts of the Linux Standards Base (LSB). This group is working to develop standards that, if followed by the Linux distributions, will result in binary compatibility across all flavors of Linux.
* All Linux distributions should standardize on only one windowing environment, and Linux developers need to decide (quickly) on a single environment that will be developed.
* The resulting windowing environment should be based on a single toolkit, and all other toolkits should be abolished from the standard Linux distribution package.
The Linux community is constantly bragging about how many development resources we are able to garner, but we then turn around and fracture those resources into hundreds of competing projects. Instead of all of us competing against a common enemy, we are battling against one another for dominance in various areas.
The KDE people have a beautiful, stable, solid, and intuitive interface, and they are deeply loyal to the Troll Tech-controlled Qt toolkit. GTK is foreign to them, and they will be hard-pressed to move over to GNOME.
The GNOME people are nowhere near KDE in terms of beauty, stability, and intuitiveness, yet they are based on the free (GPLed) GTK toolkit.
We can’t go on with these competing desktop platforms. Who drops their project to join the other? That’s a decision that should be made between the principals of the two projects, but it should definitely happen, and should happen soon (like, yesterday).
3. Create “killer applications.” These are the applications that are used by the majority of end users in their day-to-day tasks. This list is currently comprised of the Web browsers, communication clients, and office applications. People won’t use Linux exclusively until these things are taken care of. We’re already seeing great work being accomplished in this area, but we’re not even approaching being able to compete with Microsoft.
Let’s all get together and see about a front end to the Web (i.e., a browser). Let’s make sure that it is componentized with the same component architecture that is used system-wide, and let’s make it easily extensible so that developers can easily customize and add to the browser with little additional energy. Is Mozilla the answer? I’m not sure, but it looks like it is a good start toward realizing our goals.
Let’s offer up some praise to the good people at Loki Entertainment, who took the gamble to base their entire business on bringing excellent video games to the Linux desktop. We need much more of exactly these kinds of people.
For once, why don’t we actually create something that has never been done before, rather than playing catch-up to applications that have already been created? The rules are different today from what they were yesterday, and we need to rise to the occasion if we are going to realize our ultimate goal — world domination, fast.
Dave Whitinger, a co-founder of Linux Today, is currently manager of the Linsight.com community portal. He can be reached at firstname.lastname@example.org.