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