Back to home page

OSCL-LXR

 
 

    


0001 .. _development_conclusion:
0002 
0003 For more information
0004 ====================
0005 
0006 There are numerous sources of information on Linux kernel development and
0007 related topics.  First among those will always be the Documentation
0008 directory found in the kernel source distribution.  Start with the
0009 top-level :ref:`process/howto.rst <process_howto>`; also read
0010 :ref:`process/submitting-patches.rst <submittingpatches>`. Many internal
0011 kernel APIs are documented using the kerneldoc mechanism; "make htmldocs"
0012 or "make pdfdocs" can be used to generate those documents in HTML or PDF
0013 format (though the version of TeX shipped by some distributions runs into
0014 internal limits and fails to process the documents properly).
0015 
0016 Various web sites discuss kernel development at all levels of detail.  Your
0017 author would like to humbly suggest https://lwn.net/ as a source;
0018 information on many specific kernel topics can be found via the LWN kernel
0019 index at:
0020 
0021         https://lwn.net/Kernel/Index/
0022 
0023 Beyond that, a valuable resource for kernel developers is:
0024 
0025         https://kernelnewbies.org/
0026 
0027 And, of course, one should not forget https://kernel.org/, the definitive
0028 location for kernel release information.
0029 
0030 There are a number of books on kernel development:
0031 
0032         Linux Device Drivers, 3rd Edition (Jonathan Corbet, Alessandro
0033         Rubini, and Greg Kroah-Hartman).  Online at
0034         https://lwn.net/Kernel/LDD3/.
0035 
0036         Linux Kernel Development (Robert Love).
0037 
0038         Understanding the Linux Kernel (Daniel Bovet and Marco Cesati).
0039 
0040 All of these books suffer from a common fault, though: they tend to be
0041 somewhat obsolete by the time they hit the shelves, and they have been on
0042 the shelves for a while now.  Still, there is quite a bit of good
0043 information to be found there.
0044 
0045 Documentation for git can be found at:
0046 
0047         https://www.kernel.org/pub/software/scm/git/docs/
0048 
0049         https://www.kernel.org/pub/software/scm/git/docs/user-manual.html
0050 
0051 
0052 Conclusion
0053 ==========
0054 
0055 Congratulations to anybody who has made it through this long-winded
0056 document.  Hopefully it has provided a helpful understanding of how the
0057 Linux kernel is developed and how you can participate in that process.
0058 
0059 In the end, it's the participation that matters.  Any open source software
0060 project is no more than the sum of what its contributors put into it.  The
0061 Linux kernel has progressed as quickly and as well as it has because it has
0062 been helped by an impressively large group of developers, all of whom are
0063 working to make it better.  The kernel is a premier example of what can be
0064 done when thousands of people work together toward a common goal.
0065 
0066 The kernel can always benefit from a larger developer base, though.  There
0067 is always more work to do.  But, just as importantly, most other
0068 participants in the Linux ecosystem can benefit through contributing to the
0069 kernel.  Getting code into the mainline is the key to higher code quality,
0070 lower maintenance and distribution costs, a higher level of influence over
0071 the direction of kernel development, and more.  It is a situation where
0072 everybody involved wins.  Fire up your editor and come join us; you will be
0073 more than welcome.