The Linux kernel is one of the largest scale free software projects. More than thousand developers contribute code to each kernel release. Becoming one of them is not an easy challenge. First you need to familiarize yourself with the technical side of kernel development, with its unique peculiarities. Then, you need to understand and carry out the long, and sometimes painful, process of patch submission. However, the reward for this pain is great.
This lecture is a practical introduction to the kernel development process. I'll first explain why you (and your employer) should consider submitting patches to the mainline kernel. Then, I'll show how this process works, and what it takes to get your code into the mainline kernel. This lecture is not about the technical side of kernel development.
The intended audience for this lecture is kernel hackers wannabes, and those doing kernel development who do not participate (yet) in the mainline kernel development.
Slides: kernel_dev_howto.pdf and LaTeX sources kernel_dev_howto.tex.