Leapfrogging NT 5
(or why I think linuxconf is fabulous)
Matthew Arnison
NT 5 has a secret weapon. It's called abstraction. Microsoft has of course
given it a much worse name. The Management Console. And of course the best
tactic for linux world domination is to know thy enemy - especially their
secrets.
Have you seen Microsoft's Small Business Server? I've been
setting it up for a client (after putting a solid case for
linux and losing, so far). The press has been pretty quiet
about it, so I'll fill in the details. It's basically NT
Server 4, with Exchange mail server, a database, a proxy,
and a bunch of paternal assumptions about how you're going
to use it. It's crippled so it maxes out at 25 clients. I
reckon it's effectively a beta for a crucial part of NT 5.
This secret weapon is designed to make it easier to learn
how to manage servers.
Now don't get me wrong. I haven't fallen in love with NT.
None of the linux partitions I work with elsewhere need be
in fear of their boot records. For me NT is obtuse (where
is anything in that registry?), grandiose (it takes 10
minutes to shut down), difficult to fathom (took ages to
find the scattered documentation, why didn't they put it in
/usr/doc?), and not well documented. Unix
interoperability? Hah! The telnet client is brain dead
(even in Win98). If you're a good kid and don't do nothing
your parents didn't expect, it pretty much does the job.
Stray outside the curfew, and you're not going to get much
help.
But there's one thing about Small Business Server I have to
admire. That console! All the common management tasks are
arranged in simple categories, that make sense to someone
who's used a computer, as opposed to just network
administrators. Laid out like a glossy web page, you can
choose to work on:
Manage Shared Folders
Managing Users
Managing Email
Internet Access
Disks
Backup
Printers
Faxing
If we take a look at the email section, it contains buttons you can click on to
make distribution lists, generate reports on email usage, or troubleshoot
problems. Areas where they haven't integrated yet, contain links to
documentation and the relevant control panel. When you first start out, there's
a great To-do list you can use to check off the items that need doing to get
the server useful.
It's self documenting. It helps new system administrators get on their feet.
There's still an awful lot of networking to be done before all pootas are fully
wired, so Microsoft is betting they'll take share if their system is easiest
for newcomers. I reckon it's like what happened to Word Perfect when Windows
came along. I mean why the hell should I have to remember Alt-F4 for block and
F8 for bold when I could just swipe the mouse and hit a big fat B on a tool
bar? Several generations down, Microsoft has dominated (not invented mind you)
the paradigm, and we all suffer their file format craziness. So if they
abstract managing network servers, back to administration tasks, rather than
poota particulars, they're well set.
Not so fast Microsoft. We're onto you. You're not worth it in the long run.
All we have to do is build linuxconf, or wedmin, up to the same standard. It
can be done in free software, even for GUI software, look what the Gimp just
did. But in fact it won't be the same standard. It'll be better. Notice how
the Gimp version *one* has scripting, and web pages depending on it, whereas
Photoshop took until version 4 for such access to its internals.
The thing is, left to their devices, Microsoft will stuff up the abstraction of
server management, the same way they've stuffed up Word, and Windows, in a lot
of respects aside from marketing ones.
Abstraction is damn important. One of my projects is maintaining a community
activist internet server. Of course we run linux. But the frustrating thing
for me is trying to pass on the knowledge of running the server. Other people
in the collective don't have time to store all those linux pieces of detail in
their head. I can't easily break down the knowledge into layered parts, and
there's so much it takes weeks or months before a new person starts to feel
confident beyond simple monkeying of shell commands. Abstraction lets new
people take on the simple routine tasks of running a server. Adding users.
Checking internet usage. Resetting the modem. Backup. Assigning web space to
new writers. Manufacturing a majordomo mailing list.
But it needn't take away our power over the fundamentals of the system. This
is where I reckon Microsoft gets up the nose of you and me. So I can add a
user with a wizard, but what if something goes wrong? The new user's settings
might be scattered all over that registry. Or say I want to be absolutely sure
of how the pieces of my system fit together. I need access to simple
authoritative, readable, changeable, text configuration files. Ultimately, I
need the source code.
I don't know what Microsoft were thinking when they
invented the registry. Variables seem to be all over the
place. I can't read the registry, like I can with text
configuration files. It's even worse than sendmail.cf!
I can't leave comments in there to others administering
the server. I can't bloody find anything! To top it off,
it's binary, so a simple pointer mistake can total the
whole caboodle.
This is Microsft's weakness. In their arrogance, they assume not only that
their user interface will suck everyone in, but that it will work 100% of the
time, and no-one really needs to get behind the scenes.
And this is the strength of linuxconf. It presents the things that can be
maanged on a network server. It lets you change things, presenting the options
available to you without getting distracted by a HOW-TO or a manual page. It
lets me write a working sendmail.cf with SMTP and UUCP without going for that
m4 stuff (heaven!) Just like compiling a kernel, every option has context
help. It lets me change things by hand, and reads those changes back in next
time it runs. When it goes to change things, it gives me the option of
watching the internals, as daemons get reset, and config files altered.
Treasure of treasures, it works in text mode or under X windows, and there's a
web interface!
It's not terribly GUI, but it's the first step. It has plugins, but as far as
I can tell, they're C++. The help text could do with a polish.
The GUI needs to get practical. Get organised around common tasks that server
admins need to do. Get context. Get attractive.
The plugin interface need to get promiscuous. No matter what language my linux
program runs in, I should be able to dash off a plugin for linuxconf, so that I
know more people will have access to the power and features of my program.
Even better if parts of linuxconf mutate over to other Unices. And to Windows
(shame about the rego). Better think about changing that name, something more
poetic than linuxconf, perhaps?
If linux wants to be a better server than NT, it has to appeal to both old
hands (we're winning there) and fresh faces. Fresh faces are more likely to be
interested in getting the job done, rather than how it works - otherwise they'd
be old hands already. The system's power is useless if it's not approacable.
And keep the old hands loyal and the fresh faces learning by building it on a
robust, stable system, that has easy access to innards.
This can be done, and quickly. We can outwit Microsoft - before they even
realise their secret weapon is the killer app, linux comes up with a better
one.
Microsoft has given linux atleast a 6 month breather. Don't give them time to
regret it. Leapfrog 'em.