[prog] State of software engineering profession

Mary 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:

http://lists.slug.org.au/archives/slug-chat/2003/04/msg00032.html

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
willingness.

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
implementations:

http://www.advogato.org/person/raph/diary.html?start=281

Excerpt:

     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
     died.

     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.]

-Mary


More information about the Programming mailing list