"For the last release, I stated that I thought the 18.104.22.168 release would be the last one in the 2.6.22.y series. Since then, I've received a number of other patches that would be nice to have in the .22.y tree," explained Greg KH. He continued:
"So, for a while, I'll keep the 2.6.22.y tree open, doing new releases every once in a while as they accumulate. I do this, for no other than the selfish reason that I use it every day on my openSuSE 10.3 boxes as that is the kernel base that release is on :)"
Greg KH and Chris Wright have been maintaining a -stable 2.6.x.y patchset for the 2.6.x and 2.6.(x-1) kernels since March of 2005. 2.4 stable kernel maintainer Willy Tarreau has also maintained patches against the 2.6.20 branch since August of 2007, though noted that he'll switch to maintaining the stable 2.6.22 branch once Greg finishes. Adrian Bunk also continues to maintain a -stable 2.6.16 branch of the Linux kernel.
Greg KH and Chris Wright have been maintaining a -stable 2.6.x.y patchset for the 2.6.x and 2.6.(x-1) kernels since March of 2005. Thus, with the current stable release being 2.6.22, they maintain -stable patches for 2.6.22 and 2.6.21. 2.4 stable kernel maintainer Willy Tarreau noted the currently high patch rate in each of the 2.6 -stable trees and decided to maintain -stable patches against the 2.6.20 tree until things calm down. Adrian Bunk also continues to maintain a -stable 2.6.16 branch of the Linux kernel. Willy explained about his new 2.6.20 -stable patches:
"I proposed Chris and Greg to continue issuing a few more 2.6.20 releases during the time needed for 2.6.21 and 2.6.22 to show a significant drop in their patch rates, which hopefully will be just a matter of a few releases.
"My goal is *not* to do all the hard work they do, but just to backport from their patches those which are meaningful for 2.6.20. For this reason, 2.6.20 releases will always be slightly late and should not contain patches not merged in more recent releases."
In August 2006 Adrian Bunk took over maintainership of the 2.6.16.y stable kernel [story]. With the release of the 22.214.171.124-pre1 patch, concerns were expressed as to what makes a stable tree. The inclusion of new features led -stable maintainer Greg K-H to observe, "all of these patches seem like these are new features being backported to the 2.6.16.y kernel, which is not really allowed under the current -stable rules." Adrian responded, "they add support for additional hardware to the saa7134 driver. If you look at the actual diff there's not much that could cause any regression since nearly all of these changes don't change anything for the already supported cards." Greg cautioned, "if you want to accept new drivers and backports like this, I think you will find it very hard to determine what to say yes or no to in the future. It's the main problem that everyone who has tried to maintain a stable tree has run into, that is why we set up the -stable rules to be what they are for that very reason."
Willy Tarreau, maintainer of the 2.4 stable kernel [story] joined in with several others expressing concerns about keeping the 2.6.16 tree stable, "when I started the 2.4-hotfix tree nearly two years ago, I wanted to avoid merging driver changes as much as possible. And particularly, I avoided to add support for new hardware. The reason is very simple. I want to be able to guarantee that if 2.4.X works, then any 2.4.X.Y does too so that they can blindly upgrade." Adrian disagreed, "bugfixes causing regressions are much more likely than new hardware support adding regressions." He went on to note that he has two rules for accepting patches, first the patch must be in Linus' tree, and second he directly asks the patch authors and subsystem maintainers for feedback. "I do know that the only value of the 2.6.16 tree lies in a lack of regressions and act accordingly," Adrian added, "but I'm trying to do this in a pragmatic way."
With the release of the 2.6.16 Linux kernel, Adrian Bunk reiterated his previously debated intention of maintaining the 2.6.16.y kernel tree well into the future. The first 2.6.x.y release was 126.96.36.199 by Linus Torvalds [story], a quick one line fix for NFS. The idea was revisted a few months later in October of 2004 [story], but didn't actually gain momentum until March of 2005 [story] [story]. Beginning with the 2.6.11 kernel, the process was formalized with Greg KH and Chris Wright officially maintaining 2.6.x.y releases [story] until 2.6.(x+2) is released. For example, stable patches will be applied to the current 2.6.16.y kernel by Greg and Chris until 2.6.18 is released sometime well in the future.
Adrian's plan is to pick up the development of the 2.6.16.y kernel at that point, maintaining it much as the 2.4 kernel tree is is maintained [interview]. His intention is to maintain the tree as long is it is used and people contribute patches. The earlier debate on this idea was met with mixed reactions. At that time Greg KH cautioned, "the time and energy to do this for a long period of time is huge. If I were you, I would listen to the people who have and do maintain these kinds of kernels, it's not a simple job by any means."
Linus Torvalds announced the release of the 2.6.16 Linux kernel. He noted, "not a lot of changes since -rc6, but there's various random one-liners here and there (a number of Coverity bugs found, for example), and there are small MIPS and PowerPC updates." You can download the latest kernel from your nearest Linux Kernel Archive mirror [story], and browse through all the changes using the 2.6 kernel's gitweb interface.