The answer is because Red Hat is also giving away Red Hat code for free.
If that is too Zen-like for you, I'll be more specific: It is this counterintuitive business model that got Red Hat going in the first place. Red Hat takes open source seriously and makes it easy for users to download the source code from its site.
Ten years ago, Linux users could not easily download distros (before live disks). Red Hat was careful to send a copy of each new release to CheapBytes and other distributors who sold the various Linux distros for a dollar or two apiece. Red Hat saw this as free publicity, better yet, as demo disks (a one- or two-CD distribution) that cost Red Hat nothing to make. This was at a time when Red Hat was selling in stores for about $30.
Compare that with what SUSE and Caldera were doing at the time. Each had a proprietary installation tool that was licensed per machine (in those days installs were machine-by-machine.) The objective was to make sure that for every SUSE or Caldera machine sold, a copy of their Linux distro would be also be purchased. Caldera, an American company, was freer with demo disks than was SUSE, who reluctantly came up with some demo disks for US shows. SUSE eventually loosened up its installation tool and survives as a part of Novell, Caldera collapsed into the black hole that SCO became, and Red Hat went public.
In accordance with the general public license, Red Hat gives away its source code and lets you install the binaries on as many machines as you please. But if you want support, you must have a support agreement covering each supported machine, and if you want the (reproducible) compiled-and-certified binary version, you must buy a support plan. A number of application vendors require the user to run their products on supported Red Hat Enterprise Linux (RHEL) in order to qualify for application support.
This plan works out very well in Red Hat's target market, the enterprise. Business customers have the money for support agreements which not only give aid and updates, but demonstrate that IT management is treating its resources responsibly and not flying by the seat of its pants. If you think this is a crazy waste of money, you are not thinking like an enterprise.
After years of trying to sell to the individual consumer market and being unable to raise the sort of money that would build a serious service company, Red Hat followed the money to the enterprise market. But they did not abandon the little people. Instead, they found their way into a distributed and open source brand-extension plan. The other two brands, Fedora and CentOS, are not Red Hat owned. Red Hat does have full-time developers contributing to the Fedora code pool, and draws from it for its own RHEL. And CentOS takes the RHEL code and strips out proprietary material and trademarks and then compiles it into RHEL look-alikes.
CentOS takes these free products into two different markets. One market is the smaller firms who cannot afford RHEL support agreements. These companies either buy cheaper CentOS support plans from third parties, or do-it-themselves. The other market is RHEL customers. Yes, those guys.
A RHEL customer does not need to buy additional expensive RHEL support plans in order to run the equivalent of RHEL on non-critical servers. If the software is mission critical, then the application vendor very likely requires a support RHEL underneath it. The RHEL customer also sees CentOS as an inexpensive way to bring up, configure and test new servers before moving them over to RHEL.
All of these tactics serve a single strategy: keeping users in the Red Hat family. Just as General Motors owned all the brands it developed to supply "a car for every purse," Red Hat, although it doesn't own the brands, has nice relationships with them and the users who send in bug fixes. It is in everyone's interest to have the corrections and improvements take place as far upstream as possible so those downstream don't have to maintain them.
So why doesn't Red Hat offer a low-priced version for the low end of the market? Brand identity. Red Hat already "has" separate brands at the low end of the market; it doesn't need to put its Red Hat brand down there. The lower end of the market is not organized commercially, so why should Red Hat invite commercialism and commercial competition? It would just have to spend marketing dollars fighting for a low-dollar market. It is much better to offer its customers a little relief from the high price of RHEL and to offer Red Hat functionality to those who might grow into becoming RHEL customers.
CentOS stands a good chance of putting downward pressure on the price of RHEL, but only as one part of the commodification of operating systems and other software. Hardware has already been through this phase, and as the process works its way through the software stack, it will be helped by the growing trend to virtualization.
You have to admit that the whole thing looks strange. Red Hat freely received a wad of code from the Internet and built a business of it – and freely gives away its source code in return. How has Red Hat managed to be so successful doing this? I don't know. I don't have an explanation or a rationalization for Red Hat's open source success. But then, open source is a radical idea itself. I think you either get open source or you don't.
This was first published in November 2007