public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Helge Hafting <helgehaf@idb.hist.no>
To: esr@thyrsus.com
Cc: linux-kernel@vger.kernel.org
Subject: Re: Background to the argument about CML2 design philosophy
Date: Mon, 21 May 2001 11:14:29 +0200	[thread overview]
Message-ID: <3B08DC75.C466BA66@idb.hist.no> (raw)
In-Reply-To: <20010518105353.A13684@thyrsus.com> <3B053B9B.23286E6C@redhat.com> <20010518112625.A14309@thyrsus.com> <20010518113726.A29617@devserv.devel.redhat.com> <20010518114922.C14309@thyrsus.com> <8485.990357599@redhat.com> <20010520111856.C3431@thyrsus.com> <15823.990372866@redhat.com> <20010520114411.A3600@thyrsus.com> <16267.990374170@redhat.com> <20010520131457.A3769@thyrsus.com>

"Eric S. Raymond" wrote:

> 
> To reduce the problem further, I looked for symbols with missing
> entries that I could turn into derivations, eliminating their
> questions and the requirement for a help entry.  

Adding help entries is nice.  But please don't go around
making "unlikely" choices unconditional in order to avoid writing
help text.  Leaving the help blank for such questions
is better than eliminating the question.

[...]
> By doing this I killed two birds with one stone -- got rid of some holes
> in Configure.help and (more importantly) moved the configuration experience
> away from low-level, hardware-oriented questions towards where I think it
> ought to be. That is, you specify a platform and the services you want and
> the ruleset computes the low-level facilities to be linked in.
> 

> 3. The MVME derivations are correct *if* (and only if) you agree to ignore
> the possibility that somebody could want to ignore the onboard hardware,
> plug outboard disk or Ethernet cards into the VME-bus connector, and
> do something like running SCSI-over-ATAPI to the outboard device.
> (I missed these possibilities when I wrote the derivations.)
> 
> I used case 3 to explore a touchy question about design philosophy, which
> is really what caused all hell to break loose.  The question is this:
> holding down configuration complexity is a good thing, but supporting
> all hardware configurations that are conceivably possible is also a good
> thing.  How should we trade these good things off against one another?

I'd say support all possible configurations that is supposed to work.  
You never know what someone might want to make out of 
spare parts and dusty old things.  

Particularly, not compiling (or modularizing) the driver for a built-in 
device is always a valid way of saving memory.  I don't compile IDE on
my
home pc, because all my devices are scsi.  And the built-in floppy
controller is modularized because it is so rarely used.  Why give
it permanent unswappable memory?

Your trade-off considerations should be wether "odd but possible"
choices
belong in an EXPERT category or if they should be there for everybody.
Don't consider eliminating something that would work.  Of course you
don't have to worry too much about help texts for the expert stuff - let
the experts add that themselves if you don't want to write for
fringe cases.

> The MVME situation is an almost perfect test case, because while
> breaking the assumption behind that derivation is physically possible
> it would be a rather perverse thing to do.  The VME147 is an old
> design, dating from 1988; it's long since been superseded by MPCxxx
> SBCs based on the PowerPC that have a better processor, lower power
> consumption, and more on-board peripheral hardware.  IDE/ATAPI didn't
> exist during most of its design lifetime, and the only way anyone is
> ever going to hook an outboard device to one of these puppies again
> is if some hacker pulls a dusty one off a shelf for some garage project.

Hackers get things like this for free when companies get rid of them, 
then turns them into mp3 players or hobby device controllers.

> So the real question here is whether it is ever acceptable to say that
> a possible configuration is just silly and ruleset will ignore it, in
Maybe it is acceptable to say something is too silly.  You have to
come up with a better example though.  People may definitely want to 
not have a driver, or make a module instead of compiled-in.

And they may want to not use the built-in device because they
use something better.  Like a fast ethernet connected to 
that old vme box because the net they connect to
is fast even though the box may be too weak to really
take advantage of it.  Or wide scsi instead of the built-in thing.

> order to hold down ruleset complexity and simplify the user
> experience.  The cost of deciding that the answer to that question is

The user experience can be simplified by a NOVICE/EASY/SANE_DEFAULTS 
option, and perhaps a HACKER option for the really strange 
but _theoretically_ ok stuff.

> "yes, sometimes" is that on rare occasions like this one you might
> have to haul out a text editor to tweak something in your config.  But
> the cost of deciding that the answer is "no" will be some pretty
> serious complexity headaches both in the configuration user experience
> and (down the road) in the maintainability of the ruleset.

If EXPERT options makes it too complex, consider having some rules
that are advisory only.  The debian packaging system has 
both absolute dependancies, and "suggestions".
Consider:
suggest MVME16x_SCC from MVME16x & SERIAL
which means that someone who turns on MVME16x_SCC and SERIAL
get MVME16x_SCC turned on when they do so.  
But the choice is visible and
it is possible for the user to turn it off at will.  Maybe shown in 
a different color or with some other hint that it is a defaulted
but overrideable thing.

Configuration gets simple for the vast amount of common cases,
but experts can do whatever they want.  
You could even have a user-interface option for not showing
such defaulted options.  That wouldn't complicate the rulebase,
it would be a UI-thing only.

Now you get both the simple rulebase and the nice user interface.
And satisfied experts.

Helge Hafting

  parent reply	other threads:[~2001-05-21  9:15 UTC|newest]

Thread overview: 160+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-05 23:27 CML2 design philosophy heads-up Eric S. Raymond
2001-05-06 12:58 ` Alan Cox
2001-05-07 17:59   ` Tom Rini
2001-05-07 21:57     ` Alan Cox
2001-05-08  9:44       ` Eric S. Raymond
2001-05-08 12:42       ` Helge Hafting
2001-05-08  1:31     ` Eric S. Raymond
2001-05-08  1:43       ` Tom Rini
2001-05-08  1:56         ` Eric S. Raymond
2001-05-08  6:57           ` David Weinehall
2001-05-08  7:00             ` Eric S. Raymond
2001-05-08  6:59           ` Jamie Lokier
2001-05-08  7:15             ` Eric S. Raymond
2001-05-08 14:15               ` Rogier Wolff
2001-05-13 14:22 ` Jes Sorensen
2001-05-13 15:25   ` Eric S. Raymond
2001-05-15 14:43     ` Pavel Machek
2001-05-17  7:26       ` Eric S. Raymond
2001-05-17  7:47         ` Keith Owens
2001-05-17  9:35           ` Michael Meissner
2001-05-17 16:34             ` Tom Rini
2001-05-18  7:43               ` Eric S. Raymond
2001-05-18  8:20                 ` Alan Cox
2001-05-18 14:53                   ` Eric S. Raymond
2001-05-18 14:06                     ` David Lang
2001-05-18 15:09                     ` Keith Owens
2001-05-18 15:19                       ` Arjan van de Ven
2001-05-18 15:39                       ` Alan Cox
2001-05-18 15:58                         ` [kbuild-devel] " Eric S. Raymond
2001-05-18 16:01                           ` Alan Cox
2001-05-18 16:34                             ` Eric S. Raymond
2001-05-18 16:43                               ` Christoph Hellwig
2001-05-18 16:45                               ` Arjan van de Ven
2001-05-18 17:17                                 ` Eric S. Raymond
2001-05-18 17:22                                   ` Arjan van de Ven
2001-05-18 17:25                                     ` Eric S. Raymond
2001-05-19  5:54                                 ` Ben Ford
2001-05-18 17:33                               ` Alan Cox
2001-05-18 18:25                                 ` Eric S. Raymond
2001-05-18 19:13                                   ` Alan Cox
2001-05-18 19:44                                     ` Eric S. Raymond
2001-05-18 20:38                                       ` Alan Cox
2001-05-19  1:49                               ` Aaron Lehmann
2001-05-18 19:12                       ` Jes Sorensen
2001-05-18 15:11                     ` Arjan van de Ven
2001-05-18 15:26                       ` Eric S. Raymond
2001-05-18 15:34                         ` Charles Cazabon
2001-05-18 14:30                           ` David Lang
2001-05-18 15:47                             ` Charles Cazabon
2001-05-18 15:42                           ` Alan Cox
2001-05-19  5:44                           ` Ben Ford
     [not found]                           ` <mailman.990252541.15890.linux-kernel2news@redhat.com>
2001-05-19  6:40                             ` Pete Zaitcev
2001-05-19 10:10                               ` Ben Ford
2001-05-19 10:55                                 ` Arjan van de Ven
2001-05-19 16:13                                 ` Alan Cox
2001-05-19 21:54                                   ` Ben Ford
2001-05-20  0:08                                     ` Alan Cox
2001-05-18 15:37                         ` Arjan van de Ven
2001-05-18 15:49                           ` Eric S. Raymond
2001-05-18 16:16                             ` Arjan van de Ven
2001-05-18 17:04                               ` Eric S. Raymond
2001-05-20 11:19                           ` David Woodhouse
2001-05-20 15:18                             ` Eric S. Raymond
2001-05-20 15:34                               ` Keith Owens
2001-05-20 15:34                             ` David Woodhouse
2001-05-20 15:44                               ` Eric S. Raymond
2001-05-20 15:56                               ` David Woodhouse
2001-05-20 17:14                                 ` Background to the argument about CML2 design philosophy Eric S. Raymond
2001-05-21  0:45                                   ` Jes Sorensen
2001-05-21  9:14                                   ` Helge Hafting [this message]
2001-05-21 11:32                                   ` Jonathan Morton
2001-05-22 20:38                                     ` Eric S. Raymond
2001-05-21 12:15                                   ` David Woodhouse
2001-05-21 12:31                                     ` Alan Cox
2001-05-21 23:11                                     ` Jonathan Morton
2001-05-20 17:47                                 ` David Woodhouse
2001-05-20 20:47                                   ` Eric S. Raymond
2001-05-20 20:59                                     ` Arjan van de Ven
2001-05-20 21:10                                     ` Robert M. Love
2001-05-21  3:38                                       ` Nicolas Pitre
2001-05-20 22:51                                     ` David Woodhouse
2001-05-21  1:13                                       ` Eric S. Raymond
2001-05-21  6:41                                       ` David Woodhouse
2001-05-21 10:04                                         ` Eric S. Raymond
2001-05-21 11:05                                         ` David Woodhouse
2001-05-21 20:38                                       ` John Stoffel
2001-05-22  0:59                                         ` Keith Owens
2001-05-22  9:24                                           ` Daniel Phillips
2001-05-23  1:51                                             ` Keith Owens
2001-05-21 23:00                                       ` Jonathan Morton
2001-05-22 13:45                                       ` David Woodhouse
2001-05-22 16:21                                         ` John Stoffel
2001-05-22 17:17                                         ` David Woodhouse
2001-05-21  3:33                                     ` Nicolas Pitre
2001-05-20 20:59                                   ` David Woodhouse
2001-05-20 18:31                                 ` Jonathan Morton
2001-05-20 20:13                                   ` Eric S. Raymond
2001-05-18 15:59                       ` CML2 design philosophy heads-up Jonathan Morton
2001-05-18 16:17                         ` Eric S. Raymond
2001-05-18 17:35                         ` Mike Galbraith
2001-05-18 20:03                           ` Alan Cox
2001-05-18 17:07                       ` Daniel Phillips
2001-05-18 15:38                     ` Alan Cox
2001-05-18 16:04                       ` Eric S. Raymond
2001-05-18 16:09                         ` [kbuild-devel] " Christoph Hellwig
2001-05-18 16:43                           ` Michael Meissner
2001-05-18 17:13                             ` Arjan van de Ven
2001-05-18 17:22                             ` Eric S. Raymond
2001-05-18 17:42                               ` Christoph Hellwig
2001-05-18 17:42                                 ` Alan Cox
2001-05-18 18:28                                 ` John Cowan
2001-05-18 17:23                         ` Alan Cox
2001-05-18 17:41                           ` Eric S. Raymond
2001-05-18 15:54                     ` Christer Weinigel
2001-05-18 16:02                     ` [kbuild-devel] " Kai Germaschewski
2001-05-18 19:12                 ` frank
2001-05-15 20:32     ` Jes Sorensen
2001-05-15 21:33       ` Eric S. Raymond
2001-05-18 15:19         ` Jes Sorensen
2001-05-18 15:37           ` Justin Carlson
2001-05-18 15:42           ` Eric S. Raymond
2001-05-18 15:53             ` Alan Cox
2001-05-18 15:51           ` [kbuild-devel] " John Cowan
2001-05-18 15:58             ` Christoph Hellwig
2001-05-18 16:00               ` John Cowan
2001-05-18 17:15                 ` Mike Castle
2001-05-18 17:28                   ` Christoph Hellwig
2001-05-21  0:29             ` Jes Sorensen
2001-05-21  1:58               ` Mike Castle
2001-05-21  6:33                 ` Ben Ford
2001-05-21  9:55                   ` Jes Sorensen
2001-05-21 16:59                   ` Mike Castle
2001-05-21 17:03                     ` Alan Cox
2001-05-21  7:21                 ` arjan
2001-05-21  2:10               ` Robert M. Love
2001-05-21  2:35                 ` Jakob Østergaard
2001-05-21  5:01                   ` Mike Galbraith
2001-05-21  9:58                   ` Jes Sorensen
2001-05-21 15:36                     ` Tom Rini
2001-05-21 16:24                       ` Eric S. Raymond
2001-05-21  6:11                 ` Mike A. Harris
2001-05-21 12:08                   ` Robert M. Love
2001-05-21 12:29                     ` Alan Cox
2001-05-21 16:39                       ` Brent D. Norris
2001-05-21 17:48                         ` Eric S. Raymond
2001-05-21 15:18                   ` Wichert Akkerman
2001-05-21 15:21                     ` Alan Cox
2001-05-21 15:52                     ` Alexander Viro
2001-05-21  3:47               ` Nicolas Pitre
2001-05-18 16:22           ` Steven Cole
     [not found]   ` <0105210958040I.10237@spc.esa.lanl.gov>
     [not found]     ` <20010521090130.F9965@opus.bloom.county>
2001-05-21 16:13       ` Steven Cole
2001-05-18 17:10 ` Ruth Ivimey-Cook
  -- strict thread matches above, loose matches on Subject: below --
2001-05-21  3:01 Background to the argument about CML2 design philosophy Ben Bridgwater
2001-05-21 17:36 Wayne.Brown
2001-05-21 17:58 ` Eric S. Raymond
2001-05-21 20:00   ` Urban Widmark
2001-05-22  2:42     ` Eric S. Raymond
2001-05-22 14:42     ` john slee
2001-05-22 17:28       ` Daniel Phillips
2001-05-21 19:05 Wayne.Brown

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=3B08DC75.C466BA66@idb.hist.no \
    --to=helgehaf@idb.hist.no \
    --cc=esr@thyrsus.com \
    --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