[prog] State of software engineering profession
mary-linuxchix at puzzling.org
Wed Apr 16 09:48:44 EST 2003
On Tue, Apr 15, 2003, Jimen Ching wrote:
> I don't think so. At least not in the free/open source software
> world. "Show us the code" usually means send in a patch.
Remember that the FS world is quite different to the commercial world.
In the FS world, there's a pyramid structure so well described by Jeff
Waugh (one of the GNOME release team people) here:
In the FS world, unlike in the commerical world, there is a huge base of
people tangentially involved in the project, who feel a sense of
entitlement that is not merited by their involvement in the project.
I feel that a project is often really saying "show a willingness to do
the work" when they say "show us the code". All too often, feature
requests are not accompanied by this willingness to do the work. And
large pieces of work like code are the *best* way to demonstrate that
Since involvement, rather than money, is the currency of the FS world at
the present time, developers have learned to essentially ignore
difficult sounding feature requests or unsupported claims by people who
do not show inclination to do the work.
There's also the opinion Raph Levien suggests here re reference
In computing, many opinions are of the form "method X is a better
way to build systems of type Y than its competitors". I can choose
from hundreds of examples, but I'll choose one fairly well known,
not too controversial, but with some bite left in it. Microkernels,
so believe some people, are a vastly superior way to build
operating systems than monolithic kernels. Ten years ago in
academic circles, such an opinion would have been considered
entirely mainstream. Indeed, the arguments were quite persuasive:
elegance, modularity, robustness. Who but a reactionary would
disagree that they are the wave of the future?
Well, you can see where I'm going with this. The way to settle the
question is to "show me the code". Today, the best kernels for
general-purpose use are BSD (still) and Linux. Comparing, say,
Darwin and Linux head-to-head is virtually no contest. Not only
does Linux eat Darwin for lunch performance-wise, but it's also
quite a bit more stable in actual use. Ordinary users see OSX
kernel panics commonly, whereas in Linux-land, unless you're a
kernel developer they're a pretty reliable sign your hardware has
There are still a few crazy holdouts who hold the opinion that
microkernels are better. Perhaps they're right, and the superior
track record of monolithic kernels is due to accidental factors,
such as Linus's superhuman code chops. If so, I'll be convinced
when they show me the code. After all, the early experiments to try
to settle the phlogiston vs oxygen debate had many flaws, and
trying to draw a conclusion from them may have been misleading.
But opinions are damn cheap. Any idiot can have them, and many do.
Even smart people are tempted by pretty ideas. We're surrounded by
a flood of wrongheaded opinions. The best way to convince me that
your idea is one of the few good ones is to show me the code.
[His phlogiston vs oxygen remark is by way of drawing a comparison with
chemistry and hard science, which in some sense has a "show me the
methodology and the data" ethic.]
More information about the Programming