The Linux kernel has a new advocate for clean code who is determined to clear up unresolved bugs.
The Linux kernel has a new bug tracker, Rafael Wysocki, whose dedication to producing weekly reports on kernel regressions or lines of code that don't work always as expected is heeded by developers as a roll call on which they don't wish to appear.
For all its importance to business, the Linux kernel has had an aggressive code-creation process and a less aggressive, less structured code-correction process.
Wysocki has taken on responsibility for clearing up unresolved bugs, which has improved the situation, said Andrew Morton, the kernel integrator who acts as Linus Torvalds' chief lieutenant.
Morton told a Linux kernel developer summit in Cambridge, England, two years ago that he wanted to appoint "a nasty person" to identify bugs and "beat up on developers who do not fix bugs." Many programmers like to submit code and see it committed to the kernel, but they don't necessarily follow up with fixes if bugs show up afterward.
For a while after the Cambridge event, Natalie Protasevich filled the roll of bugmaster, then eased out of it, Morton said at the Linux Foundation Collaboration Summit in San Francisco on April 8. But Morton said that bug reporting has improved over the last year, in part because Wysocki took up the cudgels and began intensive bug reporting.
The Bugzilla bug tracking system for the Linux kernel keeps a record of all bugs, but someone still needs to create reports from it and circulate them to kernel developers. Wysocki has worked at sending out weekly summaries on all bugs in the kernel, Morton noted, as the Collaboration Summit got under way.
Wysocki has built an automated system that follows up his reports by checking with the source code management system and pulling out the names and addresses of specific code submitters.
When the kernel's Bugzilla showed code exhibiting "a possible circular locking tendency" on Jan. 29, it assigned it the number 12574, which allowed a follow-up report to be drawn up on who submitted the code.
On Feb. 4, a notice went out to submitter Michael S. Tsirkin, noting the bug "was on the list of known regressions from kernel 2.6.28" as work proceeded toward release 2.6.29 in late March.
In effect, the automated message puts the developer on notice that kernel maintainers don't want to see the bug go out again. "Please verify if it should still be listed and let me know (either way)," is Wysocki's final comment. There's no hand wringing or threatened social ostracism, but the point is made nonetheless. (The outcome of this particular notice isn't known at this time.)
Morton said most bugs are minor; a particularly bothersome case would draw his or Torvalds' attention, and one of them would send a message to the developer responsible for the code.
Usually that's not necessary, said Jonathan Corbet, a kernel developer himself and editor of the Weekly Linux News. Developers realize they need to take responsibility for their code and if they didn't know about the bug before, there's no escape once that notice arrives.
"You don't want to appear on the list too often," Corbet said.
Wysocki is a Polish kernel developer who has worked on the 2.6 version of the kernel since May 2005, according to information posted on Ohloh, a Web site for compiling statistics on open source projects.
Take part in our survey on application performance management and be eligible to win an iPod Touch valued at $299. Find out more, and take part by April 22.