For Max Spevack, chair of the Fedora board, the upcoming release of Fedora 7 represents the answer to that question. Often dismissed as a beta release for Red Hat Enterprise Linux (RHEL), the Fedora community is now trying to reposition the GNU/Linux distribution as a leading community distribution through the merger of its repositories, and through opening up its build process to increase community involvement.
According to Spevack, these changes are already bringing concrete benefits to Fedora for the average user. And, in the process, Spevack hopes that no one will ever confuse Fedora and RHEL ever again.
“It’s been very obvious to those of us who work on Fedora that the best way to think about [the relation between Fedora and RHEL] is that Fedora represents the upstream that Red Hat builds a lot of its products off of,” says Spevack. “For those who build products based on Fedora or RHEL, it represents an upstream for them as well.” Red Hat, Spevack suggests, has shifted from being “Fedora’s sponsor” to being “Fedora’s biggest customer,” and Fedora from being a farm-team to a community in its own right.
“What we have been trying to do,” Spevack continues, “is to step back and answer the question, ‘How can we change the way that Fedora is built, so that developers who want to use Fedora can find it as useful and open as possible?’ The idea is that if you’ve got developers who have an easy time using Fedora, they will produce really cool stuff that end users will want.”
The Merging of Repositories
Historically, Fedora packages have been stored in two repositories. The original repository was Fedora Core, consisting largely of the software bundled in RHEL. Fedora community members could submit bugs and patches, but they would have to wait for a Red Hat employee to check their work into the source code repository, then wait for the Red Hat build system to produce a new package.
“It was a bottleneck,” Spevack says, “And that is why Fedora Extras was created two years ago: to alleviate that problem.” Unlike Fedora Core, Extras was accessible to programmers in the community. It rapidly became over twice the size of Core. Moreover, its guidelines for how a program should be packaged and where files should be installed on the system made for such consistency that the process of adding new software to the repository was no longer affected by the idiosyncrasies of individual programmers, so that other package maintainers could take over if a maintainer quit or was unavailable.
“Fedora Extras became, without a doubt, the most successful piece of the project,” in Spevack’s judgement. In fact, Extra’s packaging guidelines were so thorough that they replaced those used for Core. Now, with the merger of the two repositories a few weeks ago, Spevack hopes that the bottleneck represented by Core will be replaced by the flexibility and openness that has made Extras such a success. As a sign of this change, the distribution has also recently changed its name from Fedora Core to simply Fedora.
Opening the Build Process
The second major revision to how Fedora operates is to make both the tools and the decision-making involved in preparing releases open to all those who are interested. Now, “everything in a Fedora build, from source code to [CD images] is completely free software,” Spevack says, with decisions made in a “completely transparent process,” typically on public IRC channels.
When pressed, Spevack admits that this process is not quite complete. Testing is done on an automated test bed that gives non-Red Hat employees some access, but he says that, “I don’t think we have the entire testing structure out in the open yet.” In the future, he would also like to see the Fedora board, which now includes five Red Hat employees, including Spevack himself, and four community members, dominated by a majority of the community.
Still, these points aside, the opening up of the process is complete enough that it is already producing benefits. One of these benefits is Revisor, an initiative of the new Fedora Unity sub-project developed independently of the official processes. Taking advantage of the new openness, Revisor is a wizard that guides users step-by-step through the building of “re-spins” or customized variations of Fedora.
With Revisor, users can choose the package repositories from which to build, groups or individual packages, then build a custom CD or DVD image, a Live CD or a USB stick installation. “We have guys in the Fedora community who have built a graphical tool that lets you build your own mix of Fedora without having any experience,” Spevack says, sounding a little awed.
For the larger free software community, another benefit of Fedora’s new openness is Smolt, an opt-in hardware profiler that allows the project to collect data about the equipment on which Fedora installs. Even before the release of Fedora 7, Smolt has been ported to the openSUSE distribution. Spevack anticipates the creation of a neutral website where information gathered by Smolt is available for all distributions that carry it.
A year ago, Spevack says, if someone asked whether Fedora could survive without Red Hat, “the answer was, ‘Probably not.'” But with Fedora 7, he claims, “the answer is ‘Definitely yes.’
Still, for many observers, Fedora’s dependency on Red Hat remains. In response, Spevack says, “To make an analogy, Ubuntu is built off the base of Debian, but I don’t think anyone would say that Debian is a beta for Ubuntu.” Pointing out that, with several million downloads of the last release, Fedora is used extensively in government departments and universities and such enterprises as Wikipedia. He adds, “The people who think that Fedora is a beta for RHEL have an incomplete understanding of all the places where Fedora actually does work and the kinds of people who use Fedora.”
According to Spevack, if you are a potential RHEL user, you’re an enterprise with “thousands of machines. You’ want absolutely zero risk, and if you have any problems, you want to get right on the phone and call Red Hat and make sure that your problem’s going to get solved a soon as possible. You’re willing to pay to make that happen, and that’s the kind of reassurance that RHEL offers.”
By contrast, Spevack sees Fedora users as members of IT companies, especially those on the cutting edge of technology. Typical deployers of Fedora, he says, are “able to maintain it themselves, and want the faster change of pace that Fedora gives you. RHEL purposefully changes at a slower pace because the kind of people who buy RHEL want that.”
Yet, despite such differences, Spevack acknowledges that some ties to RHEL will remain. Given that Fedora tends to produce three releases to each of RHEL’s, he speculates that, in the future, Fedora will emphasize community concerns in one release, RHEL’s in another, and a mixture of these concerns in the third.
Nor does Spevack see any possibility of conflict between Fedora’s and RHEL’s goals. When Red Hat engineers work on Fedora in the future, he says, their position will be much the same as that of any other community member. “It just so happens that the part of Fedora that they will be working on is the part most important to RHEL,” he says.
Challenges remain, but, on the eve of Fedora 7’s release, Spevack is pleased at what the community has done. “I think that now we’re three and a half years into Fedora’s community, it does work the way it was envisioned,” he says. “Maybe it took a little while to get there, but I think it’s been successful.
“Getting close to a release like this gets me close to the large picture. When I think about it that way and stop thinking about whatever random bug was on my mind this morning, I really am very proud to see what’s happened in Fedora, and I think that the community of people who have stuck with Fedora from the beginning and helped to build it into what it is today are the ones who really deserve the credit, whether they’re Red Hat people or not. It’s really cool. Open Source is still kind of magical sometimes.”