Tom "Spot" Callaway (English)
Though sometimes described as the bleeding-edge testing ground to Red Hat Enterprise Linux (or RHEL for short), Fedora is one of the most popular Linux-distributions around, along with Ubuntu, OpenSUSE and Mandriva.
So what is it that makes this distribution tick? We've asked the Fedora Engineering Manager, Tom Callaway, some questions.
Denne artikkelen er også tilgjengelig på norsk.
Please introduce yourself for our readers. Who are you, and what is your role in the development of Fedora?
My name is Tom Callaway, but I'm widely known in the Fedora community as "spot". I've been involved with Fedora since day one. Currently, I'm the Fedora Engineering Manager, coordinating Red Hat's technical efforts on Fedora.
I'm involved in quite a few aspects of the Fedora Community, I'm currently an elected member of the Fedora Board, appointed chair of the Fedora Packaging Committee, and Fedora Legal team lead. I also maintain 300+ packages in Fedora, and in what time I have left, I am leading the effort to port Fedora to SPARC.
Could you also introduce Fedora for people clueless about the distribution?
Well, for starters, Fedora is more than just a Linux distribution, Fedora is a community of contributors, users, and projects. This community was built around the idea of collaboration between Red Hat and volunteer contributors, with the goal of being the leader in free software innovation.
Our Linux distribution is our largest project, with a focus on being a complete general-purpose platform that features the latest free software. From that platform, we have several "spins" of Fedora, with varying focus on things like Desktop, Development, Education and Electronics. One of the great things about Fedora is that anyone can take the set of packages and make their own Fedora Spin, customized to fit their needs.
We also have a lot of free projects in our Fedora Hosted environment, where Fedora contributors can have a place to manage their software/content/fonts, without having to worry about finding hosting, setting up distributed version control, web and ftp services, and paying the bandwidth bill.
Fedora is one of the most popular Linux distributions, being the prefered distribution of Linux creator Linus Torvalds and ranking as the fourth most popular distribution on distrowatch. Do you know how many people use this distribution?
Well, it's difficult to get extremely precise numbers, but we actually have pretty good statistics on how many users are getting updates:
As of right now, we have 11,240,384 Unique IPs which have made a connection to a Fedora Update repository. Of course, those numbers are influenced by dynamic IPs and NAT, but we're at least in the ballpark.
That's quite the number. How many people work with Fedora to make it work for so many people?
This is very difficult to track. We have about 9000 people who have signed our Contributor License Agreement, but you don't have to sign that to file a bug or submit a patch. Also, within Red Hat, most of our OS developers have some involvement with Fedora, even if they're not doing Fedora related work full time.
Fedora is by some described as THE bleeding-edge distribution, demonstrating technology and features months in advance of other Linux-distributions. How does this affect development? Concidering how bleeding-edge the distribution is, keeping it stable must be a pain?
"Bleeding-edge" implies that by using it, you're likely to cut yourself and inflict pain, and I don't really feel that Fedora is painful to use. Fedora is perfectly usable by normal people, who are in no way cut or injured in the process. We are very proud of being the leaders, the trendsetters, in the FOSS community, and we spend a lot of time working towards integrating new components into our ecosystems and making them work well together. I freely admit that we are not perfect in this (or in anything), and there will always be bugs, but any distribution that claims to be bug-free (or perfect) is not being honest with you.
The structure of Fedora helps to minimize the pain of merging new technology and features. We were able to merge perl 5.10.0 during a single release window during the Fedora 9 timeline, and we did it in a way that most people were unaware that we had made any changes. We've already moved to Python 2.6 in our development tree (which will become Fedora 11), which puts us in a much better position for Python 3.0. Our kernel team keeps the latest kernel version in our development tree, so we have a pretty good idea of where we are with regards to functionality well before we branch off for the final release.
We're able to do this thanks to technologies like koji, createrepo, yum, rpm, and mock. Like all of the code and infrastructure tools that run and compose Fedora, these tools are all Free Software, and have been since day one. We're very very proud of that.
Red Hat and Fedora
From what I understand, Fedora is a community driven project sponsored by Red Hat. What does this mean? What is done by the community, and what is done by Red Hat?
We don't really see it like that. Fedora is a community, and Red Hat is a big participant in that community. Some areas that have traditionally been areas of interest for Red Hat are around the Linux kernel and the GNOME desktop environment, but we have active community participation in those areas by non-Red Hat employees too. Even work that you might assume is being done entirely by Red Hat staff, such as administering and maintaining the servers that run our infrastructure, is a shared community effort with Red Hat employees and volunteer community working together.
Red Hat is one of the companies contributing the most to FOSS and Linux in general. Could you please mention some of the largest projects Red Hat currently contributes to?
We have a large list of places where Red Hat and its employees are contributing on fedoraproject.org.
Some of the largest projects are things like the Linux kernel, Xorg, GNOME, RPM, Java, LVM, Glibc, GCC and Eclipse. But really, there aren't too many things in FOSS that Red Hat isn't involved with these days.
Some people would say that Fedora is the "testing ground" for Red Hats official distribution, Red Hat Enterprise Linux (or RHEL). What's your take on the subject?
Fedora is not just a RHEL testing ground, but certainly that is one of our purposes. It's a testing ground for ANYONE to prove new Linux technologies, as long as they get involved in the community as a contributor. We served as a testing ground for KDE 4.0 since we had community members willing to work on integrating it prior to Fedora 9, and the result was that we were able to get bugs and enhancement requests reported to the KDE upstream, thus improving the later KDE 4.x releases.
It's easy to wait for some other distribution to do the hard work, but where's the fun in that?
For current users of Fedora: Whats on the roadmap for Fedora 11, and what plans do you have beyond this release?
Right now, we're tracking several features for inclusion in Fedora 11:
- 20 Second Startup: Make Fedora boot and shut down faster. The goal is to be at the login screen in 20 seconds and be as fast as possible after the login (gnome-session).
- DeviceKit: A simple system service to manage devices designed to partially replace hal and overcome some of its design limitiations.
- DeltaRPMs: Generate and support delta packages containing only the changes made in a patch update.
- Implement DNSSEC: DNSSEC (DNS SECurity) is mechanism which can prove integrity and authenticity of DNS data. It became more important after new DNS poisoning attacks were found recently. The most widely used name servers should be DNSSEC aware by default (bind, unbound).
- Fingerprint Readers: Make fingerprint readers easy to use as secondary authentication.
- KDE 4.2: Rebase to KDE 4.2 and KOffice 2, and offer new features such as PolicyKit-KDE and a NetworkManager plasma applet.
- Multiseat: Make it simple to configure a system for multiseat operation, where two or more users each have their own keyboard, monitor, and mouse, and can work independently of each other.
- Python 2.6.
- TightVNC: Since RealVNC is effectively dead upstream, we're moving to this maintained fork and merging our patches there.
- Volume Control: Simplify volume control, eliminate complexity of multiple mixers for the normal user.
- Windows Cross Compiler: Build and test full-featured Windows programs, from the comfort of the Fedora system, without needing to use Windows.
There are other features that we're also looking at, but haven't committed to yet, like Ext4 by default, GNOME 2.26, adding a Live image to the install DVD, Support for stronger hashes than SHA-1, and an Instant-On Fedora.
You can see our full list of Features (approved and in process) here.
I remember back in the day, I think it was Fedora Core 5, when Fedora had a development period of 9 months instead of 6 months. You've gone back to the 6 month development-period, why is a 6 month cycle preferred over 9 or even 12 months? I'm asking as Mac and Windows users think 6 month cycles is a really short amount of time...
Well, before Fedora 7, Red Hat was responsible for the "Core" OS, and the community was only able to participate on the fringes. We've since torn down those walls, and as a result, we can move a little bit faster. With a longer release window, we had a lot of users who felt that Fedora was getting stale in those last 3 months, a lot of requests for us to make major changes as an update to a stable release. The 6 month window works very well for us right now, along with supporting multiple stable releases.
Some Linux distributions for more advanced users, like Arch Linux, have a rolling release cycle. Why does user-friendly Linux distributions like Fedora insist in releasing a new version every 6 months, encouraging existing users to re-format, instead of using a rolling release cycle?
I think that there is this myth of the "painless Linux upgrade". I've seen Debian, Ubuntu, Gentoo installations fail to do a clean in-place upgrade, due to third party software or hardware specific issues.
In Fedora, we've spent a lot of time ensuring that yum upgrades from one stable release to the next work properly. We've even made a tool called "preupgrade" that resolves all of the dependencies while the system is running, then upgrades the system and reboots you to the new Fedora, without formatting.
We even have a rolling release for advanced users, it's called Rawhide! I wouldn't recommend this, except for the bravest hackers, but it is fun to watch the many pieces grow and change.
What would you say is Fedoras greatest weakness and greatest strenght, compared to other distributions.
I think our greatest weakness is that Fedora has to respect software patents and poorly written US laws. The software patent situation in the United States is especially broken, which means we can't provide support for technology like MP3 or MPEG out of the box, even though perfectly functional free software implementations exist. We can't support DVD playback because it would violate the DMCA. We try to turn this into an opportunity to educate our users, but it doesn't always come across that way.
Other distributions which are run by companies in "no-mans-land" countries don't have to try to follow the law, which makes things easier for them, but we don't really have that option. Red Hat and Fedora are constantly lobbying to get this situation changed, to keep these laws from stifling our innovation, and we're making progress, but it won't change overnight. Decisions like the US Federal Court of Appeals ruling in Jacobsen v. Katzer and Re. Bilski are great steps in the right direction.
Our greatest strength is our community of contributors. We have hackers, programmers, artists, writers, editors, ambassadors, and users who are contributing to free software and free content. The distribution moves faster and gets better as a result of this, without this, we'd be just another Linux distribution, a copy of someone else's work.
Do you ever get the feeling of competing with the other alternatives out there? Windows, Mac or even other Linux distributions?
One of the nicest things about FOSS is that when you're really doing it right, when you're contributing code and changes back to the upstream, everyone benefits. So, from that perspective, we really don't feel like we're competing with other Linux distributions that are contributing their changes upstream. With Windows or Mac, I think there is a certain amount of friendly competition, but we're really just trying to build a better product with a better ideology. FOSS conquers by being faster, better, and free, there is no need for a conscious plan to destroy Windows, because, then what? Besides, we get some of our best ideas by simply avoiding Microsoft's mistakes. Hehe.
Mac will release a new version of their operating system in the year's first half, Microsoft hopes to have Windows 7 available in the years second half. How do you think this will affect the Linux user base?
I'm a firm believer that choice is never bad, that competition makes you stronger. The problem with OSX and Windows is that their code bases are evolutionary dead-ends, unless you work for Apple or Microsoft. You can't really take any good code that is inside those platforms and let it spread. I don't really think either of them has the potential to be a "Linux killer" until they stop being proprietary (and even then, I think that much of the FOSS in Linux today would still live on).
At Red Hat, we're very fond of a quote commonly attributed to Mohandas Gandhi: "First they ignore you, then they laugh at you, then they fight you, then you win."
What kind of people would you recommend Fedora to? And how would you recommend they go about learning the distribution?
I would recommend Fedora to all kinds of people. I really think the best way to learn the distribution is to use it, it is easy to boot a Fedora Live CD and see if it is a good fit for you, and we support dual booting. We have a large community where you can ask questions, places like fedoraforum.org, #fedora on freenode, our mailing lists. I know it is a bit blasphemous for me to say this, but I'm not a big fan of "Linux books", they go out of date so quickly. For example, Chris Tyler's Fedora O'Reilly book was great, but it's based on Fedora Core 6, which is ancient now.
Would you recommend users of Mac/Windows to get Fedora or another distribution?
Yes, I would recommend Fedora. You're not going to get me to plug another distribution here, I freely admit my bias. Hehe.
I take it you use Fedora yourself?
Of course! I think to be as involved as I am with the technology that makes up Fedora, I don't have much choice except to run Fedora, but even if I retired from all of that, I would still run Fedora.
I started out on Slackware, then moved to Red Hat Linux. I've run a few other distributions for a while, Debian, SuSE, LFS, but I always went back to Red Hat Linux, then Fedora. To me, it always seemed like that RHL and Fedora was where the innovation was happening, as opposed to some of the slower moving distributions. Plus, I liked that with RHL/Fedora, I had the option of hacking on it, but I wasn't required to. I understand the appeal of LFS or Gentoo from a learning perspective, but I just quickly run out of time and patience to be building every component myself.
In the end, is there something you wish to say which hasn't been covered in this interview?
Fedora is always looking for new contributors, hackers, coders, artists, writers, translators, testers, and users. Interested people should check out join.fedoraproject.org to find out how they can get involved.
I'm also always happy to hear from people about Fedora, both when they're happy and when they're not. This doesn't mean I'm volunteering to be your personal Fedora support technician, or even that I will fix your bugs, but I'm always listening.
We thank Tom "Spot" Callaway for his time in participating in this interview, and wish him the best of luck on future endevours.