8: FOR MORE INFORMATIONThere are numerous sources of information on Linux kernel development andrelated topics. First among those will always be the Documentationdirectory found in the kernel source distribution. The top-level HOWTOfile is an important starting point; SubmittingPatches andSubmittingDrivers are also something which all kernel developers shouldread. Many internal kernel APIs are documented using the kerneldocmechanism; "make htmldocs" or "make pdfdocs" can be used to generate thosedocuments in HTML or PDF format (though the version of TeX shipped by somedistributions runs into internal limits and fails to process the documentsproperly).Various web sites discuss kernel development at all levels of detail. Yourauthor would like to humbly suggest http://lwn.net/ as a source;information on many specific kernel topics can be found via the LWN kernelindex at: http://lwn.net/Kernel/Index/Beyond that, a valuable resource for kernel developers is: http://kernelnewbies.org/Information about the linux-next tree gathers at: http://linux.f-seidel.de/linux-next/pmwiki/And, of course, one should not forget http://kernel.org/, the definitivelocation for kernel release information.There are a number of books on kernel development: Linux Device Drivers, 3rd Edition (Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman). Online at http://lwn.net/Kernel/LDD3/. Linux Kernel Development (Robert Love). Understanding the Linux Kernel (Daniel Bovet and Marco Cesati).All of these books suffer from a common fault, though: they tend to besomewhat obsolete by the time they hit the shelves, and they have been onthe shelves for a while now. Still, there is quite a bit of goodinformation to be found there.Documentation for git can be found at: http://www.kernel.org/pub/software/scm/git/docs/ http://www.kernel.org/pub/software/scm/git/docs/user-manual.html9: CONCLUSIONCongratulations to anybody who has made it through this long-windeddocument. Hopefully it has provided a helpful understanding of how theLinux kernel is developed and how you can participate in that process.In the end, it's the participation that matters. Any open source softwareproject is no more than the sum of what its contributors put into it. TheLinux kernel has progressed as quickly and as well as it has because it hasbeen helped by an impressively large group of developers, all of whom areworking to make it better. The kernel is a premier example of what can bedone when thousands of people work together toward a common goal.The kernel can always benefit from a larger developer base, though. Thereis always more work to do. But, just as importantly, most otherparticipants in the Linux ecosystem can benefit through contributing to thekernel. Getting code into the mainline is the key to higher code quality,lower maintenance and distribution costs, a higher level of influence overthe direction of kernel development, and more. It is a situation whereeverybody involved wins. Fire up your editor and come join us; you will bemore than welcome.
8: FOR MORE INFORMATION
There are numerous sources of information on Linux kernel development and
related topics. First among those will always be the Documentation
directory found in the kernel source distribution. The top-level HOWTO
file is an important starting point; SubmittingPatches and
SubmittingDrivers are also something which all kernel developers should
read. Many internal kernel APIs are documented using the kerneldoc
mechanism; "make htmldocs" or "make pdfdocs" can be used to generate those
documents in HTML or PDF format (though the version of TeX shipped by some
distributions runs into internal limits and fails to process the documents
properly).
Various web sites discuss kernel development at all levels of detail. Your
author would like to humbly suggest http://lwn.net/ as a source;
information on many specific kernel topics can be found via the LWN kernel
index at:
http://lwn.net/Kernel/Index/
Beyond that, a valuable resource for kernel developers is:
http://kernelnewbies.org/
Information about the linux-next tree gathers at:
http://linux.f-seidel.de/linux-next/pmwiki/
And, of course, one should not forget http://kernel.org/, the definitive
location for kernel release information.
There are a number of books on kernel development:
Linux Device Drivers, 3rd Edition (Jonathan Corbet, Alessandro
Rubini, and Greg Kroah-Hartman). Online at
http://lwn.net/Kernel/LDD3/.
Linux Kernel Development (Robert Love).
Understanding the Linux Kernel (Daniel Bovet and Marco Cesati).
All of these books suffer from a common fault, though: they tend to be
somewhat obsolete by the time they hit the shelves, and they have been on
the shelves for a while now. Still, there is quite a bit of good
information to be found there.
Documentation for git can be found at:
http://www.kernel.org/pub/software/scm/git/docs/
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
9: CONCLUSION
Congratulations to anybody who has made it through this long-winded
document. Hopefully it has provided a helpful understanding of how the
Linux kernel is developed and how you can participate in that process.
In the end, it's the participation that matters. Any open source software
project is no more than the sum of what its contributors put into it. The
Linux kernel has progressed as quickly and as well as it has because it has
been helped by an impressively large group of developers, all of whom are
working to make it better. The kernel is a premier example of what can be
done when thousands of people work together toward a common goal.
The kernel can always benefit from a larger developer base, though. There
is always more work to do. But, just as importantly, most other
participants in the Linux ecosystem can benefit through contributing to the
kernel. Getting code into the mainline is the key to higher code quality,
lower maintenance and distribution costs, a higher level of influence over
the direction of kernel development, and more. It is a situation where
everybody involved wins. Fire up your editor and come join us; you will be
more than welcome.