
Since I can't be at the meeting tonight being in another town 2 hours away and all I figured I'd contribute some thoughts:
* What Linux is currently very good at.
1. Being a server for practically anything. Web, Mail, Files (Samba, NFS), Databases etc. 2. Being a firewall/router. Witness all the wireless AP's, ADSL/Cable routers etc that run embedded variants of Linux. 3. Combinations of 1 & 2. Witness medium and large businesses use of Linux. Personally I can't think of a good reason to run any other OS than Linux on a server. Unless of course you have some app that _requires_ a Windows server OS or server app like MSSQL. Or you need the heavy lifting of a 16 processor Solaris box.
* What I think is required to improve this.
Probably the best thing that could be done in the server space for Linux is improved system admin tools. Basically more tools to enable system admins to manage large (and small) deployments of Linux servers more easily. SSH and bash are great but nothing pleases SysAdmins more than tools that save them time and effort. I'd really like to see a distro that made OpenLDAP the default in nsswitch.conf. Or at least provided flick of the switch LDAP user management. RedHat/Fedora is close to providing this. But the libuser tools need a lot more development and need to be made the default toolset over the user{add,del,mod} commands. If this sounds all too ActiveDirectory like for you then you've never had to deal with a large set of networked workstations and users who want unified login. Obviously there are also a number areas in the kernel that could use improvement for servers. The SCSI sub-system for example.
* What Linux currently CAN'T do
Work as an average Joe's desktop or gaming machine. Yes I know I'm generalising here. And yes I'm aware of WineX, CrossOver, KDE 3.x, Gnome 2.x, LGP, OpenOffice and all the other neat Desktop stuff that you can get for Linux. I use a lot of them myself. However I also know of some of the frustrations of getting average Joes to use Linux on the desktop in business locations. The main problems I see are in these areas: 1) Stability. Not stability of the OS. That's pretty rock solid. But stability of the apps. Linux X apps just crash too damn much. Particularly: Mozilla/Firefox - mainly the Flash or Java plugin's fault, but plugins shouldn't crash the browser. Evolution 1.4 - damn LDAP backend is unstable as all hell. And there are a variety of other annoying bugs such as the NZDT time problem. GNOME - the panel, Nautilus, pretty much all of it crashes now and again. Rhythm box, xine, Totem, lots of others.... I don't use KDE but it probably suffers form similar issues. 2) USB support. I've had soooo many issues getting USB devices to work reliably under Linux its not funny. For example: MS Wireless Keyboard/Mice seem to get disconnected when X starts up. You have to unplug and plug them back in a few times to get them reinitialised. HP OfficeJet Multi-function printers just "disappear" from CUPS and you have to shake a dead chicken over the Printer Config applet to get them to work again. Solid state media reads just "lock up" after you've read the first couple of meg off the card. USB Cameras & scanners doing similar things. All in all I wouldn't trust Linux's USB sub-system as far as I could throw it. 3D graphics support is still very lacking and not overly stable. I've seen simple OpenGL screen savers lockup i810/i815 motherboards on a regular basis. The state of affairs is significantly better than it used to be. DRI did a lot to solve that. But nVidia is the only proprietary vendor that supports Linux to a significant degree and even their drives whilst pretty good still suffer from stability issues. One caveat is that this is all with 2.4 kernels. I've not used 2.6 much yet.
* What I think is required to help this
Apps need more testing, more bug-reports from users, more use of bounds checkers and better development practices from the OSS/FS desktop app crowd. They should also stop using C & C++. Mono, Python, Java, Perl, and Ruby should be the order of the day. Obviously better USB device drivers and subsystem. This requires better spec support from device vendors. It also requires device vendors to make less arse devices that abide by USB standards better. But this is very hard to do so the device driver writers will just have to work around hardware bugs and be much more tolerant of broken hardware. Also, _all_ USB device drivers need to be moved out of the kernel. They should all be using libusb. A broken USB device should not take down the kernel. The 3D situation will only get better as more vendors open up their specs to OSS/FS developers. And when OSS/FS developers sort out what makes the current OSS/FS drivers crash so damn often. This is going to become much more important in the coming years. Because after Longhorn comes out a lot of video card makers are going to completely drop the VGA/Textmode & 2D cores of their graphics chips.
* Some notes on advocating Linux to businesses.
Advocate Linux where it makes sense. Advocate it when it can be supported well and for a long time by local vendors. Advocate it when there will be no productivity cost to users. Don't advocate it just because you don't like Microsoft. Windows is sometimes the best option most of the time for Desktop users. Just make sure that your customers have all the other armour plating they need to work with Windows in the virus and worm infested world we live in. Regards -- Oliver Jones » Director » oliver(a)deeperdesign.com » +64 (21) 41 2238 Deeper Design Limited » +64 (7) 377 3328 » www.deeperdesign.com