Intervju: Tom "Spot" Callaway (English)

The Fedora Engineering Manager

Spot

Please introduce yourself for our readers. Who are you, and what is your role in the development of Fedora?

Tom
Tom "Spot" Callaway

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?

koji, createrepo, yum, rpm, and mock

Koji is a program that compiles software from source and turn them into rpm packages so that they can be downloaded and installed from a package repository.

Createrepo is a tool to create the necessary metadata for a package repository to be used with Fedora. This metadata can then be read by a package manager like apt, yast or yum. A package repository can be located on a http- or ftp-server, or just a local directory.

Yum is Fedoras default package manager and installs software from rpm packages. Yum and rpm are both developed by Red Hat

Mock is used to build packages in a virtualized copy of the operating system. This can be done for a plethora of reasons, from building legacy software to avoiding dependency errors.

"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.