Since beginning to use Linux I’ve learned to tolerate a lot in the name of free software. Unpolished programs, non-working features, ugly user interfaces – these are the price to pay for freedom from proprietary operating systems designed by corporations.
Bit by bit though, I lost patience with Linux. It became obvious that a lot of these shortcomings and lack of polish weren’t a result of software application development being overwhelmingly complex. The open source model is supposed to tackle this very issue by exposing many people’s talents to a single task.
Most of the shortcomings that prevent Linux from reaching critical mass right now are easily solved, but go unsolved due to differences of opinion and other forms of disunity.
To succeed, Linux needs to be a platform, not just a kernel or an operating system.
Linux is famous for having countless distributions surrounding it, each with their own maintainers, specific feature-sets and unique traits. While many open-source hard-liners view this as a terrific thing, it’s not. It harms the appeal of free software because there’s no single product to support. A platform is more than a collection of programs and a kernel – it’s a standard set of parts for users and developers alike. Everyone using every computer running Linux should be able to expect the same parts, the same user interface, the same everything.
Red Hat accomplishes this.
But how can we say it accomplishes this when it’s one distribution among many? Simple. Fedora and Red Hat are backed by a company which develops Linux for commercial use. Many Red Hat innovations have become de-facto standards. Everyone knows what an RPM is. Everyone knows GNOME is their desktop of choice. Most importantly, Linux application developers almost always have their programs shipping for Red Hat. Most commercial applications designed for Linux are built using GTK+, the graphical foundation of the GNOME desktop backed by Red Hat.
Red Hat has achieved this by realizing early on that while open-source ideals are compelling, more than ideology is required to thrive in the capitalist societies which comprise much of the world today. They set out to market Linux as a solution that was useful to businesses, and to build a business around Linux itself. It is this business and its promise of both ongoing support and consistent design which creates a platform.
Unfortunately, Red Hat is loathed by many for this. They’re viewed by many Linux devotees as sell-outs, attempting to turn Linux into a closed proprietary system. This is quite an unrealistic point of view. In reality, Red Hat walks the line between the corporate world and the open source world, to the benefit of everyone.
For Linux to succeed, its developers can’t be afraid to make decisions not everyone agrees with.
Design by committee is impossible. Individual preferences are too varied, and you can’t make everyone happy. Unfortunately, many parts of the open source community attempt to do just this, which leads to many projects popping up, each with the same goals but a slightly different vision of how to achieve them.
As a result, there are many desktop environments including KDE, GNOME, XFCE and GNUstep, each of which aim to create a complete, polished and easy to use environment for end-users. Each of these environments have unique strengths the others lack, and some are closer than others to their goal. SUSE, Slackware, Gentoo, Ubuntu and Mandrake are five examples of the myriad distinct Linux distributions available to the often befuddled first-timer. In the end for each example, the reality is that the creativity and development manpower is split 5 ways because none of them want to give up their own preferred methods and get to the unglamorous task of working toward a common goal.
Red Hat gets this done.
Very early on, Red Hat began to make decisions as an organization about which open source projects it was going to focus on. GNOME became the default desktop, marginalizing KDE and the others.
Red Hat also made choices about which applications it was going to ship and support as “flagship products”, while marginalizing all the other options to an unsupported “extras” category with no guarantee of functionality.
The design choices Red Hat makes regarding the base system are also unique in the open source world. Areas including the installation program, the package system and many aspects of the filesystem layout (the locations in which system files are placed on the hard drive) are implemented in Red Hat and Fedora with efficiency and integration in mind.
And with a minimum of the typical open-source peer review.
This simple omission is reason enough for many members of the open source community to vilify Red Hat, and to claim that they’re eroding open source ideals for the purpose of making money.
This is patently silly, and the reasons for not consulting a community full of discordant and disagreeable people are simple.
The open source community is unable to efficiently make sweeping design decisions.
The open source community is unable to set ego aside and work toward a common goal.
The open source community is not able to identify the needs of its target audience.
Red Hat and its user-base are separated from the open source community at large by the gift of practical thinking, which brings us to our final point.
For Linux to succeed, its developers must understand the limitations of the open source model.
Red Hat Linux and Fedora Core are designed from the point of view that open source and free software are righteous ideologies that free computing from arbitrary locks and keys and open up opportunities for learning and productivity to people who would otherwise never have them.
They’re also designed with the understanding that simply being open source doesn’t make software excellent. Leadership, organization and common goals are required.
Consistent design and attention to detail are apparent when using Fedora Core, from its stable development platform to its administrative tools, it’s clear that a great deal of effort was spent polishing the rough edges of free software to create an operating system that’s not only functional, but enjoyable to use.
Red Hat’s corporate support and consistent design make it a favorite for commercial application vendors, who often support their software on Red Hat’s operating systems.
While many Linux users view the use of proprietary operating systems designed by corporations with disdain, they should warm up to the fact that sometimes a corporate atmosphere can be of great benefit to the development of free software. Red Hat is at the cutting edge of mainstream adoption of free software.
For Linux to succeed, its adherents need to take Red Hat’s example.