In early 2004, members of the Red Hat Network received some not unexpected news from Red Hat. The company would cease offering support for its namesake distribution, Red Hat Linux: no security updates, no bug fixes, no enhancements. The distribution that some people thought of as the very soul of “Linux” had reached EOL: end of life. “How could Red Hat do such a thing?” wrote Sean Michael Kerner, a senior editor for InternetNews.
“Long-time users like me were calling it total madness and surely a recipe for disaster,” Kerner wrote. Many Red Hat Linux users protested the move by migrating to SUSE Linux, Mandrake (now Mandriva) and Debian. But the Fedora Project persisted, turning five last September, with version 10 due by the end of the year. “History has proven me wrong,” Kerner wrote. Fedora has not only become a success, but early proof that a community-corporate partnership can bring good things to open source development, serving both individual users and enterprises, alike.
Another long-time community member who watched the Fedora Project mature is Paul Frields, who became Fedora’s project leader in February 2008. “The early history of Fedora was indeed problematic ― it wasn’t a product that took off,” he recalls. “Part of the problem may have been the user interface: people expected more. Or it might have been because the exact same product could be downloaded and used for free. The meager installation support that came with the boxed product wasn’t enough to turn people’s heads. So by splitting that model into two sides, Red Hat made one of the best decisions that any open source company has ever made. It’s a model that a number of other companies have tried to emulate: provide a robust, well supported, long-life cycle product for enterprises, at a reasonable cost for the immense flexibility and power you get. And on the other side, have a community based project in which a lot of development can be done at a rapid pace ― in order to seed interest in the larger community.”
Of course, this being open source, not everyone is satisfied. With Red Hat profits up, some in the community would like to see the company provide support not for its enterprise product, but for Fedora, tooAfter all, Novell sells a supported version of openSUSE 11 and Sun offers support for OpenSolaris 2008.
Frields heard about the Fedora Project a few months after it was announced. At the time he was doing forensic work and teaching classes for a government agency. “I had developed protocols for using Linux in our lab and felt that the products I used, including Red Hat, had given me some opportunities in my field. With the community opening up, I felt it was a chance to give something back.” He did just that, becoming a writer and editor on the DocsProject, and a founding member of the Fedora Project Board, which he now chairs. “If it's in Fedora,” Frields writes on his Fedora Project page, “ultimately I'm accountable for it.” He spoke to me by phone from his home in Fredericksburg, Virginia, just after the release of the Fedora 10 beta.
- How did Fedora 10 come together and what was its overall goal?
- Our overall goal is to advance free and open source software. So we were looking at what “upstream” provides that is new and innovative, that extends the usability or functionality of Linux as a whole. In some cases, we were looking for improvements for features we debuted in Fedora 9, some of which, in all honesty, are not fully done. But the idea in open source is not that you wait for things to be perfect before you release them, but leverage community eyeballs to make features better. “Release early; release often” is the maxim. Our goal is to make Fedora a place where great ideas can get a foothold.
- A good example of this is PulseAudio, which represents a powerful idea for distributing how the sound works in Linux. It allows you to decouple the storage location of your sound from the “sinks” where that sound is directed. Not everything in PulseAudio was fully fleshed out when we introduced it: it worked, but it wasn’t feature complete. But releasing it in version 9 did allow us to get the feature in front of a lot people ― with the code contributions and bug reports that follow. If you only release things that are polished and perfect, you’re missing out on the full strength of the open source development model.
- Was PackageKit another example of that? It came out in version 9 but some bloggers thought it was missing some functionality.
- Absolutely. The great idea behind PackageKit is distribution-independent dependence solving and desktop integration: in order to install package A, I also need to install B and C. And if you remove B, it also removes A, which relies on B. At a lower level are the package management libraries that define how all of this stuff is coded into the packages. There are a few different types of these dependency resolutions throughout Linux. One of them is the pairing we use in Fedora, the RPM libraries and the Yum resolver, whereas for Debian, you’ve got .deb packages and the Apt resolution system. But whichever system the user is on, the goal is to provide a familiar set of tools that hides the intricacies of software installation and removal.
- When we introduced PackageKit in Fedora 9, we knew it wasn’t feature complete and that there were some rough edges. But during the release cycle, we’ve hammered out a lot of those problems. For me, PackageKit works great ― it does what you’d expect it to do. The dialogues have changed a little bit as the features have matured, and there will be a much more mature version in Fedora 10.
- PackageKit has some advantages that may not be apparent to the average desktop user. For example, it integrates with a lot of other desktop technologies, such as the D-Bus messaging bus. In the future, you’ll be able to do more. Imagine you have downloaded a document for which you have no supporting application on your system. When you open the document, PackageKit will be capable of going out to your distribution’s repository, requesting the appropriate package, and installing it automatically. We’ll be able to do that not just for documents, but things like extra drivers, codecs, fonts, special viewers and more. This function really highlights the benefits of the open source platform: you couldn’t do this on a proprietary operating system at no cost.
- RPM is also getting an upgrade on Fedora 10.
- It’s the first major upgrade to the RPM library in a number of years. Red Hat is deeply involved, as are other developers, including Novell and Open SUSE. We all rely on it, so we are all trying to do a good job collaborating with the upstream development effort.
- Fedora talks a lot about supporting the “upstream” development.
- As a matter of policy, Red Hat believes in upstream communities ― not pushing them, but having people involved who are themselves good engineers. They can help by providing coding time and getting involved in the decision making processes. But this cross-fertilization works both ways because the communities themselves become a source of engineering skills from which to draw employees, when time, money and circumstance allow. PackageKit is a good example. The idea of package management was first proposed by Richard Hughes in 2007. People at Red Hat looking at the project not only admired the code, but Richard, himself, including his ability to build a community and secure interest from a number of distributions. So Red Hat hired him.
- What about PolicyKit?
- PolicyKit is really interesting. We debuted on Fedora 9, so here again with the main release, you’ll see more progress. PolicyKit is a way for administrators to declare access rules for deployment and give authorization to certain users. It also allows the single-user laptop to be easier to manage, allowing you to install software by providing the root password the first time, then use that to trigger an authorization change ― so that in the future, you are allowed, by policy, to install other packages. At the same time, PolicyKit makes it possible for non-privileged users to never be prompted for that authorization. The administrator can simply disallow it.
- So what else is playing a “starring role” on Fedora 10?
- Another interesting technology is extended virtualization support ― the ability to partition hardware into several virtual systems. There are several technologies to do this, and KVM, or Kernel-based Virtual Machine, is probably getting the most attention. As the name implies, with KVM, virtualization is built into the Linux kernel, itself. Every Linux kernel out there already has the ability to provide virtualization. With Fedora 10, we have enhanced some of the management tools, including the ability to manage from one location any number of virtual machines on a network. That was possible before, but the tools have progressed much further. We’ve been working on making the management easier, and on managing storage facilities beyond the usual internal hard drive, including storage area networks, network attached storage, and storage accessed through the cloud.
- You talk about Red Hat developers creating some of these technologies. Where does Red Hat begin and Fedora end?
- "The difference is more a matter of support than technology. Fedora really is a desktop for anybody who doesn't need the support services you get from an enterprise product such as Red Hat Enterprise Linux Desktop. But we view Fedora as the perfect place to keep investing in desktop technologies. Red Hat has a team of about 25 desktop developers, who are always working on usability enhancements, which they do collaboratively with upstream. This relationship is pretty unique in the industry, allowing us to develop many of the latest features on Linux and debut them before anyone else ― because we have technologists who are embedded in those communities. That often leads to our hiring those people. It's a great symbiosis."
- How does technology flow from Fedora to Red Hat?
- Red Hat invests significant resources in Fedora and then, every two years or so they look at where the code base is in Fedora. At some point, they decide on a “snapshot point” for the code, grab it, and then start building in additional value for their enterprise customers ― things that, say, the New York Stock Exchange might want to see in the next version. The beauty of this approach is that it allows Fedora to remain completely free and open for everyone to use, modify and redistribute.
- The Linux desktop seems to coming into its own ― propelled by Fedora, Ubuntu and a few other distributions. Where is it headed?
- You can look at other places we’ve been involved in recently, like One Laptop per Child project, a great symbiotic relationship between an education project for children in developing nations and the low cost nature of free and open source software.
- For adults, the Linux desktop pretty much sells itself. I just had a Software Freedom Day event here in Fredericksburg, Virginia, with many people looking for ways to replace Windows on their laptops. For them, open source software is a way of extending the life of the hardware they’ve bought. On the other hand, Linux is also a very competitive platform for new hardware. My sexy new Dell XPS laptop runs Linux like a champ. Everything works out of the box ― the sound, the graphics, 3D effects, the webcam works, the external monitor works. I don’t even think about it ― I didn’t have to wrestle with it at all. That compares with how I remember Linux 10 years ago, where even basic things, like getting your modem to work, became an adventure in hardware configuration.
- Did you have to pay the “Microsoft tax,” a Windows license, when you bought the laptop?
- That’s still a problem. There is a lot of hardware out there where the customer never sees the fee, because it is hidden by the manufacturer. It’s annoying. When I bought this laptop, it came with Vista. When I took it out of the box, the first thing I did was boot off a Linux disk and wipe the drive ― so I never even once saw the operating system.
- Another way to spread the Fedora desktop is via a USB thumb drive. Is that another way for getting Linux on Windows laptops?
- Our liveusb-creator tool creates a complete, bootable Linux environment just like you’d expect off a hard drive ― with the advantage that you can carry it in your pocket. It’s great for when I go to a friend’s house ― to surf the Internet more securely as well as speed things up, or to check out hardware at a computer store. I just boot it off my live USB and I have my whole computing environment on that thumb drive. Something we pioneered in Fedora is the ability to easily change the components. We provide a set of live images to choose from. If you don’t like the combination you see, our Persistence feature lets you change the content. Those changes are persistent on the drive, no matter where you boot up. There are even encryption feature to protect you if you lose the drive.
- What about Fedora in Asia?
- Our community architecture team in Fedora has spread worldwide and we have an Asia Pacific coordinator, Harish Pillay, and are interested in extending our reach in the Far East. We have a number of solid community groups in places like Australia, the Philippines, Singapore, India, and quite a number of ambassadors in Japan and China. We have over 550 ambassadors all over the world who organize events, go to trade shows, and speak at universities and government conferences. We do have a couple of really good ambassadors in Japan; I would love to see more.
- You work out of your home, are an employee of Red Hat, and are project manager and final word on Fedora. What is your working life like?
- I’m accountable to Red Hat for the overall progress of the community which includes both the internal community of Red Hat developers and our external community of volunteers. I try to ensure there is a smooth interface between all those people, negotiate any difficulties, and communicate to Red Hat when the community is asking for particular resources. I work with a few other people, such as our program manager, John Poelstra. And I stay involved with Fedora Project sub-communities. The majority of my job is done through email and IRC chats. I love the phone calls, but I’ve found that in Red Hat, like a lot of tech-oriented companies, there’s a lot of dust on the phone. Over the next release or two, I’m looking for ways to put new contributors to work more quickly, with less fuss and drag.
- That’
s one of the persistent open source development challenges. - Yes, and I am dead set on trying to solve it in Fedora. I don’t think the way to do that is by presenting closed source solutions and trying to get everyone to use them. Unlike some communities, we produce only free and open software and we only use free and open source software in our infrastructure, our build system, our management utilities, website and wiki. All the code can be downloaded by anyone. That’s how the open source development model works. It’s why Linux is where it is today. Of course there’s always room for improvement, but Linux’s growth over just the last few years has been phenomenal and shows no signs of stopping.
Sidebar: Fedora at Five
- Some Fedora’s fifth birthday milestones:
-
- More than 13,500 Fedora Account System members.
- About 6,500 Fedora source packages in Fedora; more than 10,000 binary packages in the development branch for Fedora 10
- Over 550 participants in Fedora’s global Ambassadors program
- Sixteen Fedora User and Developer Conferences (FUDCons) held worldwide.