October 25, 2002 4:33 PM PDT
Torvalds: Next Linux due by June
Scheduling the arrival of open-source software can be difficult given the informality of the collaborative programming process and the programmers' reluctance to release code that's not up to snuff. Indeed, version 2.4 of Linux arrived months later than hoped. But Torvalds and other key developers adopted a more structured approach for transforming the 2.5 "development" branch of the OS to the 2.6 version intended for real-world use.
"We're pretty close to done with what will be 2.6...We're actually looking at the second quarter 2003 for the real 2.6 release," Torvalds told a group of Linux aficionados aboard a "Geek Cruise" in the Caribbean. CNET News.com reviewed a recording of Torvalds' talk.
The more formal process makes it easier for companies such as IBM or Red Hat to plan products such as servers or operating system software for the new versions of Linux.
Torvalds, the top programmer of the kernel at the center of the heart of the Linux software project, implemented a "feature freeze" for the 2.5 testing series, after which no new features will be permitted. The deadline is set for the end of October. Also, Torvalds said "early next year" will be the "code freeze," when the gates close for the software for those features.
A pragmatic Finnish programmer who works for Silicon Valley chip designer Transmeta, Torvalds rose to celebrity status in programming circles for his work helping to create an operating system with enough clout to take on Microsoft and to win a major place in IBM's business plans. Torvalds has no shortage of opinions, but softens them by observing that he's been wrong before--for example, when expecting the demise of Apple Computer or the irrelevance of higher-end computers with multiple processors.
Still, in his talk Thursday, Torvalds didn't pull many punches.
"I never much liked Macs. All the interesting stuff is hidden away," he said, adding that he does like Apple hardware. Mac OS X is built on an open-source foundation--the Mach "microkernel" in combination with FreeBSD Unix--but Apple still keeps much secret about OS X's inner workings.
"They made the base of the house open source, but all the rest of the stuff, the wiring, is their own stuff. I don't want that to happen with Linux," Torvalds said. Mac OS X "doesn't give me the warm-and-fuzzies. I actually dislike Mach a lot. I think they made a lot of bad design choices."
Torvalds also griped about Intel's decision to push its high-end Itanium "IA-64" processors over its current Pentium and Xeon "IA-32" lines. The Itanium processor, codeveloped by Hewlett-Packard, is a 64-bit chip built to accommodate vast amounts of memory, but the commands it understands are drastically different from those understood by the 32-bit Pentium line. Torvalds said he preferred AMD's approach to 64-bit computers, keeping the same commands, or "instruction set," but adding 64-bit abilities.
"I really dislike IA-64. I think it's a losing strategy," Torvalds said. "My personal hope is that IA-64 withers and dies because there's no point. It performs badly; it's expensive; it's an all-new instruction set."
"The reason Intel was so hugely successful was they went for the mass market, for normal users. They went for all the things that Intel stands for today," he said. AMD is staying truer to that philosophy, he said. "I find AMD's approach a lot more interesting, which is to replace a 32-bit Athlon with a 64-bit Athlon...They come from below and eat up all the high-performance big computers."
Intel and HP don't dispute that Itanium is very different, but argue that a radical revamp was required to create a new architecture that would last decades. In addition, they argue, the chip comes with features for protecting data integrity, pumping data on and off the chip more rapidly and working better in large computers with multiple processors.
2.6 or 3.0?
Top Linux programmers had been debating whether changes would be grand enough to warrant naming the next version 3.0, but Torvalds called the next version 2.6. These programmers typically don't conduct such debates in person, preferring instead to trade ideas, code and sometimes acerbic remarks on the Linux kernel mailing list.
In addition to the feature and code freezes, Torvalds is making other changes that underscore the growing maturity of the Linux development process. In February, he switched the management process for the vast repository of Linux code from a free-wheeling model to the more formal BitKeeper software.
Torvalds said he picked BitKeeper because it doesn't relay on a single, central repository. Under BitKeeper, "Every developer has a complete BitKeeper repository, and they're all equal," Torvalds said, an egalitarian structure that dovetails with Torvald's belief that every contributing programmer should be a "first-class citizen."
BitKeeper also helps Torvalds gradually share more power in governing Linux with other top programmers, he said.
In Linux' earlier days, Torvalds said, "My interest was wide enough that it made sense to have one person do the (Linux) release management. It turns out that as the kernel grows, the size of my interest stays fairly constant, which has made it less and less relevant to the whole kernel, which is why I'm trying to cultivate all these people who help me do all these parts of the kernel."
Indeed, as the Linux kernel expands, much of Torvalds' job increasingly involves rejecting badly written code.
"My job is to say no, to some extent. If you keep things clean enough and have some kind of requirement for what code can look like, you're already ahead of the game," he said.
The BitKeeper move irked some, including Richard Stallman, a MacArthur Foundation "genius grant" winner whose work cloning Unix and founding the Free Software Foundation provided a launching pad for the Linux movement. BitKeeper is proprietary software, a closed product that runs contrary to the shared development model Stallman began and Torvalds embraced for the Linux kernel.
Torvalds said Thursday he'd prefer to use an open-source equivalent, but there is none. "I'm hoping that some people in the open-source community will see the light and stop pushing CVS (the Concurrent Versions System code management software) and try to do a BitKeeper-like thing instead," he said.
The biggest software change for the 2.6 kernel, Torvalds said, is an overhauled "block device" software, which governs how data is sent to devices such as hard drives, flash memory and CD-ROMs. "The block device layer was too broken for words," he said. The changes required an overhaul to all related "drivers," the software that communicates with specific hardware devices.
Updating the drivers for the block device changes is probably the main source of crashes in the current test version of Linux, Torvalds said. Other than that, the new version "looks fairly stable," he said.
Of Linux penguins and blind hens
Linux development might be becoming more formal, but Torvalds believes there are limits. For example, he argues against planning sessions where programmers chart out grand futures, he said.
"I think a lot of things I don't like tend to be overdesigned," he said. "To me it's bad. Somebody spent too much time thinking and too little time doing."
Linux programmers tend to be more free-form, with enough programmers trying things out so that eventually someone comes upon the right approach. "If you have enough people going out and trying it, it's like this blind hen approach to finding food, sometimes you just get lucky," he said. "There is no grand scheme."
"The major architectural idea in Linux is to have this notion of where you want to go--preferably you get some input from something that has worked before, like Unix--then you have tons of people who have their own crazy wacky ideas, and you hope that the klutziness evens out," he said.
One of the chief advantages of the open-source method of sharing code publicly is that programmers are ashamed to expose poorly written code for all the world to see. "In Linux," Torvalds said, "you probably fixed the worst warts even before you put them in the code."