The panel went pretty well,

The panel went pretty well, although the five-slides-each portion took up more than half of the time, which didn’t leave me quite long enough to address some of the more ridiculously specious points that the Microsoft rep made. I think I came across as being pretty reasonable, since I devoted a fair amount of time to talking about things that Microsoft has traditionally done quite well, but it was hard to remain completely civil once the “with Linux, you have to fix it yourself” nonsense started to fly around.

The panel moderator presented some results from a paper of his that seemed to indicate that Linux was going to become totally unmaintainable, but a few questions made me doubt some of the conclusions:

  • It’s not clear what the “17 kernel modules” are, and how they were chosen. If the authors’ decomposition of the kernel is different than the developers’, it’s likely that they would indeed see a very high level of “common coupling”.
  • There’s no clear means of comparing the Linux kernel’s levels of coupling to that of other operating systems, by the admission of the author, so there’s no way to go from “essentially nonmaintainable” to “less maintainable than other operating systems”. The latter claim would be interesting — especially since we can watch future Linux development to validate or refute the use of common coupling as a measure of maintainability — but the former strikes me as more sensationalist than informative. (If Microsoft or Sun were to cough up source history for their operating systems, I’d help Jeff with a follow-on paper in a flash.)
  • The jump from “Linux [...] is essentially nonmaintainable” to “it is likely that many other open-source software products are also unmaintainable” is simply ridiculous. Even ignoring the fact that “open source” is a licensing choice, and not a development process, I think any software-reliability researcher would have a hard time finding buyers for the claim that “many other closed-source software products are maintainable/nonmaintainable” on the strength of a single analysis.
  • On a related note, the paper is utterly devoid of any analysis of causal elements, other than the second paragraph’s assertion that “modifications can be made [...] that could have a deleterious effect on [...] the [...] product as a whole” — a claim which can certainly be made about closed-source/closed-development software as well, as pretty much any software developer can tell you. Intuitively, the distributed nature of open development would tend to work against the addition of such coupling, since the difficulty of coordinating changes which affect multiple modules is higher, and the value of limited, insulating cross-module APIs would therefore be higher as well. The lack of causal analysis isn’t necessarily a killer — we rely on many things for which we don’t have a good causal understanding, from aspirin to gravity — but when combined with the choice of a single data point, it really seems to weaken the conclusion.
  • And, as a member of the audience pointed out — apparently, he’d seen the raw data, which isn’t presented as part of the paper — while the coupling growth is indeed exponential, it’s still on a very gentle slope, which could easily change shape substantially over the next few hundred revisions.
  • Finally — for this list, anyway — the author admitted that they hadn’t investigated whether Linux actually demonstrates the fault-proneness upon which the shunning of common coupling is based. I’d find that pretty interesting, though gathering fault data for Linux might be a little bit difficult.

Maybe I should write some sort of “response paper” to present at next year’s event. I’ve never done anything like that, but Jeff’s a great guy and I’m sure he’d help me along, even if I would be sort of slagging on his work.

The trip was otherwise uneventful, though a bit tiring. I’m mostly caught up on my email backlog now, so I think I’ll have dinner and then maybe peek at some of the bugs on my list. I don’t especially feel like working, but I didn’t get much done on the road, so I really should.

Comments are closed.