23ec7cbc2d2b55fd0fdf25e4b4200e3bf99dc9c3
[sfrench/cifs-2.6.git] / Documentation / process / 8.Conclusion.rst
1 .. _development_conclusion:
2
3 For more information
4 ====================
5
6 There are numerous sources of information on Linux kernel development and
7 related topics.  First among those will always be the Documentation
8 directory found in the kernel source distribution.  The top-level HOWTO
9 file is an important starting point; SubmittingPatches and
10 SubmittingDrivers are also something which all kernel developers should
11 read.  Many internal kernel APIs are documented using the kerneldoc
12 mechanism; "make htmldocs" or "make pdfdocs" can be used to generate those
13 documents in HTML or PDF format (though the version of TeX shipped by some
14 distributions runs into internal limits and fails to process the documents
15 properly).
16
17 Various web sites discuss kernel development at all levels of detail.  Your
18 author would like to humbly suggest http://lwn.net/ as a source;
19 information on many specific kernel topics can be found via the LWN kernel
20 index at:
21
22         http://lwn.net/Kernel/Index/
23
24 Beyond that, a valuable resource for kernel developers is:
25
26         http://kernelnewbies.org/
27
28 And, of course, one should not forget http://kernel.org/, the definitive
29 location for kernel release information.
30
31 There are a number of books on kernel development:
32
33         Linux Device Drivers, 3rd Edition (Jonathan Corbet, Alessandro
34         Rubini, and Greg Kroah-Hartman).  Online at
35         http://lwn.net/Kernel/LDD3/.
36
37         Linux Kernel Development (Robert Love).
38
39         Understanding the Linux Kernel (Daniel Bovet and Marco Cesati).
40
41 All of these books suffer from a common fault, though: they tend to be
42 somewhat obsolete by the time they hit the shelves, and they have been on
43 the shelves for a while now.  Still, there is quite a bit of good
44 information to be found there.
45
46 Documentation for git can be found at:
47
48         http://www.kernel.org/pub/software/scm/git/docs/
49
50         http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
51
52
53 Conclusion
54 ==========
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.