Andrew Morton on kernel development
Andrew Morton on kernel development
Posted Jun 19, 2008 13:54 UTC (Thu) by Duncan (guest, #6647)In reply to: Andrew Morton on kernel development by giraffedata
Parent article: Andrew Morton on kernel development
Maybe a bit of both? I've seen previous discussion of this theory before on LWN, along with amazement that it hadn't slowed down yet. There's a number of dynamics in play here of which I'll only consider a couple. The big one is that for many years, Linux was playing catch-up, that is, the state-of-the-art in kernel technology was ahead of Linux so far that it had to well more than double-time it in ordered to have any hope of catching up in something like computer-evolution-reasonable time. That Linux was actually doing it surprised a LOT of people, and was a major point behind the SCO suit -- they thought /surely/ IBM or /somebody/ must be "cheating", in ordered for Linux to be evolving as incredibly fast as it was, toward at that point and for what they were concerned about, a real "enterprise" kernel. Well, we all know where /that/ ended up -- there was little if any cheating going on; it was real "organic" growth, but at a speed nobody could really account for according to previous models, because the Linux model really /is/ different. At the same time, however, it /did/ make us more careful, prompting the introduction of better origins documentation and signed-off-by. In theory, while various (now) peer kernels may still be more mature than Linux in some areas, that space is largely gone -- we're caught up, or close enough so the speed of change should be slowing down toward that of the more mature kernels as we match and now forge into new territory on our own. However, this has been predicted since the late 2.4.teen kernels at least, but it just didn't appear to be happening. In hindsight, we weren't as mature as we thought we were back then (a common observation in life, I might add, as one advances in years =8^S) and we still had more growing to do. Since the 2.6 series, however, there /have/ been some observable changes toward this end. While the raw volume of change hasn't really slacked off yet, the "scariness" of the changes has been decreasing. The first big change from that was the switch from the odd/even cycle. At first, people thought that it'd be relatively temporary, a couple years possibly, before something "big and disruptive" enough to all systems to really need an alternate development tree in which to coordinate all the changes, forcing the opening of a new official development tree. That hasn't happened. We've managed due both to somewhat smaller less-system-wide-disruption changes, and an accommodation of more medium-scale changes into the ongoing stable kernel. That this arrangement has continued to work is an indication of relative maturity both in featureset and in development team and method. The disruptive scale has been reduced both in absolute terms and because we are better able to cope with it in stride than ever before. That was the first big indication the kernel was maturing, altho raw change continued at if anything an increased pace. A second, more recent indication that may or may not prove out over time is the lack of "scariness" in now really a couple of kernels in a row. If the above change could be said to mark the transition from large to medium-large sized disruption and the ability to handle it, this new one /may/ be the first indications of the next level, moving from medium-large to simply medium sized change. It should be noted that while two kernels in a row is somewhat notable, it does not a safe trend make as yet. If we see a continuing trend of this thru the end of the year, say a couple more kernels in a row, for four, or only three but only one scary one and then back to "medium", then it's probably safe to say there's a marked trend. However, that's nowhere near suggesting that everything has been invented now, only that we're finally catching up with the state of the art sufficiently, while at the same time enhancing our ability to cope in-stride with what might formerly have been disruptive, that things will normally slow down a bit as it becomes /us/ that's doing the pioneering, breaking the new ground. Put in the large > med-large > medium language above, that's basically saying we might /possibly/ expect one more notch, to medium-small in the ordinary case, before we settle into a continuing sustainable pace as the new pioneers, where progress is much more hard-fought because nobody's been there before. I don't believe and would actually hope it doesn't slow down much beyond that, nor do I believe many people are suggesting that it will. Even then, there are likely to be occasional clusters of difficulty and increased change, back into the medium to medium-large zone for a kernel or three, before settling back into the medium-small zone. However, the prediction is that as we are increasingly doing our own pioneering, the average will drop to no higher than medium, with the outliers being only medium-large, and large-to-hugely disruptive changes will be a thing of the past as on the forefront it tends to be much more incremental. That's my view from this observation point. =8^) Duncan