For traditional businesses, navigating the world of open source software development is very different from working with a vendor. Just ask Ed Reaves, the platform product line manager for Canada-based Nortel Networks, which uses Linux to run the switches that handle mobile telephone call routing.
At the Linux Foundation's second annual Collaboration Summit, Reaves asked a panel of Linux kernel experts what he needed to do to get help from the kernel community to integrate code changes that would support Nortel's switches.
The switches run Wind River's Linux Platform for Networking Equipment Version 1.4, which uses the 2.6.14 kernel. Nortel wants to upgrade to the 2.6.21 kernel, but that takes a lot of work because Nortel has to do extensive custom coding with each new kernel to make it work with its switches. That's because the needed code isn't built into the mainline Linux kernel.
Nortel has been trying to get code changes included in the kernel, which would sharply reduce the amount of rewriting that's needed when new kernels are adopted.
To solve Nortel's problem, the panel of experts offered a suggestion: Learn to speak "community."
"His problem is fairly well-represented in the industry," said panelist James Bottomley, a board member of the Linux Foundation and chairman of the group's technical advisory board. "It stems from the change in paradigms that Linux forces on people."
If the problem involved IBM's AIX Unix operating system, Nortel could ask IBM to help them add the code to the AIX kernel. "In Linux, there's nobody actually directly working on that job" of making changes for a specific company, Bottomley said.
In Linux, a company has to get involved in the community to get the changes it needs incorporated into the mainline kernel code, Bottomley said. "It's a very complicated thing. But at the end of the day, it also gives you a lot more opportunity" to get what you need included in future kernels.
"It's not the way the industry is used to operating. The conversation in the old world would have started at the executive level. It's a much more frightening kind of thing, especially from the project planning point of view," Bottomley said.
"In Linux, you always have the opportunity to push it in whatever direction you want as long as you get involved" in the community, he said. "The problem is really one of education," he said, explaining that enterprise IT leaders need to learn to get what they need from the open source community by working within it, rather than simply picking up a phone and calling a traditional software vendor.
Going to the wrong place for help
In Nortel's case, the company was sending the needed kernel code patches to their embedded Linux vendor, Wind River, which provides the operating system used in Nortel's phone switch hardware.
In general, Bottomley said, such patch requests or bug fixes should be sent to the Linux kernel maintainer teams, rather than to the Linux operating system vendors that build their applications around the kernel.
By sending requests to the kernel teams, Bottomley said, Nortel engineers would have been directly involved in getting the code changes they wanted.
As others join in to discuss their situations on the kernel mailing lists, they can start collaborating to pursue similar changes. Such discussion will solve a majority of the problems for all the users, he said. "You need to work with others who want it," Bottomley said. "Those others who want it [ironically] are often your competitors in real life."