Archive for August 19th, 2008

h1

Linux kernel developer’s guide published

August 19, 2008

The Linux Foundation has released a guide for developers who wish to contribute Linux code.

A guide to the kernel development process aims to encourage participation by new programmers by explaining what’s involved. Some developers and businesses attempting to submit changes to the Linux kernel find themselves tangled up with the processes used, according to the guide, which was written by Jonathan Corbet, executive editor of lwn.net and himself a Linux developer.

“A developer who does not understand the kernel community’s ways (or, worse, who tries to flout or circumvent them) will have a frustrating experience in store,” Corbet warned.

One major stumbling block is coders not taking into account the development lifecycle. According to the guide, patches deemed stable are “merged” into the mainline kernel at the beginning of the lifecycle, every two to three months.

The “merge window” lasts for two weeks, and is then closed. After that time, project lead Linus Torvalds issues a release candidate kernel, which is then stabilised. Developers who try to merge new features outside the merge window “tend to get an unfriendly reception”, wrote Corbet, as usually only release-candidate fixes are accepted.

Dissatisfaction also arises from confusion over how patches are reviewed before being merged, according to the guide.

“Much developer frustration comes from a lack of understanding of this process or from attempts to circumvent it,” wrote Corbet, who added that patches go through a series of reviews before and after they are accepted into the kernel.

At the moment, there are more than 1,000 developers at more than 100 companies making contributions to the kernel, according to the Linux Foundation. The not-for-profit organisation said the 30-page guide is central to its efforts to expand this community.

Mark Taylor, president of the Open Source Consortium, said that while it isn’t that difficult to contribute to open-source projects, to avoid disappointment there are processes that must be adhered to.

“The bigger and more important the project, the more likely it is to have a number of levels,” Taylor told ZDnet.co.uk on Friday. “Enterprise-class projects, including the Linux kernel, have more processes, but that shows how seriously they take the project. It’s less difficult to get code into a project if you understand the rules.”

Taylor added that it was “a misconception that open-source projects are total anarchy”, and that enterprise-class projects, including Linux, often have a “beneficent dictator”.

“It’s not chaos – they have rules,” said Taylor. “They have a beneficent dictator. Linus in the Linux kernel has lieutenants around him, [as does] Jeremy Allison at Samba.”
Guide: http://ldn.linuxfoundation.org/how-participate-linux-community

h1

Torvalds: No picnic to become major Linux coder

August 19, 2008

Linux project lead Linus Torvalds has said it is not easy to become a major contributor to the Linux kernel.

In an email interview with ZDNet.co.uk on Friday, Torvalds said that, while it is relatively easy for coders and organisations to contribute small patches, the contribution of large patches, developed in isolation, could lead to both new and established contributors becoming frustrated.

“It’s definitely not easy to become a ‘big contributor’,” wrote Torvalds. “For one thing, the kernel is quite complex and big, and it inevitably simply takes time to learn all the rules — not just for the code, but for how the whole development environment works. Similarly, for a new developer, it will take time before people start recognising the name and start trusting the developer to do the right things.”

However, Torvalds argued that Linux kernel processes do make it easy to contribute small patches.

“[We] make it fairly easy for people to ease into kernel development,” wrote Torvalds. “It seems to be working too. We literally have thousands of people with patches attributed to them in each release.”

Torvalds wrote that nobody should expect to start sending “big and complex” patches early, as it takes time for new contributors and established coders to learn how to interact effectively.

“The worst thing anybody can do is to study the kernel alone and try to learn things in private, and then, however many months later, present all the established kernel developers with a big patch that just comes out of the blue,” wrote Torvalds. “That’s just going to be frustrating for everybody.”

Torvalds advised new contributors to “start small” by sending “trivial patches”.

“It may not sound exciting but, quite frankly, I don’t think anybody who starts out believing that they want to rewrite some big piece of the kernel should even bother. Reality isn’t that simple.”

Torvalds admitted that frustrated developers may become alienated by the Linux development process, which he said could be improved.

“I don’t think a ‘perfect’ process exists,” wrote Torvalds. “Of  course, some people will be alienated, and there’s no doubt that the process could probably be improved.”

The developer warned that Linux kernel development was “not a ‘warm and fuzzy’ environment where people sing Kumbaya around the fireplace” and that some “very opinionated people” were involved.

“The kernel is about pretty harsh technical issues, and mistakes are really frowned upon,” wrote Torvalds. “In an OS kernel, there are simply more security and stability requirements, and the bar is really higher in some respects. That will inevitably also reflect in the response to patches.”

Nonetheless, Torvalds said the patching process in Linux was more about human interaction than a quantifiable set of steps, such as those listed in official international standards processes.

Although thousands of developers are involved in Linux kernel coding, Torvalds argued that the development process was still efficient. “I think that one of the things we’ve been very good at is to scale up with a good network of maintainers, so that most people involved actually don’t work closely with more than a handful of people,” he wrote.

Mark Taylor, president of the Open Source Consortium, told ZDNet.co.uk on Friday that, in general, enterprise-class open-source projects are designed to scale appropriately.

“The whole process scales very well,” said Taylor. “Normally the people you find at the core [of open-source projects] are professional software engineers; these guys know how to run software projects.”

Torvalds’ and Taylor’s comments follow the publication of a guide to Linux kernel development by the Linux Foundation, which aims to prevent developers becoming frustrated with the process. The guide was made available on Wednesday.

Guide: http://ldn.linuxfoundation.org/how-participate-linux-community