Showing posts with label rpm. Show all posts
Showing posts with label rpm. Show all posts

19 June 2007

Interview with Fedora's Max Spevack

Following the recent launch of Fedora 7, I spoke to Max Spevack, Fedora Project Leader, about how Fedora and Red Hat work together, and what lies ahead.

Glyn Moody: What's the nature of the relationship between Fedora and Red Hat?

Max Spevack: It's very symbiotic, obviously, because Red Hat offers significant financial support to the Fedora Project. I really believe that the Fedora Project represents sort of the soul of Red Hat. It's the place where, as a company, Red Hat devotes its effort to truly working with and embracing the larger open source community, and giving power and access to the distribution, to the engineers and programmers and contributors who are not a part of Red Hat.

At the same time, Fedora represents, from an engineer's perspective, an upstream for all of Red Hat's other products; like, for example, Red Hat Enterprise Linux, which is built about every two years. Fedora is a distribution that we try to release twice a year, and we try to always focus on the things that are important to the larger Fedora community, while at the same time allowing Fedora to be a place where things that Red Hat engineering groups are working on can also make their way into the distribution.

Glyn Moody: What about the day-to-day dynamics: to what extent do people at Red Hat say, "Gosh, we'd really like this particular feature at some point. How about working on it?"

Max Spevack: When we try to sit down and plan out what a version of Fedora is going to look like and start to make a feature list of thing we'd like to get into any given version of Fedora, one of the groups that we go and talk to is the Red Hat Enterprise Linux product guys and engineering managers. And we say, "Well, what are the things that your teams are working on that you would like us to include in, say, Fedora 6 or Fedora 7 or Fedora 8, based on when you think certain things are going to be ready?" And so that is one person that we talk to.

And then, at the same time, we go out to the larger Fedora community and we say, on our public mailing lists and on our wiki: "We want to try to put together a release of Fedora that'll come out five months from now. What are some of the features that you guys think are important? Or what are some of the places that you think need more work?"

And we get that whole list, and then we can kind of build out and say, "Well, all right, here's the thing that Red Hat wanted to work on. And, well, Red Hat's got five guys working on it, so that's taken care of. The community was asking for X, Y, and Z. And, well, there's a programmer in the community who has volunteered to lead the development of that feature, and so it's going to happen."

"This other feature is something that everyone thinks would be great, but there isn't really anyone with free time to work on it, so let's go and talk to the Red Hat management and see if we can maybe find an engineer who can get some of their time to spend working on that feature."

Glyn Moody: Is there ever a tension between what Red Hat wants to do and what your community wants to do.

Max Spevack: Well, it comes in cycles. I would say 90 percent of what's in Fedora 7 is all stuff that's really, really important to the Fedora community. Part of the reason why that was possible for Fedora 7 is because RHEL 5 was just released a few months ago, and so there isn't really any new RHEL kind of stuff ready to go yet, because that's a two-year release cycle.

If you back up, though, six months, to when we were finishing Fedora Core 6, Fedora Core 6 was the last version of Fedora that was coming out before a Red Hat Enterprise Linux release. RHEL 5 was based very significantly off of the Fedora Core 6 upstream, and so if you look at the development cycle leading up to Fedora Core 6, I would say that it was slightly less community-focused and slightly more Red Hat-focused.

And so the give and take happens based on where we are in relation to a Fedora Release and a RHEL release, and how their two-year release cycle and our six-month release cycle overlap with each other.

Glyn Moody: What kind of developer wants to work on Fedora rather than on one of the other distros?

Max Spevack: What Fedora offers that I think a lot of other folks don't at this point in time is the complete transparency into the entire build process. What I mean by that is everything, from you writing your code and checking it into CVS, through your code going into the build system and producing an RPM, to a compose tool taking a whole collection of RPMs from various repositories and turning those into an actual CD or installable tree - every step along that path is completely free software, is completely external and community-based. And anybody in the world can use that same toolchain, or work from it, to build a version of Fedora that is completely customized to their environment.

[For] the older versions of Fedora, the Fedora code was in two different repository. One repository was the one that was owned by the community, and the other repository was the one that was owned by Red Hat, and we didn't like that. And we have blown that whole idea up, in Fedora 7, and turned it all into one community-owned repository, which is what has allowed us to then also make sure that all the tools that build the distribution out of that repository are also completely community-owned.

Glyn Moody: It sounds to me, to paraphrase a little bit what you're saying, that you've moved towards the Debian model and taken, in many ways, the best bits of their approach. But you have the advantage, which perhaps they don't have, in having a company with reasonably deep pockets behind you, as well. Would that be fair?

Max Spevack: I think that is a pretty good way to look at it. Certainly, having Red Hat as a big corporate sponsor of what we do with Fedora doesn't hurt, because it helps us make sure we have the ability to hire the best contributors to Fedora every now and then.

Over the last year or so, we've hired probably three or four of some of the leading community contributors to Fedora, and we've said, "By the way, we've noticed that over the last two years you've spent 30 hours a week - somehow, in your spare time, when you're not doing your actual job - working on Fedora. What do you say we give you a paycheck and let you spend 50 hours a week doing it just for us?”

Glyn Moody: Looking forward a little, how do you see Fedora evolving?

Max Spevack: There's a few things that I see happening in the next nine or 12 months. All of the change that we have put in the last six months into the Fedora is going to need a little time to let the dust settle on it. As people start to use some of these tools more frequently, there's going to be complaints, and we're going to make them better.

I think there is a lot of potential in the live CD arena. One of the things we have got working for Fedora 7 is the live USB key, where you can put the whole distro on a USB key and boot it up. I think that there's a lot of work to be done there to make that feel a little more like a full product - making sure that the extra space on that USB key can be encrypted, making it really easy to upgrade.

Glyn Moody: What about things like support? Outside Red Hat, what structures do you have in place for directly supporting your users?

Max Spevack: The main way of getting support for Fedora is the Fedora community. It's the Fedora mailing lists; FedoraForum.org, which gets tons and tons of traffic; Fedora IRC. It's a very grassroots kind of support structure right now.

I think there is definitely a space there to offer a more formalized support of Fedora. And when I make my own personal list of goals that aren't engineering related, for Fedora, that's certainly one of the ones that I have been spending a lot of time thinking about. Is there a way that we - meaning Red Hat or the Fedora Project - can offer a more formal kind of support around Fedora? Even if it's like five bucks a month, is there a way we can see if there's people out there who would like a more formalized support of Fedora? And if there's a market for it, we can figure out a way to offer it.