Anyone can play guitar...or hack the Linux kernel
Want to help code the Linux kernel? There's now a guide to help you navigate the process.
Radiohead's first album contains the song, "Anyone can play guitar." Perhaps their next album should include "Anyone can hack the Linux kernel."
Well, perhaps not anyone, but navigating kernel development just got easier thanks to the Linux Foundation's publication of a guide to Linux kernel development. I don't think this means that I'm going to become the Linux kernel's top contributor anytime soon (unless, of course, they start accepting blog entries as code submissions), but it hopefully will make Linux kernel development easier to understand.
It's more of a cultural and process guide than anything else, but that's often where companies stumble in trying to navigate Linux kernel development. According to the guide, which was posted less than two weeks ago:
With the growth of Linux has come an increase in the number of developers (and companies) wishing to participate in its development...One of the most compelling features of Linux is that it is accessible to these developers; anybody with the requisite skills can improve Linux and influence the direction of its development. Proprietary products cannot offer this kind of openness, which is a characteristic of the free software process. But, if anything, the kernel is even more open than most other free software projects. A typical three-month kernel development cycle can involve over 1,000 developers working for more than 100 different companies (or for no company at all).
Working with the kernel development community is not especially hard. But, that notwithstanding, many potential contributors have experienced difficulties when trying to do kernel work. The kernel community has evolved its own distinct ways of operating that allow it to function smoothly (and produce a high-quality product) in an environment where thousands of lines of code are being changed every day...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.
It is hoped that those who read this document will be able to avoid that frustrating experience...The development community is always in need of developers who will help to make the kernel better; the following text should help you--or those who work for you--join our community.
With the Linux Foundation's document as a guide, you, too, can be an Alan Cox or Linus Torvalds--or at least, pretend to be.