Napa Valley, CA: At an exclusive gathering at the Linux Collaboration Summit, some of the crème de la crème of Linux developers talked about what’s going on with the Linux kernel today.
This year, an elite Linux kernel hacker panel was made up of Red Hat's Dave Chinner; SUSE's Mel Gorman; Facebook's Jen Axboe; Nebula's Matthew Garrett; The Linux Foundation's own Greg Kroah-Hartman; and, as usual, moderator Jon Corbet, co-founder of the top hardcore Linux news site, LWN.net.
The panel opened with Corbet pointing out that today "Almost all the people who work on the kernel are paid to do it. Only 10 percent to 20 percent are volunteers. What do your companies expect to get from your kernel work?"
Garrett replied, "Cynically we can't depend on people to do the things we need to get done. I've written some code that helps our needs and then that helps other people. By showing that you're really happy to help other people, they're happy to help you. I help people, they help me." The others agreed.
Corbett then asked Axboe what Facebook got from paying for Linux kernel development. He replied "As we are shown with Open Compute, Facebook's open-sourcing of data-center technology, "It makes economic sense to develop with open source. Facebook probably saves a billion dollars in development costs alone."
Gorman added that with open source development, you're spreading around the risk of development. "If we were just working on our own stuff, it would be like working in an echo-chamber."
Next, Corbet observed that "Many of us work for companies that don't like each other. While some company agendas appear in Linux development, it's not bad. How do we do that?"
Kroah-Hartman replied that "Competitors rely on each other to survive. Marketing and suits can fight, but they know and we [the developers] know that we're in this together." Axboe explained, "Our work runs across companies."
Besides, Garrett added, "These people are my friends. We like each other." To which, Chinner replied "We're working on a common goal. No single company has the expertise to do the job."
That's not to say that everyone loves everyone else in open-source circles. Far from it! Corbet noted that some user-space developers—that is, independent software vendors (ISV)s who build programs on top of Linux—are sometimes very angry with the Linux kernel developers.
Recently, for example, the PostgreSQL community was mad at the Linux kernel devlopers for making changes that made their database management system run software slower.
Chinner replied that "A lot of people watch we do, but we don't see what they're doing until we break something of theirs. I treat this problem by telling them to tell me about their workloads and what they do. If I don't understand what you're doing, I can't help you. ISVs need to collabrate. This needs to be a two-way street."
It doesn't have to be that way. Kroah-Hartman said he hears about problems like this "all the time. We are very visible. It's easy to find us. Our e-mail addresses are out there. Tell us your problems and we'll see what we can do."
In the case of PostgreSQL, for example, Gorman commented, "We [the Linux kernel developers] felt that Postgres was fine. 350 messages later I knew people weren't happy. Part of that is our problem. We need to be more open and invite them to talk to us."
Some programmers, both inside and outside Linux kernel development circles, also have problems with new Linux additions and features. In particular, Corbett mentioned that lots of people still hate cGroups. CGroups is a Linux kernel feature used to limit, account and isolate process CPU, I/O, system memory, and other resources.
Kroah-Hartman replied that "We're way past what Unix could do. We blaze new trails." Gorman acknowledged this, but "Some changes aren't helpful. We shouldn't bolt on new stuff to fix old problems." An example of that, in his opinion, is cGroups.
Chinner added that things change and it's impossible to predict how what seemed like a good idea at the time for one case would end up not being right for other cases years down the road. "With cGroups, it was meant for High-Performance Computing (HPC). Today we have completely different use cases."
Besides, Chinner continued, "We don't get things right the first time. We don't know how tech will be used five, ten years down the track. Sometimes we get it wrong."
For example, Kroah-Hartman said, "There was recently a nasty USB 3 bug in the latest test Linux kernels. We broke a lot of people's machines. We fixed it. That was my mistake." All the developers agreed that more testing, particularly automated testing—not just eyeballs—is needed to catch more bugs.
That said, Garrett pointed out, "Linux is the biggest open source project in the history of the world and it has minimal management. It's a miracle it works as well as it does." Besides, Kroah-Hartman added, "We still do it better [build operating systems] than anyone else. We fail less. Give us credit."