Saturday, October 14, 2006

more about Fedora

In a comment on a previous blog entry I was described as an active Fedora advocate, I don't think that is an accurate description. I advocate it to appropriate people, which is mostly non-programmers - but as I mentioned that means a larger proportion of the population than to whom I can advocate Debian. It's not that I'm trying to advocate Fedora, just that it fills a need for many people. I believe that the term Fedora advocate means someone has an objective of increasing the use and to use Fedora, I don't have such an objective. I am a Linux advocate, a Free Software advocate, and sometimes a Unix advocate (Unix meaning the entire family of Unix-like operating systems). Merely promoting something does not make you an advocate for it. I don't think of myself as a Debian advocate at this time, but as I am a Debian developer this may change.

It seems that the people who run the Fedora Planet think that my blog has suitable Fedora content, it's been added to that planet. Also the Fedora Planet appears to be running an older version of the Planet software as it has the same problem with my blog that Debian Planet had before the upgrade.

Now on the issue of gratis vs libre: As I am not a Red Hat employee I can't maintain a kernel-xen-nopae package and give it the same status as the kernel-xen package. Even when I was a Red Hat employee I couldn't have done that - it would require some amount of management approval. I believe that this fundamentally makes Fedora less of a libre distribution. There is no room in Fedora for someone who is an upstream developer and who just wants to maintain their own package. There is Fedora-Extras, but that has a second-class status. Only Red Hat employees can maintain packages in Fedora Core. This makes Fedora fundamentally less libre than Debian. I am not trying to suggest that Red Hat change things in this regard, I believe that Fedora is meeting all it's goals and that making Fedora as libre as Debian is not possible given the goals of making a profit on selling support of RHEL.

Chris made a good point. I also believe that MP3 codecs should not be in Debian/main. But I believe that people making mistakes about some issues is not a factor in judging the entire project. I believe that Debian is more libre although some bad decisions were made - largely due to lack of overall management. Fedora has hierarchical management, so when the legal team declares that some software can not be distributed then it gets removed without debate. I guess I could propose a GR to exclude MP3 codecs from main.

Also it should be noted that RHEL Extras has some of this software that is not in Fedora (RealPlayer for example). The Red Hat legal advice was that MP3 codecs need a license, so they ship a licensed version in their commercial distribution. This is the right thing to do for their customers (it's handy to have and I'm sure that they get a good deal by paying license fees for all their customers) and removing such things from Fedora is the right way to offer a gratis product without unreasonable legal liability.

Naturally Fedora is much more libre than any secret-source OS. Every user has the option of downloading the Fedora source and recompiling it as they wish. I could compile Fedora with a Xen kernel that runs on my hardware and with SE Linux policy that is more restrictive than that which Fedora currently has. I could build custom Fedora install CDs to install things the way I want (which I considered doing when I worked for Red Hat). But the liberty to fork a project does not compare to the liberty to join it, and the liberty to create your own packages in extras does not compare to the liberty to add your own packages that do things differently to the default package.

There are of course positive and negative aspects to this. I started work on SE Linux in Debian in 2001. In 2003 I joined Red Hat to work on SE Linux, in Red Hat I was not the only person dedicated to SE Linux work and other people spent part of their time working on it. The SE Linux work in Red Hat soon eclipsed that of Debian because there was management support. There was no possibility for a package maintainer to refuse to fix a bug that affected SE Linux simply because they didn't care for it. The positive side of this is that the SE Linux work proceeded quickly and efficiently. The negative side of this is that things which don't have management support don't appear in Fedora Core. Exim is a fine MTA but is not in Fedora Core. Some people think that AppArmor is a better option than SE Linux, they are wrong - but in Debian any developer has the option to add AppArmor support and neither I nor any other DD can prevent them. The libre nature of Debian means that as long as basic technical criteria are met DDs can add any package that they wish to the distribution.

These issues however are all related to people who are actively involved in Free Software development. For a typical Free Software user it often doesn't make much difference, until of course your favourite program doesn't get management approval to appear in Fedora Core. But the counter argument is that the quality of some of the >10,000 packages in Debian is not so high. You can install a Fedora Core package and have a reasonable expectation about how well it works, but Debian packages are sometimes rather experimental.

I also don't believe that Debian is a very functional Democracy. Some of the problems of Direct Democracy are demonstrated in Debian. In many ways it is more anarchistic, anarchy gives you liberty for good and bad. Maybe we should consider a Representative Democracy model for Debian.


Anonymous said...

It is simply incorrect to state that technical decisions about the set of packages which go into Fedora are made by "management", i.e. the set of xen kernels, the choice of MTAs shipped. These are technical decisions made by engineers, and engineers make trade-offs.

So sometimes this pisses people off. That's a feature. The alternative is the Debian way of trying to ship everything and please everybody. That sucks, and that's why Ubuntu exists.

Matt said...

Please don't perpetuate the myth that Fedora Extras packages are second-class. Their packaging quality has been exemplary (e.g. Core packages adopted the Extras-suggested minimal build roots) and many people spend countless hours reviewing each other's packages to ensure this quality. With the upcoming release of FC6, you'll be able to install packages from Extras directly at OS install time if you wish.

While it's true that maintainership of packages in Core is currently restricted, the Fedora Project Board is actively working to lessen those restrictions exactly to allow additional community involvement. This will further blur any distinction between Core and Extras.

Anonymous said...

First let me say that i neither a Debian nor a Fedora/RedHat developer.
I have using Debian for man years and switched to Fedora with Fedora Core 5.

Why? Their were mainly three reasons:

1. I doesn't liked the discussion of the GFDL and the idea that i have to put non-free in my source.list to get documentation for many software.

2. Debian Main is Free Software but if i look at the whole Debian Project i also have to see contrib, non-free and the support of non-free through Debian infrastructure (bugtracker, (build and distribution) server, webpage which allows me to search for non-free software,...).

So at the end for me Fedora is a more strict Free Software distribution than Debian. And if i follow the work to verify Fedora software by the FSF and with the Free Software definition maybe in the near feature Fedora will be a FSF approved and recommand distribution.

I understand your arguments too. But i don't think it's something wich could be described as "gratis vs libre". I think your last paragraph uses the right word: Debian is more democratic. Everything will be discussed with and voted with all DDs and if a DD wants to package something for Debian he can do it never mind how "useless" the package is. Maybe it's also more a "community project" vs. "company/commercial project". Everything has it's pros and cons. You have already discribed some cons of Fedora, the cons of Debian can be seen if it comes to a new release where the DDs have to fight with the situation to discuss everything and with the marvelousness amount of packages and platforms.

So you can find many differences but i don't think Debian is more free or libre. This "award" i would hand over to Fedora. But Debian is probably more democratic and more a community project than Fedora.

Michael said...

Interesting. I'm a non-programmer (heck, mostly "non-technical") Debian user, and I've never tried Fedora. I get the impression from your post that you'd recommend Fedora over Debian to someone like me. If sometime you care to go more into the reasons for that, I'd like to read what you have to say.

Anonymous said...

For a non-technical user, Fedora is definitely more more user friendly starting from the installer to the menu organization to the polish to the rapid innovation and releases.

Just for example, a preview of FC6

I am sure Fedora deservs better credit here for the excellent SELinux integration, desktop coherency, AIGLX work etc.

Toshio said...

Hey Russell,
Reading your post it seemed like your terminology was slightly different from mine. To me, libre and gratis describe the licensing status of software. In this regard, Fedora and Debian are both high scorers. Fedora Core has recently undergone an audit to remove all software that doesn't pass the FSF's test for free software. Fedora Extras has always had a requirement to be 100% free software (although that definition is OSI or FSF approved rather than just FSF approved.) Debian has it's non-free repository but does a generally good job keeping main a libre repository.

The terms I'd use instead of libre and gratis in your descriptions are cathedral and bazaar from the essay by esr. Debian is usually a very community-minded distribution, taking input from the community of developers to make decisions and produce new packages. They are a good example of the bazaar model. Red Hat Linux was a much more cathedralish entity. It was possible to contribute as a member of the community but it was much harder to get your foot in the door, to become well integrated into the team (and having to become a member of the team in order to contribute very effectively.) This was a classic Cathedral-type product.

Fedora is a middle ground. Because of its roots in RHL, the Fedora Core component is currently cathedralish, just as you describe. There are barriers to entry towards contributing to Core and being able to build alternatives to the packages in Core ranges from hard to disallowed. However, this is gradually changing. The Packaging Guidelines, for instance, apply to new packages in both Fedora Extras and Core. Major changes have been made to existing packages in Core to bring certain aspects into compliance with the Guidelines and more changes will continue to occur to bring more changes about. Fedora Extras is the current incarnation of the direction the Fedora Project wants package building to work towards in the future. When it works well, developers from the community and Red Hat create and collaborate on packages, making them better and bringing them in and out of the "Core" product depending on their relevance to being a general purpose distribution built from 100% libre software.

Fedora will probably never be as much of a bazaar as Debian because our goals put a slightly higher priority on the production of the distro than on the building of community but building and integrating the community is a very close second (as far as I can see, it ranks well above any other concerns like "being the basis for RHEL".) Great strides have been made in this direction since the release of Fedora Core 1 and further changes to empower the community are on the roadmap as we continue to develop and mature.