This is an extended document intended to help interested developers, their managers, and their employers work with the kernel development process. This work was supported by the Linux Foundation. Signed-off-by: Jonathan Corbet <corbet@lwn.net>
		
			
				
	
	
		
			74 lines
		
	
	
	
		
			3.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
	
		
			3.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
8: FOR MORE INFORMATION
 | 
						|
 | 
						|
There are numerous sources of information on Linux kernel development and
 | 
						|
related topics.  First among those will always be the Documentation
 | 
						|
directory found in the kernel source distribution.  The top-level HOWTO
 | 
						|
file is an important starting point; SubmittingPatches and
 | 
						|
SubmittingDrivers are also something which all kernel developers should
 | 
						|
read.  Many internal kernel APIs are documented using the kerneldoc
 | 
						|
mechanism; "make htmldocs" or "make pdfdocs" can be used to generate those
 | 
						|
documents in HTML or PDF format (though the version of TeX shipped by some
 | 
						|
distributions runs into internal limits and fails to process the documents
 | 
						|
properly).
 | 
						|
 | 
						|
Various web sites discuss kernel development at all levels of detail.  Your
 | 
						|
author would like to humbly suggest http://lwn.net/ as a source;
 | 
						|
information on many specific kernel topics can be found via the LWN kernel
 | 
						|
index at:
 | 
						|
 | 
						|
	http://lwn.net/Kernel/Index/
 | 
						|
 | 
						|
Beyond that, a valuable resource for kernel developers is:
 | 
						|
 | 
						|
	http://kernelnewbies.org/
 | 
						|
 | 
						|
Information about the linux-next tree gathers at:
 | 
						|
 | 
						|
	http://linux.f-seidel.de/linux-next/pmwiki/
 | 
						|
 | 
						|
And, of course, one should not forget http://kernel.org/, the definitive
 | 
						|
location for kernel release information.
 | 
						|
 | 
						|
There are a number of books on kernel development:
 | 
						|
 | 
						|
	Linux Device Drivers, 3rd Edition (Jonathan Corbet, Alessandro
 | 
						|
	Rubini, and Greg Kroah-Hartman).  Online at
 | 
						|
	http://lwn.net/Kernel/LDD3/.
 | 
						|
 | 
						|
	Linux Kernel Development (Robert Love).
 | 
						|
 | 
						|
	Understanding the Linux Kernel (Daniel Bovet and Marco Cesati).
 | 
						|
 | 
						|
All of these books suffer from a common fault, though: they tend to be
 | 
						|
somewhat obsolete by the time they hit the shelves, and they have been on
 | 
						|
the shelves for a while now.  Still, there is quite a bit of good
 | 
						|
information to be found there.
 | 
						|
 | 
						|
Documentation for git can be found at:
 | 
						|
 | 
						|
	http://www.kernel.org/pub/software/scm/git/docs/
 | 
						|
 | 
						|
	http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
 | 
						|
 | 
						|
 | 
						|
9: CONCLUSION
 | 
						|
 | 
						|
Congratulations to anybody who has made it through this long-winded
 | 
						|
document.  Hopefully it has provided a helpful understanding of how the
 | 
						|
Linux kernel is developed and how you can participate in that process.
 | 
						|
 | 
						|
In the end, it's the participation that matters.  Any open source software
 | 
						|
project is no more than the sum of what its contributors put into it.  The
 | 
						|
Linux kernel has progressed as quickly and as well as it has because it has
 | 
						|
been helped by an impressively large group of developers, all of whom are
 | 
						|
working to make it better.  The kernel is a premier example of what can be
 | 
						|
done when thousands of people work together toward a common goal.
 | 
						|
 | 
						|
The kernel can always benefit from a larger developer base, though.  There
 | 
						|
is always more work to do.  But, just as importantly, most other
 | 
						|
participants in the Linux ecosystem can benefit through contributing to the
 | 
						|
kernel.  Getting code into the mainline is the key to higher code quality,
 | 
						|
lower maintenance and distribution costs, a higher level of influence over
 | 
						|
the direction of kernel development, and more.  It is a situation where
 | 
						|
everybody involved wins.  Fire up your editor and come join us; you will be
 | 
						|
more than welcome.
 |