[Nut-upsdev] Asking hard questions about the NUT architecture

Eric S. Raymond esr at thyrsus.com
Tue May 29 22:04:28 UTC 2007


Arnaud Quette <aquette.dev at gmail.com>:
> Carlos has perfectly answer. you tend to be too "esr centric" ;-)

What I'm trying to be is *user*-centric.  NUT is too complex for 99%
of its use cases.  At this point, if a typical Linux user asked me
"Is NUT worth bothering with?" I'd have to answer no.  The overhead
of configuring it is not worth what you get back.

Let me make that concrete.  I bought a UPS for my wife's Linux
machine.  Am I going to install NUT on it?  No.  She's using a machine
with a PCI voltage-monitor-chip and a kernel running ext3.  For her,
there would be no gain in a UPS-controlled shutdown over just letting
SIGPWR have its way.  Since she lacks my control-freaky sysadminnish
desire to peek at the UPS's event history from time to time, NUT is
irrelevant to her needs.

You could accuse me of being wife-centric and I wouldn't argue too
hard.  She's an intelligent lawyer who likes computers and enjoys the
company of my programmer friends.  She has even been known to use
Emacs occasionally, though she protests loudly when she has to do it.
So if a Linux task is too complex or irrelevant or nervous-making for
*her*, I figure it's a crash landing for 99% of users.

NUT, as it is now, fails the wife test.  There is no way she would
ever want to cope with even ups.conf; and if I tried to explain users.conf
to her, she would bail out in a hurry.

And I think she's right.  I don't think she should have to cope with that.

> I mean, MGE (and others) still sells RS232 UPSs (and is the 2nd ww
> mfr, now merging with APC !),  many people still uses dumb/smart serial
> units. Why should we leave them in the dark?!

I respond to that question with another: why do USB-UPS users still
have to edit configuration files?  Why are they paying the complexity
cost for all that legacy hardware?

> several points you've missed since you came too recently here and not
> have digged enough:

I'm listening...

> 1) HAL
> 
> Considering that HAL is becoming the de facto standard on our beloved
> and main focus systems (linux, *bsd, solaris, maybe others later on),
> good efforts have been put there.

I see a promising start, yes.  The reason I have hung around and made
trouble on your list, rather than quietly disappearing, is to try to
prod the project further in that direction.

> A basic implementation (read "something that is as good as on windows
> / OS X") will be shipped with the upcoming 2.2 "Sophie Mina" release.

Good.

> More features are coming, like DBus methods (to poweroff the UPS,
> change its HW settings, ...), along with HAL support for legacy
> devices (serial ; discussed with Dave Zeuthen on HAL and NUT), network
> support through avahi, ...

Even better.

> And I've already proposed you (feisty) packages that ships only HAL
> support (read the four NUT USB driver compiled with HAL bridging, so
> not requiering ups{d,mon})

This corresponds neatly to my suggestion that the USB driver code
should be pried loose from all the heavyweight legacy stuff at the
upper levels of NUT.  Not that I'm proposing forking the project, mind
you -- I just think that users like my wife who don't need that stuff
should not have to install it or know it exists.

> You can otherwise build your own (ln -s packaging/debian debian &&
> debuild ... ; I'm sure you're now fluent with this ;-)

No, alas, I'm not.  But if I stick around I will take it as an opportunity
to learn.

> I feel like you really have fallen into a time warp, and not have seen
> the major updates in NUT since 2 years ;-)

Sorry, I was reading the code and docs late last week, so I'm immune
to that one.

> The point on which we're ok is that the configuration is really a mess.
> I've add an intern last year to work on creating a lib and a tool to
> configure nut easilly and allow the creation of NUT Config GUIs. Note
> that the tool can be called by hotplug / udev on non HAL systems.

I read the documentation on this.  It's a good direction, except I'm a
little worried that having a configuration GUI might turn into an
excuse for not being zero-configuration in the (large majority of)
cases where that's possible,

> the plan is now to lobby for including the nut-hal-drivers (providing
> hal-ups-support and conflicting with nut) in the base system, without
> depending on it. This way, the system will allow out of the box
> support for USB devices, while allowing users to install the "classic"
> nut

Well, good.
 
> welcome to our wonderful UPS world Eric ;-)
> as you can see, we don't lack ideas, innovations, nor user focus,

Indeed, ideas and innovation NUT doesn't lack.

On 'user focus', the evidence is mixed.  You, yourself, seem to be
reasonably clued in about that -- though not as determined on it as I am.
A lot of the responses I've been getting, though, reveal the 
prejudices of crusty old-line Unix geeks like I used to be before
I started paying attention to UI.  That is anything but user-focused.

> but we really miss time, and manpower for coding, documenting, and
> marketing (lobbying, website, ...)

Notice that I have not gone away.  I could be persuaded to put some
effort into these.  Where do you need it most? 
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



More information about the Nut-upsdev mailing list