Issue #19 May 2006

Fedora and Red Hat Enterprise Linux
Part 1 of 4: Primary objectives


-->

Developers, partners, and users frequently ask how they can get features and fixes into Fedora™, into Red Hat® Enterprise Linux®, or both. The approach we recommend varies based on the feature, timeframe, and other considerations.

A better understanding of the differences and connections between Red Hat Enterprise Linux and Fedora can only help this process. Over the next four months, we'll be exposing the basics of the Fedora and Red Hat Enterprise Linux story, with the following chapters:

Part 1: Primary objectives
The first step in understanding the differences is to recognize that while they share many goals, Red Hat Enterprise Linux and the Fedora Project also have a number of different objectives, as well as different audiences. There is no one-size-fits-all distribution. We focus on combining forces where we can and optimize accordingly when priorities differ.

Part 2: Participant profiles
Each distribution is tailored to meet the needs of specific types of developers, testers, and end users. This section describes the attributes of the producers and consumers on both sides of the equation.

Part 3: Fedora methodology
Armed with an understanding of the goals and a profile of the participants, this section details the collaborative process used to produce the Fedora Core distribution.

Part 4: Red Hat Enterprise Linux methodology
The final article describes the methods used to develop Red Hat Enterprise Linux.

Definitions

The following terms are critical to this conversation:

Red Hat Enterprise Linux
Red Hat Enterprise Linux is Red Hat's enterprise-level, commercially-supported operating system (OS) distribution.
Fedora
The Fedora Project is a Red Hat-sponsored open source development community. Fedora doesn't refer to specific software, but rather to an umbrella organization fostering community development through accompanying communications and hosting infrastructure. There are various projects within the Fedora Project, including:
Fedora Core
Fedora Core is a community-developed Linux distribution--a collection of software packages aggregated into an installable CD/DVD image.
Fedora Extras
Fedora Extras is a community-developed collection of additional software packages that can be added on top of Fedora Core.
There are a range of other Fedora projects, such as internationalization, documentation, testing, infrastructure, Directory services, and a cluster file system (GFS).

Primary objectives

Both are full Linux distributions consisting of 1,000+ packages that include applications, libraries, kernel, documentation, and source code. They also include installer media like CD, DVD, or network installable images. Each distribution is made up of literally hundreds of components.

Both can electronically deliver the initial release version (referred to as "General Availability (GA)" by Red Hat Enterprise Linux, and "Final" by Fedora). Both also have infrastructure that can deliver newer versions over time, or distribute bug fixes and feature enhancements to registered networks or servers. The primary Red Hat Enterprise Linux electronic delivery mechanism is Red Hat Network (RHN). The primary Fedora mechanism is Yum.

Both heavily leverage and contribute back to open source community development.

Both are primarily driven by Red Hat, with substantial participation from open source developers and beta testers, customers, and business partners.

While Red Hat Enterprise Linux and Fedora have much in common, there are also differences, many related to primary objectives or target audience.

Primary goals of Fedora

Fedora is a Linux and open source community integration/aggregation effort. The whole is greater than the sum of the parts, so to speak. While Fedora draws from hundreds of distinct open source projects, the largest number of people are involved with the integrated work--the whole distribution. Few users take the a la carte approach. When aggregating packages to form the distribution, there is screening review to weed out impractical or broken packages and features.

Fedora fosters rapid open source development and innovation, marked by 6 month release cycles. Fedora provides an integration hub and software delivery mechanism, a feedback cycle of review, and allows testing and contribution by others. Adding new packages yields new users, so as the number of applications grows, so does the user community.

Fedora fosters communication among developers and testers. There are many mailing lists and Internet Relay Chat (irc)channels used by the Fedora community. This open and inclusive environment facilitates rapid testing and gets new technology in the hands of interested users very quickly.

The most active mailing lists are fedora-devel-list and fedora-extras-list. The most active IRC channels include #fedora and #fedora-devel on irc.freenode.net.

Note that Fedora's goals do not include formal support services, nor certification of hardware or software.

Fedora's target audience includes developers, testers, writers and early adopters.

Primary goals of Red Hat Enterprise Linux

Red Hat Enterprise Linux is stable. It is an enterprise-caliber platform for business workloads.

Red Hat Enterprise Linux is supported. It is simple to receive support assistance, fixes, and minor feature enhancements. Help can be provided by a solution like Red Hat Network or via a more traditional support relationship (phone or web support, technical account manager, or other on-site expert).

Red Hat Enterprise Linux is compatible. All changes to Red Hat Enterprise Linux are carefully screened to ensure that updated packages do not break applications.

Red Hat Enterprise Linux certifies hardware and software. In cooperation with IHVs and ISVs, Red Hat identifies applications and technologies that perform optimally with Red Hat Enterprise Linux. The goal: to form a complete solution stack for the enterprise.

Red Hat Enterprise Linux's target audience is business customers.

How do they compare?

Armed with a high-level understanding of the different objectives and users of Red Hat Enterprise Linux and Fedora, we are now prepared to discuss some of the implications.

Rapid innovation vs. stability. Fedora is fast moving. It is for people who always want the latest and greatest. The Fedora stream is more revolutionary: Old versions of packages may be quickly cast aside for new ones. Fedora is highly receptive to experimentation.

Red Hat Enterprise Linux takes a more conservative approach. Updates tend to be discrete fixes to customer problems. All changes in Red Hat Enterprise Linux have to be weighed against the possibility of introducing regressions for existing customers. From a new feature perspective, Red Hat Enterprise Linux tends to be more evolutionary than revolutionary.

Community integration and rapid innovation vs, compatibility. Because Fedora's main objective is to get new technology into the hands of interested users, compatibility is at times a secondary consideration. Fedora applications are more likely to require recompilation and sometimes source code adaptation to keep up with changing interfaces.

We go to great lengths to preserve compatibility in Red Hat Enterprise Linux updates. At times, this can lead to difficult decisions--preserving compatibility can preclude the incorporation of desirable new features.

Communication vs support. The mechanisms for interaction and involvement in Fedora are very informal. There are some mailing lists where you may get responses, particularly if the topic is of common interest to others. Testing, providing feedback, and contributing source code, packages, and enhancements are all opportunities for direct, person to person involvement in Fedora.

No login required. Want to see your comments in print? Send a letter to the editor.

Interaction with Red Hat on Red Hat Enterprise Linux is a much more formal and structured process. Interactions are generally through support escalations or other customer and business relationships. As such, the development model for Red Hat Enterprise Linux is more indirect. Red Hat Enterprise Linux interaction is typically a business to business interaction.

Now that you are aware of the terminology and primary objectives of both Fedora and Red Hat Enterprise Linux, you are well prepared for the upcoming articles in the series. In the next issue of Red Hat Magazine, we will delve into who the participants are in each distribution. You will see how these participants shape and produce each of the distributions.