Subject: Re: making an existing feature optional (Re: CVS commit: src/sys/arch)
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Greg Troxel <gdt@ir.bbn.com>
List: tech-kern
Date: 08/08/2005 08:08:01
I don't have a problem with negative options like VMNOSWAP.  This
raises the issue of what's considered normal in a kernel, and what's
extra.  Leaving hardware support out, we end up with

 required: no way to build the kernel without it.  Perhaps doesn't
 even show up in config.

 normal: Omitted only in unusual circumstances.  Lack of this option
 would violate the Principle of Least Astonishment for most users in
 normal circumstances.

 typical: often present, but perhaps not

 optional:

By having VMNOSWAP as a negative option, we would essentially be
declaring that VMSWAP belongs in the 'base' kernel.

Looking to the future, it would be nice if more features could be
omitted in order to get smaller kernels.  So the notion of having
'options VMSWAP' in a standard conf file and 'no options' to remove it
seems nice; it's an alternate way to encode the 'VMSWAP is normal'
notion, and while a bit more complex in this case will probably scale
better to tens of normal-but-can-be-removed options.

-- 
        Greg Troxel <gdt@ir.bbn.com>