CentOS GNU/Linux and the enterprise difference

Free Enterprise


The stability and longevity of an enterprise Linux distribution costs big money - or does it?

By Johnny Hughes

The Community ENTerprise Operating System, also known as CentOS [1], is a free alternative to the high cost enterprise systems provided by companies like Red Hat, Suse, and Mandriva. We asked a CentOS lead developer to tell us what makes CentOS different.

What is an Enterprise Operating System?

An enterprise operating system is not designed for people looking for the "latest and greatest" software with bleeding edge graphics, the newest kernels, lots of games, and other new bells and whistles. Plenty of GNU/Linux distributions fit the bill of "latest and greatest." These distributions are released about every 6 months and normally require a constant state of upgrade because support gradually disappears when a new version is released. These "latest and greatest" distributions generally have a release cycle of 6 months and a support-cycle of 12-18 months.

An enterprise distribution, on the other hand, has much longer release cycles and support cycles. Enterprise OSes are designed for longevity and stability. Most of these enterprise systems have release cycles of between 12-18 months and support cycles that range between 5-7 years.

Before enterprise OSes, users of GNU/Linux systems had to upgrade their machines about every year or risk losing their ability to incorporate security updates. Custom scripts and programs would often fail to run or compile upon upgrade as newer versions of Bash, GCC, and python were released.

Several GNU/Linux providers came up with the enterprise OS as a response to this dilemma. An enterprise OS system does not change the versions of the major software components during its lifetime, thereby creating a longterm stable product for users who want to build their business processes and keep them stable for several years.

Enterprise OSes still need security updates when problems are found, but they do not break things like Apache module APIs or switch C compilers. This longevity and stability allows users to invest in custom software and develop business practices without having to worry about those items becoming obsolete.

Enterprise OSes normally come at a price, and the monetary cost can be quite significant. Most of these enterprise OSes, with a year of updates and phone support, cost between US$ 300 and US$ 2,500 per year and server. The higher cost plans offer advantages such as shorter response times and more hours of phone support.

The appearance of the enterprise OS gave customers another option. Users could settle for either:

  1. A free (or low cost) conventional GNU/Linux distribution, with a short release cycle and short support cycle.
  1. A higher priced enterprise OS with a long release cycle and long support cycle.
CentOS Derivatives

Many projects are now based on the CentOS project, including:

Rebuild Projects

Many in the GNU/Linux community started wondering if it would be possible to have the best of both worlds: a stable system with a long support cycle at no cost. Amazingly enough, GNU/Linux does provide this option. Most of the GNU/Linux distributions are licensed under the GPLv2 [2], which states that source code must be given to people who ask for it. Nowhere does it say that the compiled software, must be given away for free, but the availability of the source code is a fundemental principal of the GPL. It is therefore possible to take the source code provided by the enterprise OS and turn it into a fully functioning operating system. This insight gave rise to a new form of GNU/Linux distribution: the rebuild project.

A rebuild project is a distro that rebuilds the source code provided by an enterprise OS and distributes it for free. CentOS is a rebuild project based on a prominent North American Linux distribution. Some other famous rebuild projects are Scientific Linux [3], Tao Linux [4], and White Box Enterprise Linux [5].

Enterprise Ambitions

CentOS is a larger and more elaborate operation than many of the other rebuild projects. The CentOS team has ll developers and their work is available from more than 70 mirror sites around the world [6].

CentOS comes in three major distributions: CentOS-2, CentOS-3, and CentOS-4. CentOS has support for the x86, x86_64, S390, S390x, IA64, sparc, ppc, ppc64, and alpha architectures. (Most of the other rebuilds have only x86 and x86_64 versions.)

This extensive investment from developers around the world means that CentOS is a real working operating system with a significant place in the Linux landscape. The latest survey by netcraft.com estimates that CentOS is running on close to 100,000 web servers. This puts CentOS in the top 8 GNU/Linux distributions with deployed web servers [7]. CentOS is the only free enterprise OS in the survey.

CentOS is rated in the top 20 GNU/Linux and BSD distributions at DistroWatch.com - the highest rank for an enterprise rebuild project.

What to do with CentOS?

You can use CentOS for any of the tasks you would otherwise asign to a vendor-based enterprise system. CentOS can be a replacement for Server Message Block (SMB) domains using Samba (samba-3.0.10-1.4E.2). With support for Microsoft Windows NT no longer available [8], CentOS and Samba can be used as a secure Primary or Secondary SMB Domain Controller, SMB File Server, or SMB Print Server. This solution is especially promising as an SMB replacement while using the included OpenLDAP (openldap-2.2.13-4) and the smbldap-tools from IDEALX S.A.S [9].

Users also put CentOS to work as an enterprise-ready mail server, name server, web server, file server, and database system, as well as a desktop client system. CentOS is also often employed as an ISP server using 3rd party ISP software like cPanel, Ensim, Plesk and Virtuozzo.

CentOS Updates

Users can obtain updates from the CentOS Network with either Up2date (Figure 1) or Yum. For more details, see the document called "Managing Software with Yum" [10]. See the box titled "Support Lifetimes" for more on the schedule for CentOS support.

Figure 1: Manage CentOS updates with up2date.

CentOS updates can occur in either of two ways. The simplest method is with a new version of a package as released by the package maintainer. A second form of update occurs through a concept called backporting. Backporting [13] is a process where a security update is applied to an existing package instead of moving to a new package. Backporting can be used to correct a security problem where the new package could break existing content.

Support Lifetimes

CentOS provides the following support lifetime schedule:

  • Centos-2: Full Updates (including hardware updates): This period ended on May 31, 2005. Maintenance Updates: June 1, 2005 to May 31, 2009.
  • CentOS-3: Full Updates (including hardware updates): Currently to Oct 31, 2006. Maintenance Updates: Nov 1, 2006 to Oct 31, 2010.
  • CentOS-4: Full Updates (including hardware updates): Currently to Feb 29, 2008. Maintenance Updates: Mar 1, 2008 to Feb 29, 2012.
INFO
[1] CentOS.org: http://www.centos.org/
[2] GPLv2: http://www.gnu.org/copyleft/gpl.html
[3] Scientific Linux: https://www.scientificlinux.org
[4] Tao Linux: http://www.taolinux.org
[5] White Box Linux: http://www.whiteboxlinux.org/
[6] CentOS mirrors: http://www.centos.org/mirrors/
[7] Distribution rankings: http://news.netcraft.com/archives/2005/12/05/strong_growth_for_debian.html
[8] Retiring NT: http://www.microsoft.com/ntserver/productinfo/availability/retiring.asp
[9] IDEALX: http://www.idealx.org/prj/index.en.html
[10] Managing Software with Yum: http://mirror.centos.org/centos/4/docs/html/yum/
[11] CentOS Documentation: http://mirror.centos.org/centos/4/docs/
[12] CentOS Repositories: http://mirror.centos.org/centos/4/Readme.txt
[13] Backporting: http://www.redhat.com/advice/speaks_backport.html