The battle over the Linux kernel that has divided the developer community appears to be over—at least for now.
Last week, Linux creator Linus Torvalds and Linux developer Alan Cox told eWEEK that they will both embrace a new Virtual Memory manager and implement it in forthcoming iterations of the operating system. Cox has, until now, continued to use the existing VM in the version of the 2.4 kernel he maintains.
The unified front is good news for the Linux community, given the need for Linux to be seen as an enterprise, mission-critical operating system.
“IBM and Compaq [Computer Corp.] are certainly pushing in that direction. Compaq is also working on high-end, open-source clustering code,” Cox wrote in an e-mail. “We have folks stuffing Linux into handhelds, and 2.5 is likely to also include work to reduce the minimal kernel size.”
The news comes as a relief, especially for Linux kernel developers, who were being forced to support both versions of the 2.4 kernel because of the differences between them, including differing disk cache systems and incompatible quota code.
The accord also ends speculation that a fragmented Linux community would be doomed in the face of Windows.
The controversy involved Torvalds decision last month to include a new VM in the latest incarnations of the Linux kernel from Version 2.4.10 onward. The code was written by Andrea Arcangeli, who works for SuSE Inc., of Oakland, Calif., and lives in Italy.
Cox refused to implement the new VM into the separate 2.4 kernel tree he maintains, known as the “ac tree,” choosing instead to stick with the original VM, which was written by developer Rik van Riel, who works for Conectiva S.A., in Brazil. That code shipped in the final 2.4 kernel that shipped in January.
But both Torvalds and Cox wrote in e-mail exchanges with eWeek that they have resolved the VM issues. Torvalds said he will use the new VM as the base for his upcoming 2.5 development tree, while Cox concedes that “for the moment,” his plan is to include the new VM in the 2.4 kernel down the line.
“I think Linus shouldnt have switched VM code in a stable release, but having done so, there wasnt any point undoing it, and his prediction that the new VM was worth the pain seems to be justified,” wrote Cox, who also works for Red Hat Inc., in Durham, N.C., and lives in Swansea, Wales.
The détente also quieted any speculation of a possible source-code fork going forward. “Im not going to maintain 2.4.x forever,” said Torvalds, who works for Transmeta Corp., in Santa Clara, Calif. “Alan will clearly be the maintainer of it. I just want to turn over 2.4.x to Alan in a shape where Im personally happy with it—and I was not happy with the VM before.”
Explaining the rationale for maintaining simultaneous 2.4 kernel trees with differing VMs, Cox wrote: “I took the older VM plus fixes Rik felt would solve all the problems. Linus took Andreas work. Right now, as of 2.4.14pre, Andreas VM seems to be beating the pants off Riks VM. All the current numbers suggest its the better path.”
Arcangeli, the author of the new VM, wrote in an e-mail that the previous VM “was falling apart. It was running very slow, generating swap storms, and often, it needed a long uptime to trigger the problem. It was just not good enough.”
Cox and Torvalds stressed there is no dispute. “There is no rift between us; that would imply we are disagreeing about stuff big time,” Cox wrote. “Linus and I agree on a direction for 2.4 and the 2.5 development tree on all major stuff. In fact, our biggest disagreement is on dynamic device naming in 2.5 not on things like the VM.”
Torvalds is close to handing over the stable 2.4 kernel to Cox so that Torvalds can concentrate on the 2.5 development tree. “When I pass maintainer-ship to Alan, I pass him everything. And Ill do the development kernels,” he said.