|
|
Subscribe / Log in / New account

An interview with Fedora leader Max Spevack

Now that Fedora 7 has been released, Fedora project leader Max Spevack has a little bit of breathing room. Like nature, LWN abhors a vacuum, so we sent Max a list of questions and a request for answers. We are now happy to present the answers. Without further ado...

LWN: Fedora 7 is out. Congratulations! What do you think is the best single thing about this release, and what do you most wish had been done better?

There are two "single best things" about Fedora 7. :-)

The first is the combination of Fedora Core and Fedora Extras into a single package repository, and the other work that went into place around that.

Before I go on, let's define two things:

@redhat.com == employed by Red Hat

@fedoraproject.org == anyone who is a Fedora contributor, may or may not be employed by Red Hat

Pre-Fedora 7, a package maintainer had to be @redhat.com in order to have commit access to packages that were in Core, but anyone @fedoraproject.org could have commit access to packages that were in Extras. Core and Extras were built on separate build systems. The Core build system was internal to Red Hat, and the Extras build system was completely external. The compose tool that built the install tree and ISO was only able to pull from packages that were in Core.

Fedora 7 has blown all of that up.

The CVS has been combined. There is no more Core or Extras, just a single Fedora repository, which allows us to give commit access (via ACLs) to anyone @fedoraproject.org for ANY package, as appropriate. It allows people who have expertise in specific packages to have more direct access to those packages in Fedora, regardless of whether or not they are @redhat.com.

Similarly, we have rolled out a new build system, called Koji, which operates completely externally from Red Hat. Add to that a new compose tool, called Pungi, which assembles the output of Koji into an actual distribution, and the entire Fedora "toolchain" is now 100% in the community.

The end result of all of that is the second "best thing" about Fedora 7: custom spins.

Pungi, as I have already mentioned, is a command-line compose tool. You feed it a package manifest, it spits out an install tree, or an installable CD/DVD. Similarly, LiveCD Creator is the command-line tool that we use to build our LiveCD, LiveUSB, etc. It's quite similar to pungi -- you feed it a package manifest, it does the rest.

Additionally, two of our most enterprising community members, Jeroen van Meeuwen and Jonathan Steffan, have built a graphical application on top of the Pungi and LiveCD Creator APIs. This tool is called Revisor, and it provides a graphical wizard-like application that allows the user to select various repositories (Fedora or third-party), and to select a package manifest and various build targets (Live, Installable, USB, etc). The backend of the tool does all the work, and the end user can spin a custom version of Fedora without having to understand all of the technical details going on underneath.

Koji, Pungi, LiveCD Creator, and Revisor are all available in the Fedora repositories. Every tool that Fedora uses, from source control to ISO production, is 100% free software.

On the negative side, things got a little bit crazy in the last week or so prior to the release. A few regressions made it in, and while those can be fixed with things like 0-day updates, it's still not a good thing to have. So we'll work to improve that.

Also, the "feature" process around Fedora needs some fixing and managerial oversight. We're working to correct that in Fedora 8 by setting up a small team that is entirely focused on feature tracking, status, etc. Basically we're giving Fedora a bit more project management than it's had in the past.

So what can we expect for Fedora 8?

One of the things that we want to do with Fedora 8 is get the release cycle back on a predictable track. A 6 month cycle, beginning on June 1st, puts the release date smack in the middle of Christmas. Furthermore, the Thanksgiving holiday in the United States is something that needs to be planned around. In short, we were worried that a 6 month cycle for Fedora 8 would very quickly slip out to 7 or 8 months simply due to the holidays that come at the end of the year.

So we're looking to shorten the cycle up, with a Fedora 8 GA tentatively scheduled for October 31st.

http://fedoraproject.org/wiki/Releases/8/Schedule

That doesn't leave us a lot of time. Fortunately, we're looking at a far less ambitious Fedora 8. With so much new stuff in Fedora 7, we'd like to give all of our infrastructure changes a chance to settle in and get some polish, and also give some of the contributors who have been going nonstop on Fedora for the last few months a development cycle that is a bit less stressful.

But that doesn't mean we don't have some things planned. The best thing for people who are interested in Fedora 8 to do is look at our wiki, where we will be tracking potential features over the course of the release cycle. Before you click that link and hold us to it, I will say again that this is early-stage planning right now, and just because something appears on this list today doesn't mean it will be in the final release, or that it will even make it through the culling process in which we decide what is *really* important and what is of secondary importance.

http://fedoraproject.org/wiki/Releases/8/FeatureList

One thing not on that list that I am hoping we can get on there soon is additional improvements to the LiveCD tools -- especially the LiveUSB key, hopefully with encryption well-integrated into it. But that's just me talking as a manager -- the core developers still need to have a chance to weigh in with what they are thinking, and what their time commitments are going to be.

The second feature that I am particularly fond of is one that actually exists independent of any sort of distribution release cycle, and that is the expansion of Revisor from a GUI application to a web application. A web app that allows people to create a custom Fedora spin or a Fedora appliance will be a tremendous achievement for the Fedora Project, and will be the capstone to all of the work that has already been done with Koji, Pungi, LiveCD tools, and Revisor. Do I think this will be ready near Fedora 8? Not necessarily something that is fully production ready, but since we intend to develop it in public, hopefully at least some sort of alpha/beta that is usable.

What can you tell us about the longer-term plan for Fedora? Where do you think the project will be in 2-3 years?

I have to start this answer off with a statement of fact:

Red Hat will continue to be Fedora's biggest sponsor, providing development resources, infrastructure money, bandwidth, community-budget, FUDCons, legal support, etc.

However, I believe that it is ultimately the job of the Fedora Project Leader, whoever that person is, to say "what do I have to do to ensure that the Fedora Project can grow and thrive, *EVEN IF* all Red Hat support were to one day disappear"?

It's a hypothetical question. But the answer is real. And the answer is the critical path of Fedora in a 2-3 year horizon.

16 months ago when I started my time as Fedora Project Leader, the critical path was the fact that Fedora's development infrastructure was split. We've taken the steps necessary to fix that problem. Hopefully now we can start to reap some of the rewards.

Over the next 2-3 years, I hope that we see more and more packages that were "Core" become co-maintained by both Red Hat developers and non-Red Hat developers. The infrastructure for this is now in place -- but the process itself needs to mature in its own time.

I hope that we see the Fedora Project further solidify itself as an upstream base for other distributions, not just things like Red Hat Enterprise Linux and other RHEL-derived distros. We're already seeing some success in this arena, as the One Laptop Per Child project is built on the Fedora base.

Again, we believe that we've created the infrastructure for this in Fedora 7, but it will take a year or two for the results of that to trickle down. Hopefully we'll one day see Fedora hosting the "best of breed" (though I hate buzzwords like that) appliances and spins for all sorts of different use cases.

As always, a major goal of Fedora is to continue to lower the barrier to entry for new contributors. With our technical world in decent order, I think we'll have more time in the coming year for work like this, which should pay dividends 2-3 years down the road. Hopefully Fedora can grow into a project that has a much larger community of "developers" as opposed to "packagers". We're really really good at the latter (and that's a great thing), but I'd like us to continue to improve in the former.

There has been some grumbling from the ranks of (former) Fedora Extras maintainers that the new update process just adds bureaucracy to their job. Has anything been done to make those maintainers happier?

The short answer to this question is that things are a bit rough right now, but folks (the Fedora Engineering Steering Committee, comprised of both RH and non-RH contributors) are actively working on making things better. Time just ran out to have it all done pre-F7.

We are working on both streamlining the updates process through command line submission tools that can be scripted, and also revamping the ACL process to use the new package database that has been built.

In the past, there was a difference between updates for a Core package and an Extras package.

For Extras, you build the package and it was pushed the next time that Extras was pushed out, without any real need for notification to users about what the update was, etc.

For Core packages, you built the package, filled out a template in a web-based updates system, and then went through updates-testing and finally to the updates repo with a announcement and visible change information coming from the yum applet.

The Fedora 7 workflow, right now, feels a lot like that old Fedora Core workflow. However, our new updates infrastructure, Bodhi, is being rolled out, and we believe that will help the situation.

What the updates workflow is GOING to look like is:

  • Build a package, and send information to Bodhi about the update either through a web form, or a command line tool that is integrated with the makefile.

  • Optionally (I'm not quite sure what the criteria around this option are, it's probably up for discussion) send the update to updates-testing with an announcement.

  • Once the developer is happy, send the update to the official updates repo either via the web UI or the command line tool.

  • Bodhi will generate an announcement email and the yum applet will have visible change information, so that when the user gets the pop-up that says "5 new updates are available" the user will be able to know what is being updated and why.

So the biggest change here is that the freedom to update packages that were once in Extras without having to really specify what those changes were has been curtailed. And at the same time the tools are being worked on to make the updates process as easy as possible.

Whatever happened to the proposed developer ranking system? Is that still something the project is considering?

It was an idea that was proposed on some Fedora mailing lists earlier this year. It never really gained much traction beyond that. Maybe someone will resurrect it. Maybe not. Personally I don't think this is a critical-path topic. But that's easy for me to say, because I've already declared myself a level 60 Fedora Ninja.

Red Hat still maintains a fairly firm control over parts of the project; the decision to not consider outside artwork for Fedora 7 is one example. Do you expect that to continue, or will the Fedora project become more independent over time?

Fedora must continue to become more independent over time.

The situation with the Fedora art community and Fedora 7's art was very unfortunate. There are some people (including me) who think that we should allow Fedora's artwork to be created, judged, and used the same way that we do with Fedora's code. There are others who think that artwork is a different beast, and that for it to be done well, it has to happen in a more "closed" environment than other parts of Fedora development.

I am not an artist. But I think Fedora 7's art looks great. I am also not the sort of person who is going to base my decision of what distribution to use on the default theme that is provided by that distribution. That isn't to say that I don't think great artwork is a major selling point -- I just don't think it's enough of a deal breaker to warrant the breaking of the rules that the rest of Fedora plays by.

I believe that Fedora has a tremendously committed and tremendously talented art community. I believe that the Fedora Project has a responsibility to give those artists a place where they can do their work, and see their work put to good use.

Put bluntly -- I would like to see all (not just some, but all) of the artwork in Fedora developed openly, in the same community-oriented way that we try to build the rest of the distribution. If such a decision results in some short-term growing pains, I'm fine with that because I think the long term community that will result from such a commitment will be stronger.

The very technical goals of Fedora 7 required all of my "political capital" so to speak, in order to make happen. I couldn't win an additional fight about the manner in which parts of Fedora's artwork was produced. Was the end result good? Yes. Was the process good? No. Did I sort of have to take it on the chin? Yes.

Will I allow the same thing to happen again for Fedora 8? No. The Fedora 8 artwork will be developed in the community, and whoever the "lead designer" of that artwork is, it will be a requirement that that person conduct their work with the input of Fedora's larger art community, or the final work, no matter how beautiful it might be, will be unacceptable.

The development process at rpm.org has been quiet for a while (though a look at the lists shows that some things are happening). Meanwhile, the other RPM has launched rpm5.org and appears to be headed toward a major release. How do you feel about the state of rpm.org development, and is there any chance of joining this fork sometime in the future?

I have to answer this question from several different angles.

First, from the "RPM.org as a self-contained engineering project that various distros use" angle:

Right now, a maintenance release (4.4.2.1) is being prepared, with a release planned within the next two or so weeks. Its primary goals are bug fixes, and the review/merge of patches from vendors (mainly SUSE and Red Hat).

Once that maintenance release is out, the development cycle of the next major version of RPM will begin.

Speaking with the RPM developers, my understanding is that its focus will be on making the codebase more maintainable, cleaning up and improving the APIs, and getting a proper and predictable development/release process in place. This, we think, will also help to build a more healthy community around RPM, both of developers and testers.

The rpm.org developers have been keeping an eye on what the rpm5.org team is doing. Both trees have some common interest areas and code. The long-term is where the two projects differ.

On rpm5.org (http://rpm5.org/roadmap.php), it says:

"The main RPM development is already focused on the development of the forthcoming RPM 5.0. The primary goals of RPM 5.0 are the additional support for the XML based archiving format XAR (http://code.google.com/p/xar/), an integrated package dependency resolver, further improved portability and extended cross-platform support. The final RPM 5.0 versions are expected to be released in the second half of 2007."

In short, the rpm5.org development plans give RPM a *larger* scope. The rpm.org development team thinks that RPM should have a *smaller* scope. RPM should be a solid, stable foundation of a system. Everything else should be built on top of it. Keep RPM small and extensible by providing good and stable APIs.

Now, from the "Fedora as a distribution built around RPM" perspective:

RPM needs to grow and improve, but we need to make sure it grows in the right direction. And like most things in the world there are different opinions on where RPM go.

Fedora provides tools like pungi and revisor that allow someone to use a release from rpm5.org and spin up a distribution centered around that. If a group of Fedora users wanted to spin a version of Fedora 7 using an rpm5.org release as a basis of comparison and testing, that would probably be a pretty interesting activity, and I would think that the results of it would be useful to developers working both at rpm.org and rpm5.org. That is the simple reality of the open source software world.

The Fedora Project is committed to using rpm.org's work as its upstream.

Many thanks to Max for taking the time to answer our questions in such detail.


(Log in to post comments)

An interview with Fedora leader Max Spevack

Posted Jun 11, 2007 20:00 UTC (Mon) by briangmaddox (guest, #39279) [Link]

Great interview. One of the more useful articles about the direction of Fedora. Great job :)

An interview with Fedora leader Max Spevack

Posted Jun 11, 2007 21:24 UTC (Mon) by mspevack (subscriber, #36977) [Link]

Thanks :-)

An interview with Fedora leader Max Spevack

Posted Jun 12, 2007 8:33 UTC (Tue) by ekj (guest, #1524) [Link]

You rekindled my hope for Fedora.

I used to run RedHat, way back when. But ended up leaving at a time where it really seemed as if RedHat had no (or atleast little) interest in individual hobbyist desktop-users, prefereing to focus on "Enterprise" needs.

A more independent, more community-oriented Fedora, where RedHat employees no longer "own" all important components would go a long way towards fixing that. If you progress as outlined in this interview, I wouldn't be surprised if I end up back with Fedora in a year or two.

Good work !

No. Cancel that. *EXCELLENT* work.

An interview with Fedora leader Max Spevack

Posted Jun 15, 2007 21:31 UTC (Fri) by roelofs (guest, #2599) [Link]

I used to run RedHat, way back when.

Heh. Only on LWN... :-)

Greg

An interview with Fedora leader Max Spevack

Posted Jun 14, 2007 2:58 UTC (Thu) by vmlinuz (guest, #24) [Link]

Yup, top-notch interview. I'm not really a Fedora sort of person, I think - I'm a long-term Slackware user, currently leaning towards Gentoo - but it is good to see that someone apparently sane and principled is doing what is a very important job.

One thing I'd like to confirm - I'd guess the answer is yes, but I'd like to know for sure. Is Max @redhat.com? If so, and leaving the "RH drops Fedora on the floor" scenario to one side, would it make sense to imagine a future project leader being @fedoraproject.org but not @redhat.com?

An interview with Fedora leader Max Spevack

Posted Jun 14, 2007 12:32 UTC (Thu) by louie (guest, #3285) [Link]

Max is @redhat.com. (Disclosure: I am temporarily @redhat.com as well.) My sense is that the job is a full-time job, so unless fedora develops alternative revenue sources, it will always be @redhat.com or effectively @redhat.com- one couldn't do the job effectively as a volunteer.

An interview with Fedora leader Max Spevack

Posted Jun 14, 2007 19:35 UTC (Thu) by mspevack (subscriber, #36977) [Link]

My sense is that the job is a full-time job

More than full-time, I would say. :-)

When it comes time for someone else to do my job, I would hope that Red Hat's management will consider all variety of people for the job -- both current Red Hat folks and Fedora community folks -- and pick the best person.

If the best person already works for Red Hat, ok. If the best person doesn't, then Red Hat should make them an offer and hire them.

But by all means, look externally for the candidate. Just hire the person once he/she is identified! It's the only way to *guarantee* consistent leadership, handle all the budget stuff, legal stuff, etc.

An interview with Fedora leader Max Spevack

Posted Jun 14, 2007 19:29 UTC (Thu) by jengelh (subscriber, #33263) [Link]

Yes, RPM (rpm.org) should remain as it is now (or even become smaller, whatever) -- keeping the UNIX principle is key.

An interview with Fedora leader Max Spevack

Posted Jun 21, 2007 1:43 UTC (Thu) by king_inuyasha (guest, #45856) [Link]

I agree about that, but I also see that perhaps there should be a method to allow Fedora to have compatibility with the "rpm5" packages. I can see that RPM will never have a unified community, but it would be nice to have a way to port rpm5 packages back to rpm...


Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds