From: Stanislav Meduna <stano@meduna.org>
To: linux-kernel@vger.kernel.org
Subject: Re: Coding style - a non-issue
Date: Sat, 1 Dec 2001 21:39:16 +0100 (CET) [thread overview]
Message-ID: <200112012039.fB1KdGq03665@meduna.org> (raw)
Hello,
wow, what a nice discussion. I am reading the l-k through an
archive, so please forgive me if I am going to say something
that was already said, but I did not yet read it.
Linus wrote:
> Don't underestimate the power of survival of the fittest.
Well, your theory is really an interesting view on the
software development. However, I think that there are
some points that need some more discussion.
First, you are probably right in the long-term. The nature
did have enough time for excursions in one or another
direction - the "project" of life is several orders of magnitude
older than a single generation. You say that it is possible
to help the evolution. But you still need many generations
to be sure that a good result at some stage is not only some
statistical variance.
The technology does not IMHO work that way - Linux (Unix
in all its flavours, Windows, ...) is very young.
We are not in the stage where life exists for millions
of years. We are in the stage where the first cells
have formed and are still quite vulnerable. There is only
a thin line between survival as a kind and extinction (sp?).
I think that in this stage not ignoring the role of
the design is a good thing (and no, I don't believe in God :-)).
Besides that, are you talking about evolution in general,
or about evolution of a particular kind? The competition
is not the same in these cases.
> - massive undirected parallel development ("trial and error")
This is not what is happening here. The parallelism does
exist but is not massive in any way. There are not thousands
of people writing the same stuff. There are not even thousands
of people able to write a good bug report on a particular bug.
There are maybe three (as in the VM recently) authors of some
subsystem and in the end effect there is a God (or two after
a brief disagreement :-)) that decides. No way is this analogous
to the natural selection where the decision happens statistically
on a whole population. This works between Linux and Windows,
but not between implementation ideas.
Al Viro wrote:
> Fact of life: we all suck at reviewing our own code. You, me,
> Ken Thompson, anybody - we tend to overlook bugs in the code
> we'd written. Depending on the skill we can compensate
Absolutely. But what I really miss is an early-warning system.
No matter how good Linus might be in reviewing the submissions,
he cannot catch it all - nobody is _that_ good.
What I feel hurts the Linux is that the testing standards
are very, very low. Heck, Linus does not probably even compile
the code he releases with the widely used configuration options
(otherwise a non-compiling loop.o would not be possible).
Throwing releases onto the public is not testing. Saying
"it works/does not work for me" is not testing. Testing
is _actively_ trying to break things, _very_ preferably
by another person that wrote the code and to do it
in documentable and reproducible way. I don't see many
people doing it.
Linus wrote:
> And I will go further and claim that no major software project
> that has been successful in a general marketplace (as opposed
> to niches) has ever gone through those nice lifecycles they
> tell you about in CompSci classes.
Well, I don't know what they tell in the classes now - I am 33
and in this area the theories change much faster than practice :-)
> Have you ever heard of a project that actually started off
> with trying to figure out what it should do, a rigorous design
> phase, and a implementation phase?
I have heard of projects that did succeeded doing well defined
revision cycles with each cycle figuring out what more or better
it should do, the design of it (more or less rigorous),
implementation, then something what you forgot :-) - testing
and deployment.
The project I am working on now (a process control system)
exists for 15 years and is quite successful. It is vertical
market, not horizontal, but hardly a niche. More control
_did_ help it at one stage, where we had a little quality
crisis.
Maybe it is just because people tend to forget the wrong
things, but I have a strong feeling that Linux starts
to have problems with quality that we did not see before,
at least not in this amount. We are nearly a year in
the stable series and we need to change fundamental things
that broadly affect other parts - VM, devfs, ... This is
not evolution, this is surgery. USB support was one big
argument for 2.4, yet it is far from stable.
My opinion is, that you are _very_ good at maintaining general
overview of a big chunk of code together with being able
to maintain a general direction that makes sense. I don't
think I know someone other that is able to do this. But
I also think that the kernel is in the stage where this
won't be much longer possible even for you. I have seen
software projects going through some kind of crisis
and the symptoms tended be very similar. In the early
stages there are tools (version management, bug reporting
system) and policies (testing standards) that can help.
In the later stages the crisis is in the management.
I cannot say from the outside (I am not doing active kernel
development), in what stage (if in any) the kernel is.
But I have the gut feeling that something should be done.
Evolution does not have the option to vote with its feet.
The people do. While Linux is not much more stable than it
was and goes through a painful stabilization cycle on every
major release, Windows does go up with the general stability with
every release. W2k were better than NT, XP are better than W2k.
Windows (I mean the NT-branch) did never eat my filesystems.
Bad combination of USB and devfs was able to do this in half
an hour, and this was vendor kernel that did hopefully get
more testing than that what is released to the general public.
I surely cannot recommend using 2.4 to our customers.
And frankly, I see the Microsoft borrowing ideas from the open
community. They make things more open - slow, but they are.
They are going to give out compilers for free and charge
for the (quite good and IMHO worth the money) IDE. They are
building communities. Guess why?...
You might of course say that you don't care - the nature
also basically does not care where the evolution is going.
I would like to see more control in the kernel development,
especially regarding quality standards.
Regards
--
Stano
next reply other threads:[~2001-12-01 20:39 UTC|newest]
Thread overview: 184+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-01 20:39 Stanislav Meduna [this message]
2001-12-01 21:18 ` Alan Cox
2001-12-01 22:44 ` Davide Libenzi
2001-12-02 8:01 ` Stanislav Meduna
2001-12-02 12:19 ` Rik van Riel
2001-12-02 16:31 ` Alan Cox
2001-12-02 16:36 ` Stanislav Meduna
2001-12-02 16:57 ` Alan Cox
2001-12-02 22:44 ` Chris Ricker
2001-12-03 6:43 ` David S. Miller
2001-12-03 2:44 ` Horst von Brand
2001-12-03 9:07 ` Stanislav Meduna
2001-12-04 1:21 ` Horst von Brand
2001-12-01 21:44 ` Mohammad A. Haque
2001-12-02 9:31 ` John Alvord
-- strict thread matches above, loose matches on Subject: below --
2001-12-03 16:32 Dana Lacoste
2001-12-03 15:20 Tommy Reynolds
2001-12-02 20:53 n7ekg
2001-12-02 21:43 ` Brandon McCombs
2001-12-02 22:00 ` Alexander Viro
2001-12-02 22:05 ` Jonathan Abbey
2001-12-03 2:46 ` Trever L. Adams
2001-12-02 6:34 Khyron
2001-12-02 16:33 ` Alan Cox
2001-12-01 7:03 Tim Hockin
2001-11-30 19:53 RaúlNúñez de Arenas Coronado
2001-11-30 20:17 ` Paul G. Allen
2001-11-30 20:56 ` Tim Hockin
2001-12-03 18:34 ` Ragnar Hojland Espinosa
2001-11-30 19:42 Galappatti, Kishantha
2001-11-30 18:19 Dana Lacoste
2001-11-30 18:36 ` Mohammad A. Haque
2001-11-28 23:29 Peter Waltenberg
2001-11-28 23:40 ` Russell King
2001-11-28 23:48 ` Alan Cox
2001-11-28 23:48 ` Robert Love
2001-11-29 0:17 ` Alexander Viro
2001-11-29 0:23 ` Larry McVoy
2001-11-29 0:57 ` Davide Libenzi
2001-11-30 10:00 ` Henning P. Schmiedehausen
2001-11-30 15:26 ` Larry McVoy
2001-11-30 16:39 ` Henning Schmiedehausen
2001-11-30 16:47 ` Jeff Garzik
2001-11-30 17:20 ` Martin Dalecki
2001-11-30 17:50 ` Russell King
2001-11-30 17:49 ` Martin Dalecki
2001-11-30 18:03 ` Russell King
2001-11-30 18:31 ` Martin Dalecki
2001-11-30 17:53 ` Alan Cox
2001-11-30 17:42 ` Martin Dalecki
2001-11-30 18:00 ` Russell King
2001-11-30 17:55 ` Martin Dalecki
2001-11-30 18:40 ` Maciej W. Rozycki
2001-11-30 18:46 ` Russell King
2001-11-30 17:54 ` antirez
2001-11-30 18:20 ` Paul G. Allen
2001-11-30 18:47 ` antirez
2001-11-30 20:20 ` Paul G. Allen
2001-11-30 19:00 ` Jeff Garzik
2001-11-30 19:41 ` John Kodis
2001-11-30 20:27 ` Paul G. Allen
2001-12-01 21:52 ` Kai Henningsen
2001-12-01 23:22 ` john slee
2001-12-01 23:57 ` Paul G. Allen
2001-11-30 17:15 ` Henning Schmiedehausen
2001-11-30 17:23 ` Martin Dalecki
2001-11-30 17:27 ` Larry McVoy
2001-11-30 17:49 ` Daniel Phillips
2001-11-30 18:07 ` Alexander Viro
2001-11-30 18:13 ` Larry McVoy
2001-11-30 18:43 ` Daniel Phillips
2001-11-30 19:05 ` Larry McVoy
2001-11-30 21:54 ` Daniel Phillips
2001-11-30 22:06 ` Larry McVoy
2001-11-30 22:17 ` Andrew Morton
2001-11-30 22:51 ` rddunlap
2001-12-01 0:35 ` Rik van Riel
2001-12-01 0:44 ` Daniel Phillips
2001-12-01 0:50 ` Linus Torvalds
2001-12-01 1:09 ` Mike Castle
2001-12-01 1:34 ` Davide Libenzi
2001-12-01 16:05 ` Jamie Lokier
2001-12-01 16:27 ` Rik van Riel
2001-12-01 18:54 ` Daniel Phillips
2001-12-01 1:15 ` Petko Manolov
2001-12-01 2:02 ` Tim Hockin
2001-12-01 2:57 ` Linus Torvalds
2001-12-01 23:11 ` Horst von Brand
2001-12-01 3:02 ` Victor Yodaiken
2001-12-01 3:15 ` Linus Torvalds
2001-12-01 3:30 ` Larry McVoy
2001-12-01 3:34 ` Linus Torvalds
2001-12-01 4:10 ` Daniel Phillips
2001-12-01 4:44 ` Victor Yodaiken
2001-12-01 5:15 ` Linus Torvalds
2001-12-01 6:13 ` Daniel Phillips
2001-12-01 20:17 ` Victor Yodaiken
2001-12-01 20:30 ` Daniel Phillips
2001-12-01 12:34 ` Victor Yodaiken
2001-12-01 22:23 ` Kai Henningsen
2001-12-02 0:43 ` Davide Libenzi
2001-12-02 9:30 ` Lars Brinkhoff
2001-12-02 18:49 ` Ingo Molnar
2001-12-02 17:32 ` Rik van Riel
2001-12-02 20:12 ` Ingo Molnar
2001-12-02 18:41 ` Daniel Phillips
2001-12-02 19:04 ` Stephan von Krawczynski
2001-12-02 19:17 ` Daniel Phillips
2001-12-02 19:42 ` Stephan von Krawczynski
2001-12-04 10:50 ` Ingo Molnar
2001-12-05 22:18 ` Pavel Machek
2001-12-02 20:35 ` Ingo Molnar
2001-12-01 8:57 ` Alan Cox
2001-12-01 13:14 ` Victor Yodaiken
2001-12-01 13:38 ` Alan Cox
2001-12-01 15:15 ` Victor Yodaiken
2001-12-01 22:15 ` Kai Henningsen
2001-12-01 4:44 ` Andreas Dilger
2001-12-01 6:31 ` Stephen Satchell
2001-12-01 7:07 ` Zilvinas Valinskas
2001-12-01 23:18 ` Horst von Brand
2001-12-02 20:25 ` Larry McVoy
2001-12-02 23:51 ` Horst von Brand
2001-12-03 0:55 ` Daniel Phillips
2001-12-03 12:04 ` Victor Yodaiken
2001-12-03 13:20 ` Daniel Phillips
2001-12-07 18:15 ` Victor Yodaiken
2001-12-04 11:18 ` Ingo Molnar
2001-12-03 1:34 ` David L. Parsley
2001-12-03 3:06 ` Larry McVoy
2001-12-04 1:39 ` Horst von Brand
2001-12-04 22:25 ` Ragnar Hojland Espinosa
2001-12-04 18:38 ` Oliver Xymoron
2001-12-01 5:54 ` Stephen Satchell
2001-12-01 11:18 ` Rik van Riel
2001-12-01 18:05 ` Ingo Oeser
2001-12-01 18:21 ` Rik van Riel
2001-12-02 16:25 ` Martin Dalecki
2001-12-02 19:11 ` Ingo Molnar
2001-12-02 16:54 ` Stephan von Krawczynski
2001-12-01 22:20 ` Horst von Brand
2001-12-02 17:18 ` Rik van Riel
2001-11-30 22:31 ` H. Peter Anvin
2001-11-30 18:44 ` Henning Schmiedehausen
2001-11-30 17:31 ` Alan Cox
2001-11-30 17:53 ` Henning Schmiedehausen
2001-11-30 18:07 ` Larry McVoy
2001-12-01 4:12 ` Mike Fedyk
2001-12-01 5:14 ` Alexander Viro
2001-12-06 0:13 ` Rusty Russell
2001-11-30 17:55 ` Alexander Viro
2001-11-30 18:07 ` Henning Schmiedehausen
2001-12-02 20:13 ` Pavel Machek
2001-12-02 21:28 ` Alan Cox
2001-12-02 21:30 ` Dave Jones
2001-12-01 0:12 ` Rik van Riel
2001-11-30 18:37 ` Jeff Garzik
2001-12-01 1:17 ` Keith Owens
2001-12-01 8:54 ` Gérard Roudier
2001-12-02 23:21 ` David S. Miller
2001-12-02 23:27 ` Keith Owens
2001-12-04 17:18 ` Gérard Roudier
2001-12-04 17:23 ` Gérard Roudier
2001-12-04 22:28 ` David S. Miller
2001-12-02 20:03 ` Pavel Machek
2001-11-29 1:07 ` Petko Manolov
2001-11-29 1:56 ` Matthias Andree
2001-11-29 0:50 ` David S. Miller
2001-11-30 18:15 ` Paul G. Allen
2001-11-30 18:29 ` John H. Robinson, IV
2001-11-30 18:39 ` Paul G. Allen
2001-11-30 18:38 ` Nestor Florez
2001-11-30 18:56 ` Jeff Garzik
2001-11-30 20:06 ` Paul G. Allen
2001-11-30 20:18 ` Jeff Garzik
2001-12-01 17:53 ` David Weinehall
2001-12-01 21:29 ` Paul G. Allen
2001-12-02 2:03 ` Tracy R Reed
2001-12-05 3:42 ` Mike Fedyk
2001-11-30 20:41 ` H. Peter Anvin
2001-12-01 21:45 ` Kai Henningsen
2001-11-30 20:48 ` Andrew Morton
2001-11-30 23:17 ` Alexander Viro
2001-12-01 0:28 ` Rik van Riel
2001-12-01 0:22 ` Rik van Riel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200112012039.fB1KdGq03665@meduna.org \
--to=stano@meduna.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®