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