LWN.net Logo

LWN.net Weekly Edition for June 14, 2007

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.

Comments (9 posted)

SourceForge: the "Hotel California" of open source projects?

You can check out any time you like, but you can never leave

SourceForge (SF) provides a valuable service to the free and open source software communities, but it is not without its flaws. It is quite common that, as projects mature and gain popularity, they move away from SF for a variety of reasons. Unfortunately, because of a well-intentioned data retention policy at SF, this can lead to projects held hostage by the high regard search engines have for SF.

SF is one of the earliest providers of free hosting for projects claiming over 100,000 projects with over one million registered users. It provides source code repositories, mailing lists, bug tracking, download space for releases, and has recently added wikis for the projects hosted there. For many small projects it has been an essential part of the infrastructure. It provides a way to draw developers' attention and it is a place for users to get information and releases.

At least partially because of its popularity, SourceForge has its share of problems. Complaints about the tools chosen, user interface, number and type of advertisements, etc. are commonly heard. Perhaps the biggest issue for most projects is the availability of the site. Development grinds to a halt if the SF server goes down; communication disappears without the mailing lists and, because it uses centralized source code management, no code can be checked in or out. SF becomes the single point of failure for the entire project.

If a project gets unhappy enough with SourceForge, they can, of course, just pick up and move elsewhere. There are other project hosting sites available, some geared towards particular kinds of projects. It is likely that other sites suffer many of the same shortcomings as SF, so projects often find their own host, where they can control the tools and advertising policies. They can also impact the reliability issues by choosing tools that are less centralized. To their credit, SF does nothing to discourage projects from moving, but they do have a policy regarding what happens to the project's data and, ultimately, to the project's SF entry itself.

A weblog entry by kernel hacker Dave Jones gives his opinion, rather forcefully, about the retention policy. It seems he had tried to have his x86info project removed from SF, but was foiled by the policy. This rubbed him the wrong way:

My biggest beef is that of ownership. I feel I've effectively been forced to fork my own project. As I understand their policies, the terms mention that they won't remove projects that have released code just in case someone wants to fork an earlier version, or see the older history. In my case, I have a complete preservation of history in the git tree imported from the original CVS, along with tarballs of all releases. Should someone wish to fork my project, they'd be far better served by grabbing either of those than the 4 year old code stagnating in the CVS attic at sourceforge.

Search engine ranking plays a big role in his annoyance as well. A page at SF with a particular project name attached to it will be very high or at the top of any search engine results. Anyone looking for the project is likely to end up at the SF site, which will require another hop to get to the active site, if they see the link, as Jones puts it:

So now I'm left with one line of text forwarding to the new site, amongst a sea of commercials for sourceforge's "services".

The policy is for the protection of the code and the project, so that a loose cannon project administrator cannot, in a fit of pique, get the project and all of its files deleted. It also protects against data loss when projects move, but then disappear from their new site. There is certainly nothing wrong with the policy per se, but it has some, probably unintended, side effects.

SF has a built up a well deserved reputation as a solid, if a bit annoying, home for projects, and it certainly cannot be faulted for the trust that search engines have in it. There is also nothing wrong with providing a repository for old releases of open source software. It would just be nice if they could provide what Jones calls the "yes, I really know what I'm doing, and I understand your reasons, but please kill this project" option. In some ways like the trademark issue described on this page last week, this adds another decision that a project leader may need to consider in the early stages of a project.

Comments (28 posted)

The first LiPS specifications

The Linux Phone Standards Forum is an industry group aimed at standardizing the use of Linux in telephony applications. Its members include some service providers, embedded software companies, chip manufacturers, and so on. There is, interestingly, a distinct lack of representation from handset manufacturers in the group currently. LiPS has recently announced the release of the first set of Linux telephony specifications. This work is far from complete, but it is enough to give an idea for where this group intends to go. For those who would like to look at the whole thing, it can be downloaded as a zip file filled with files in PDF and HTML formats.

One of the first things that one notes is that LiPS is not about free software. The (minimal) software associated with the specification can be distributed under a somewhat BSD-like license, but any necessary patent licenses can only be had under "reasonable and non-discriminatory" (i.e. discriminatory against free software) terms. LiPS is very much about making it easier to create proprietary applications for the phone space.

One set of specifications covers basic user interface tasks - how the arrow keys should work, APIs for text entry, etc. LiPS appears to have settled on GTK+ as its toolkit of choice for this purpose despite the presence of Trolltech in the list of members. There is some evident concern about the size of the GTK+ library, leading to a specification of which widgets are necessary and which can be removed. Specifications covering the customization of the look and feel of the device are planned but not yet present.

Then, there's a set of "enabler" services. Those which are present currently include a discussion of address book services and basic voice call management. There is much more planned in this area, including calendars, messaging, web browsing, data synchronization, video calling, and, inevitably, "DRM".

Other areas which have not been filled in are "application management" and "OS services." Application management covers the launching and control of applications and some API-level things like inter-process communication. The OS services category is a large one; at the lowest levels it will have a set of "requirements on the Linux kernel and drivers" and some sort of database service. On top of that one finds things like network protocols, power management, dealing with SIM cards, etc. One imagines that the specification writers will be busy for a while. Some of the missing documents are planned for later in this year, with the rest completed in 2008.

Most of this is relatively boring stuff for people who are not actually working in this area. It may turn out to be important work for those who would like to see Linux World Domination in the mobile telephone arena, though. If it is to achieve that goal, LiPS will want to broaden its membership; the lack of presence by the companies which are actually shipping Linux-based phones is worrying. The creation of a software stack which is truly free software would be a good addition to the Forum's goals; if a phone is completely proprietary and locked-down, the fact that it is running Linux will not be especially helpful or interesting. If the Forum can become truly inclusive in these ways, perhaps its specifications will be more than just LiPS service.

Comments (4 posted)

Page editor: Jake Edge

Inside this week's LWN.net Weekly Edition

  • Security: BadBunny? Only if you invite it in; New vulnerabilities in kernel, madwifi-ng, OpenOffice.org, wordpress...
  • Kernel: Who wrote - and approved - 2.6.22; More fun with file descriptors; KHB: Real-world disk failure rates: surprises, surprises, and more surprises
  • Distributions: A new APT for Debian Sid; Ubuntu Tribe 1 released; Fedora Board Elections; new distributions Granular Linux, Karoshi, linuX-gamers.net live DVD
  • Development: Collections in the XMMS2 music player, changes coming to GTK+ 2.12, new versions of LIRC, Apache SpamAssassin, Mailfromd, PacketViz, Allmydata-Tahoe, AudioMove, Jokosher, Traverso, GARNOME, GNOME, Sofa, Csound, KOffice, OO.o, Kalkulon, Gnash, Soothsayer, Hotwire, Cairo, CLAM, GNU tar.
  • Press: Jonathan Schwartz on ZFS and GPLv3, the Economist on Mark Shuttleworth, Linux Phone Standards Forum, Don Marti on the state of the Linux kernel, Intellectual Weapons and patents, the Microsoft/Xandros patent deal, FNB switches 12K desktops to Linux, the Peer to Patent project, full circle magazine, kernel history and architecture, Linux-based wireless routers, PDF support under Linux, Desktop publishing with OO.o, LinuxChix coordinator resigns.
  • Announcements: Mandriva signs the AFUL petition, Gaia Flash Framework, QuickBooks and Linux, Microsoft and LG Electronics sign patent deal, Microsoft's Director of Linux Interoperability, Gumstix for SDR, Trolltech releases QtJambi 4.3, Zenoss Core 2.0, Comparing ODF and OOXML, StorageSS CFP extended, aKademy keynotes announced, CIFS Engineering Workshop, EBU Seminar, Flash Memory Summit, GNOME Blogs upgraded.
Next page: Security>>

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