| Jonathan Corbet | 75b0214 | 2008-09-30 15:15:56 -0600 | [diff] [blame] | 1 | 8: FOR MORE INFORMATION | 
 | 2 |  | 
 | 3 | There are numerous sources of information on Linux kernel development and | 
 | 4 | related topics.  First among those will always be the Documentation | 
 | 5 | directory found in the kernel source distribution.  The top-level HOWTO | 
 | 6 | file is an important starting point; SubmittingPatches and | 
 | 7 | SubmittingDrivers are also something which all kernel developers should | 
 | 8 | read.  Many internal kernel APIs are documented using the kerneldoc | 
 | 9 | mechanism; "make htmldocs" or "make pdfdocs" can be used to generate those | 
 | 10 | documents in HTML or PDF format (though the version of TeX shipped by some | 
 | 11 | distributions runs into internal limits and fails to process the documents | 
 | 12 | properly). | 
 | 13 |  | 
 | 14 | Various web sites discuss kernel development at all levels of detail.  Your | 
 | 15 | author would like to humbly suggest http://lwn.net/ as a source; | 
 | 16 | information on many specific kernel topics can be found via the LWN kernel | 
 | 17 | index at: | 
 | 18 |  | 
 | 19 | 	http://lwn.net/Kernel/Index/ | 
 | 20 |  | 
 | 21 | Beyond that, a valuable resource for kernel developers is: | 
 | 22 |  | 
 | 23 | 	http://kernelnewbies.org/ | 
 | 24 |  | 
 | 25 | Information about the linux-next tree gathers at: | 
 | 26 |  | 
 | 27 | 	http://linux.f-seidel.de/linux-next/pmwiki/ | 
 | 28 |  | 
 | 29 | And, of course, one should not forget http://kernel.org/, the definitive | 
 | 30 | location for kernel release information. | 
 | 31 |  | 
 | 32 | There are a number of books on kernel development: | 
 | 33 |  | 
 | 34 | 	Linux Device Drivers, 3rd Edition (Jonathan Corbet, Alessandro | 
 | 35 | 	Rubini, and Greg Kroah-Hartman).  Online at | 
 | 36 | 	http://lwn.net/Kernel/LDD3/. | 
 | 37 |  | 
 | 38 | 	Linux Kernel Development (Robert Love). | 
 | 39 |  | 
 | 40 | 	Understanding the Linux Kernel (Daniel Bovet and Marco Cesati). | 
 | 41 |  | 
 | 42 | All of these books suffer from a common fault, though: they tend to be | 
 | 43 | somewhat obsolete by the time they hit the shelves, and they have been on | 
 | 44 | the shelves for a while now.  Still, there is quite a bit of good | 
 | 45 | information to be found there. | 
 | 46 |  | 
 | 47 | Documentation for git can be found at: | 
 | 48 |  | 
 | 49 | 	http://www.kernel.org/pub/software/scm/git/docs/ | 
 | 50 |  | 
 | 51 | 	http://www.kernel.org/pub/software/scm/git/docs/user-manual.html | 
 | 52 |  | 
 | 53 |  | 
 | 54 | 9: CONCLUSION | 
 | 55 |  | 
 | 56 | Congratulations to anybody who has made it through this long-winded | 
 | 57 | document.  Hopefully it has provided a helpful understanding of how the | 
 | 58 | Linux kernel is developed and how you can participate in that process. | 
 | 59 |  | 
 | 60 | In the end, it's the participation that matters.  Any open source software | 
 | 61 | project is no more than the sum of what its contributors put into it.  The | 
 | 62 | Linux kernel has progressed as quickly and as well as it has because it has | 
 | 63 | been helped by an impressively large group of developers, all of whom are | 
 | 64 | working to make it better.  The kernel is a premier example of what can be | 
 | 65 | done when thousands of people work together toward a common goal. | 
 | 66 |  | 
 | 67 | The kernel can always benefit from a larger developer base, though.  There | 
 | 68 | is always more work to do.  But, just as importantly, most other | 
 | 69 | participants in the Linux ecosystem can benefit through contributing to the | 
 | 70 | kernel.  Getting code into the mainline is the key to higher code quality, | 
 | 71 | lower maintenance and distribution costs, a higher level of influence over | 
 | 72 | the direction of kernel development, and more.  It is a situation where | 
 | 73 | everybody involved wins.  Fire up your editor and come join us; you will be | 
 | 74 | more than welcome. |