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.