Merge tag 'efi-efivars-removal-for-v5.20' of git://git.kernel.org/pub/scm/linux/kerne...
[linux-2.6-block.git] / Documentation / process / 8.Conclusion.rst
CommitLineData
f7c9fe4b
MCC
1.. _development_conclusion:
2
3For more information
4====================
75b02146
JC
5
6There are numerous sources of information on Linux kernel development and
7related topics. First among those will always be the Documentation
9db370de
LB
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).
75b02146
JC
15
16Various web sites discuss kernel development at all levels of detail. Your
93431e06 17author would like to humbly suggest https://lwn.net/ as a source;
75b02146
JC
18information on many specific kernel topics can be found via the LWN kernel
19index at:
20
93431e06 21 https://lwn.net/Kernel/Index/
75b02146
JC
22
23Beyond that, a valuable resource for kernel developers is:
24
93431e06 25 https://kernelnewbies.org/
75b02146 26
93431e06 27And, of course, one should not forget https://kernel.org/, the definitive
75b02146
JC
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
93431e06 34 https://lwn.net/Kernel/LDD3/.
75b02146
JC
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
93431e06 47 https://www.kernel.org/pub/software/scm/git/docs/
75b02146 48
93431e06 49 https://www.kernel.org/pub/software/scm/git/docs/user-manual.html
75b02146
JC
50
51
f7c9fe4b
MCC
52Conclusion
53==========
75b02146
JC
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.