Live from Down Under: Report from Linux.conf.au 2009
For FOSS fans, there's no better place to be this week than Hobart, state capitol of the Australian state Tasmania. That's where Linux.conf.au 2009 is being held through Saturday, January 24.
If you're from the States, LCA can be a bit tricky to get to. Flying from Florida took me 36 hours to get to Hobart, and the airfare wasn't insubstantial. If you're thinking of attending, and your employer isn't as willing to pick up the tab (luckily, mine was) start saving those frequent flier miles, or buy a ticket the instant the conference is announced!
Officially, LCA started Wednesday, though it's preceeded by two days of miniconfs. The keynote for Linux.conf.au that kicked off the "official" program was given by Tom Limoncelli on "scarcity vs. abundance." This was held in the large conference room and it was standing – well, sitting on the floor – room only. Limoncelli talked about a topic that open sourcers should be familiar with – gatekeepers trying to hold on to control over the flow of information or access in order to "perpetuate their power." It was interesting to see a sysadmin-focused talk at LCA, which is very heavy on developers. The talk was interesting, though I thought that it really had two distinct threads that could have been teased into different talks. But, Limoncelli is an engaging speaker and he had a lot of fun with the topic. One bit of the talk I found a bit inspiring was when Limoncelli talked about open source as an "opportunity to reduce pain in our world."
The LCA schedule is a bit packed – lots of great talks and tons of things to do. Typically, at any given conference, it's easy to find some holes in the schedule where there's not much of interest. However, the first full day of sessions at LCA was jam packed full of great talks and tutorials. The sessions are packed five deep, which is to say that there are five sessions going on for every slot. Picking one of five has been a bit difficult.
The Rebuilt Linux Desktop
After morning tea, I winnowed down the selection of talks and chose Keith Packard's discussion of "the Rebuilt Linux Desktop." Packard talked about what's been done in the X.org Project over the last year, and what's coming. X.org development is not for mere mortals, but Packard did an outstanding job of explaining the concepts so that the gist was clear even to this non-developer.
One of the topics he covered was about how the X.org devs worked with the Linux kernel developers to integrate the Graphics Execution Manager (GEM) into the Linux kernel 2.6.28 release. He said that GEM was developed in the open, and that X.org asked for help with the kernel programming bits. The project was announced to the Linux kernel mailing list, "and then we listened." Packard says that they got feedback from 40 or 50 developers, and that there were "substantial" core kernel infrastructure changes, which he said was only possible with the Linux kernel.
Use the Fork!
After the X.org talk, I dropped in to Brian Aker's talk on Drizzle, the "fork" of MySQL that was started by Sun earlier this year. Aker talked a lot about decisions that they've made to encourage development and to strip away features and cruft that have accreted on top of MySQL over the years. According to Aker, the Drizzle team has dropped features that aren't necessary for Web transactions like analytics, ERP, and other features good for data warehousing, but not Web-based loads. Again, like Packard's talk, Aker covered Drizzle development at a high enough level that it was worth attending for anyone with an understanding of MySQL/Drizzle – and not at all necessary to be a database developer.
Aside from the interesting details about how Drizzle is being designed, Aker also talked about how Sun has gone about Drizzle development differently than MySQL had. According to Aker, MySQL "pissed off the open source community for years," and Drizzle is going about development in a different way entirely – no closed mailing lists, all the code entirely public, and completely open in taking contributions (subject to review, of course).
Of active Drizzle developers, Aker says that only one-sixth work for Sun, and that there were 42 people actively working on Drizzle in December, and that the numbers keep increasing -- while the number of Sun contributors are decreasing. He also mentioned that they're going out of the way to to reuse libraries, rather than creating new ones, and when they do find libraries that are "unique," Sun plans to open source them under a BSD license and set them up as separate projects.
The first session after lunch consisted of two-hour tutorials. I decided to attend the Django tutorial, given by Jacob Kaplan-Moss. Django is a Python-based framework for developing all sorts of Web sites and applications. I won't even attempt to cover all the ground that Kaplan-Moss sprinted over in the session, but I did find it interesting. One thing that did come in loud and clear is that Django seems to be a platform that would be good for those new to Web development. He walked through setting up a site/application using Django, and it all seemed fairly straightforward and not terribly hard. If you weren't one of the fifty or so people in the room at LCA, don't fret – Kaplan-Moss pointed out that Django has a ton of documentation on the Django Web site.
Kernel Development Process
It's hard to say what the best session of the day was, but I'd put Jon Corbet's talk on the kernel development process as a close contender. Called "Joining the Mob," Corbet talked about how to the kernel development process works socially – rather than getting into nitty-gritty details of kernel development.
Some of the main points made by Corbet:
- External code is expensive. Keeping code outside the mainline kernel means it doesn't get improved by the larger community.
- Upstream first: Get code into the Linux kernel before it goes to customers or before userspace programs depend on it. (This is necessary because if it's not in the mainline kernel, it may not make it in as-is, and other things shouldn't depend on it.)
- Don't use the kernel to "add value." Corbet says vendors shouldn't differentiate products at the kernel level. Value should be added at higher levels.
- Quality matters above anything else, more than company plans, user wants, developer status, etc.
- Kernel development takes the long-term view. Kernel developers expect to maintain the code in five or 10 years, so you have to have that mindset to participate in kernel development.
- Peer review. No code is perfect, but part of the process is reviewing code. Almost always subject to requests for changes. If you ignore reviews, code won't go anywhere. Corbet says this is where a lot of people fall down. You're not done when code is submitted, you're just starting.
- Developers are individuals. Kernel first, company objectives after that. A lot of developers could work for a different company next year, still working for the same community.
- There's no ownership of code, even code that you've written. Here, Corbet wasn't talking about copyright, but rather the ability to control the revisions made to code that's submitted. Developers have to get used to the idea that their code will be changed, and that they don't have absolute control over that.
- No regressions – not even to fix other problems.
- Changes require justification, and other solutions (meaning someone else's code) might "win." Focus on solving the problem, not your particular solution.
Corbet also talked about the various development trees for kernel development, and fielded questions from the audience. Linus Torvalds was also in the audience, and fielded a few questions about his contributions to the kernel and what he does in kernel development now.
All in all, it was a long and really interesting day. The conference continues through Friday, and "Open Day" is held on Saturday for families and the general public.
LCA has a long and storied history. If you didn't get to Hobart this year, be sure to start saving now to make it to LCA in 2010.
Richard Stallman calls for the W3C to remain independent of vendor interests.
The new release supports nine architectures, 73 human languages, and zero non-Free components.
Fedora developers release the first alpha version of Fedora 19, known as Schrödinger’s Cat, for general testing. The final release is expected in July 2013.
ack is a grep-like, command-line tool that has been optimized for programmers to search large trees of source code.
New features in SUSE Studio 1.3 include enhanced cloud integration, VM platform support, and lifecycle management.
The Linux Foundation recently announced that the Xen Project is becoming a Linux Foundation Collaborative Project.
Open source version of LiveCode is now available for developing apps, games, and utilities for all major platforms.
OpenDaylight is an open source software-defined networking project committed to furthering adoption of SDN and accelerating innovation in a vendor-neutral and open environment.
The new Gnome release includes privacy and sharing settings, allowing more user control over access to personal information.
Mozilla is collaborating with Samsung on a new web browser engine called Servo.