public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: esr@thyrsus.com
Cc: Arjan van de Ven <arjanv@redhat.com>, linux-kernel@vger.kernel.org
Subject: Re: Background to the argument about CML2 design philosophy
Date: Sun, 20 May 2001 18:47:31 +0100	[thread overview]
Message-ID: <18686.990380851@redhat.com> (raw)
In-Reply-To: <20010520131457.A3769@thyrsus.com>
In-Reply-To: <20010520131457.A3769@thyrsus.com>  <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>


Thankyou for the clarification.

esr@thyrsus.com said:
>  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 think you already have the mechanism required to answer this - in NOVICE 
mode you disallow the strange choices, in EXPERT mode you allow them.

Embedded boards are a special case in this respect - people add all manner
of strange crap to the reference designs - believe me, I've seen the ways in
which they can fuck it up and yet still they manage to amaze me sometimes.

And because of the multitude of ways in which the monkeys who glue together
these boards can fuck it up, often you really really want to ignore the
on-board Ethernet, for example, and use the PCMCIA card you plugged in,
because they actually managed to route the PCMCIA interrupt to an IRQ line,
not a GPIO pin.


esr@thyrsus.com said:
> 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
> order to hold down ruleset complexity and simplify the user
> experience.  The cost of deciding that the answer to that question is
> "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.

As I said earlier, there are two main cases which should be considered
entirely separately. There are the cases which are insane, and which won't
ever work, or probably even compile. Those should be hard-coded off in the 
ruleset and it should not be possible to enable them without hacking.

For the cases where we just want to make life simpler for the users, the 
constraints should be dependent on the user mode. In NOVICE mode you hide 
them, in EXPERT mode you make them available.



The current (CML1) solution has problems, and it only provides real support 
for a small range of people at the hacker end of the spectrum.

Making CML2 useful for a far wider range of people is a laudable goal. But
please take care to ensure that the set of people for whom CML2 is useful is
a strict superset of those for whom CML1 was useful.

In particular, please don't strive to make Aunt Tillie happy on the one
occasion on which she configures her kernel at a cost of rendering CML2 less
useful for those for whom kernel configuration is an every-day task. Once 
weighted appropriately, that tradeoff is particularly easy to decide upon.

If you ever find yourself seriously suggesting that a developer would need
to ditch CML2 and hack the config files directly in order to compile support
for, for example, the DiskOnChip he just dropped into the DIL socket in his
Ethernet card, then I would suggest that you have made a wrong choice
somewhere down the road. Please backtrack and reconsider an earlier decision
before you're eaten by a grue.

We already have a distinction between config options which it's sensible to 
ask the user, and options for which you have to hack #defines in the source 
code. The options which I have put into drivers/mtd/Config.in are there 
because I _wanted_ the user to see them. The options which are hidden in 
the code are there because I made the opposite decision.

There is a reasonably well-defined boundary for such things already, and
it's found all over the kernel. Adding a new, higher boundary for Aunt
Tillie is just fine - but please don't _move_ the existing one that most of
us care about.

--
dwmw2



  parent reply	other threads:[~2001-05-20 17:47 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
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 [this message]
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=18686.990380851@redhat.com \
    --to=dwmw2@infradead.org \
    --cc=arjanv@redhat.com \
    --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