92 lines
5.6 KiB
HTML
92 lines
5.6 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||
<html>
|
||
<head>
|
||
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
|
||
<title>The Linux Kernel Development Cycle</title>
|
||
<meta name="generator" content="DocBook XSL Stylesheets V1.40">
|
||
<link rel="home" href="index.html" title="Kernel Hacking HOWTO">
|
||
<link rel="up" href="index.html" title="Kernel Hacking HOWTO">
|
||
<link rel="previous" href="indexs10.html" title="Profiling & Benchmarking">
|
||
<link rel="next" href="indexs12.html" title="Tips">
|
||
</head>
|
||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||
<div class="navheader">
|
||
<table width="100%" summary="Navigation header">
|
||
<tr><th colspan="3" align="center">The Linux Kernel Development Cycle</th></tr>
|
||
<tr>
|
||
<td width="20%" align="left">
|
||
<a href="indexs10.html">Prev</a> </td>
|
||
<th width="60%" align="center"> </th>
|
||
<td width="20%" align="right"> <a href="indexs12.html">Next</a>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<hr>
|
||
</div>
|
||
<div class="sect1">
|
||
<a name="develcycle"></a><div class="titlepage"><div><h2 class="title" style="clear: both">
|
||
<a name="develcycle"></a>The Linux Kernel Development Cycle</h2></div></div>
|
||
<p>Before actively contributing to kernel development, it is important to understand the development cycle adopted by the Linux kernel community. This chapter describes the development process.</p>
|
||
<div class="sect2">
|
||
<a name="stableseries"></a><div class="titlepage"><div><h3 class="title">
|
||
<a name="stableseries"></a>Stable Series</h3></div></div>
|
||
<p>The stable series have even point release numbers (e.g. 2.2.x and 2.4.x.), generally minor releases contain bug fixes and small enhancements. Stable releases generally occur less often and most Linux distributions are based around these releases. Some "vintages" of kernel are better than others, the really bad ones are marked with a "-dontuse" filename extension.</p>
|
||
</div>
|
||
<div class="sect2">
|
||
<a name="unstableseries"></a><div class="titlepage"><div><h3 class="title">
|
||
<a name="unstableseries"></a>Unstable Series</h3></div></div>
|
||
<p>Unstable kernels contain less proven code and change more radically between minor releases. They serve as test beds for new drivers, experimental features and innovative algorithms.</p>
|
||
<p>Generally, it is a bad idea to run an unstable kernel on a system that matters. Having a dedicated box for testing unstable kernels is recommended!</p>
|
||
</div>
|
||
<div class="sect2">
|
||
<a name="featurefreezes"></a><div class="titlepage"><div><h3 class="title">
|
||
<a name="featurefreezes"></a>Feature Freezes</h3></div></div>
|
||
<p>Linus announces a feature freeze to indicate that he will not be considering any more new features until the release of a new stable kernel. This is usually followed by a flurry of people trying to get patches into the source tree before Linus actually enforces the feature freeze!</p>
|
||
<p>The idea is to introduce a period of stability to hunt down and fix the worst of the bugs introduced by all the new features.</p>
|
||
</div>
|
||
<div class="sect2">
|
||
<a name="codefreezes"></a><div class="titlepage"><div><h3 class="title">
|
||
<a name="codefreezes"></a>Code Freezes</h3></div></div>
|
||
<p>Code freezes are similar in concept to feature freezes, but are more restrictive; only fixes for serious bugs are accepted. Code freezes are just one more step towards the release of a new stable kernel.</p>
|
||
</div>
|
||
<div class="sect2">
|
||
<a name="intermediatepatches"></a><div class="titlepage"><div><h3 class="title">
|
||
<a name="intermediatepatches"></a>Intermediate Patches</h3></div></div>
|
||
<p>Between minor releases of both stable and unstable kernels, there are several intermediate releases intended to iteratively test a small number of submissions together. These releases have either -preXX or -YYXX extensions, where XX is the incremental version number and YY are the initials of the maintainer (example: -ac12 indicates the 12th incremental release by Alan Cox).</p>
|
||
</div>
|
||
<div class="sect2">
|
||
<a name="devyourturn"></a><div class="titlepage"><div><h3 class="title">
|
||
<a name="devyourturn"></a>Your Turn</h3></div></div>
|
||
<p>Now head over to the Linux-Kernel mailing list archives and spend some time looking over the postings of the past month or so. Try and find/follow a couple of threads that look interesting to you, where the maintainers get involved. If you don't know who is who in the community, take a look at the MAINTAINERS file in the top level of the kernel source tree.</p>
|
||
<p>By doing this you will:</p>
|
||
<div class="itemizedlist"><ul>
|
||
<li><p>
|
||
<a name="id46575055"></a>Gain a practical understanding of the day to day development process.</p></li>
|
||
<li><p>
|
||
<a name="id46575061"></a>Find out who knows what they are talking about (and who doesn't!).</p></li>
|
||
<li><p>
|
||
<a name="id46575065"></a>Discover what the current issues are and who is working on them.</p></li>
|
||
</ul></div>
|
||
<p>Now find and try out some experimental patches that look interesting to you and provide feedback to the author. If you think it is appropriate to post back to the list, be sure to read <a href="http://www.tux.org/lkml/" target="_top">the FAQ</a><i>first</i>.</p>
|
||
</div>
|
||
</div>
|
||
<div class="navfooter">
|
||
<hr>
|
||
<table width="100%" summary="Navigation footer">
|
||
<tr>
|
||
<td width="40%" align="left">
|
||
<a href="indexs10.html">Prev</a> </td>
|
||
<td width="20%" align="center"><a href="index.html">Home</a></td>
|
||
<td width="40%" align="right"> <a href="indexs12.html">Next</a>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="40%" align="left">Profiling & Benchmarking </td>
|
||
<td width="20%" align="center"><a href="index.html">Up</a></td>
|
||
<td width="40%" align="right"> Tips</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</body>
|
||
</html>
|