DragonFly kernel List (threaded) for 2003-12
Re: configuration files
:This kind of argument (and I don't mean just the last statement)
:comes up often, so let's think about it this way:
:There are improvements from the OS point of view, and there are
:improvements from the user's point of view.
:One can argue that all improvements to the OS are ultimately
:improvements from the user's point of view, but not all
:improvements from the user's point of view are improvements to the
:OS. Some are, however, necessary.
:Examples of each case:
:1) Bug fixes, better performance, etc. improve the OS and
: ultimately improve the user experience.
:2) A genuinely cool idea like a MySQL backend for /etc with
: triggers that SIGHUP daemons improves the user experience,
: but does little to help the OS.
:3) Device support improves the users experience, and is necessary
: for usability, but certainly complicates things for the OS.
:This is not a statement against improving the user experience, just
:a short reminder that the should at least OS come first... Or to
:paraphrase, "Ask not what your OS can do for you, ask what you can
:do for your OS."
:Just my opinion (but hopefully a well thought out one),
I think, ultimately, what matters is how things improve from
a sysop's functionality and ease-of-use perspective. It's all well
and fine to talk about the capabilities of XML, but there's no point
if the capabilities aren't useful for the particular real-world task
being contemplated (or, more to the point, more useful then what we
could get out of RCNG's existing capabilities).
RCNG is a great example of this. RCNG already had the ability
to 'start' and 'stop' subsystems, and RCNG already contains all
the dependancy information required to deal with dependant subsytems.
But how many people do you know actually go to the trouble of CD'ing
into /etc/rc.d and running ./blah start and ./blah stop on a regular
Even though it is not difficult to do the above, from an ease of
use perspective there is a huge difference between doing the above
and doing, say, a one-line 'rcstart subsystem_name' command as root.
But in less then a day I was able to make significant improvements
to the use of the meta-information embedded in the RCNG scripts
which enables rcstart/rcstop (and future work) to take advantage of
it in a manner that presents a simple, straightforward, 'easy to use'
interface to the user/sysop.
XML would not make any of this work any easier. No matter what form
the data is in, you still have to process it in a manner that benefits
the target function. In the case of RC stuff that means dealing with
fairly complex dependancy graphs. In fact, XML would make the work
a whole lot harder. I wonder how many of you have actually *LOOKED*
at the files in /etc/rc.d ... some of those scripts do rather complex
things that really can only be done in a shell script. XML would only
add unnecessary layers of complexity and not actually allow us to
remove any of the existing complexity. Another example: half the RCNG
scripts do not support 'stop'. Reimplementing in XML would not magically
cause 'stop' to be supported. In otherwords, you still have to do the
work required to implement the 'stop' function for those subsystems that
do not have it.