Archive for October, 2004

A new package format for desktop victory?

Thursday, October 28th, 2004

Lots of people talk about what is needed to get Linux onto the desktop and I think that one of the most important things is for “user x” (let’s presume that “user x” is completely new to Linux, barely computer literate in fact – that’s who we’ve got to target) to be able to download and install any piece of software irrespective of their distribution, kernel version or anything like that. What we need is a new package format.

Now, this package format should be able to work across all distributions, but wouldn’t replace their own native formats (if it is ever to do so, it will do so naturally). In order to avoid needing separate packages for different distributions, there needs to be a config file for the package management app, shipped with each distribution. This would contain things like where it’s libraries live, where it’s binaries live, where it’s config files live and so on. The most important thing here is the interface: there needs to be a single graphical interface common to all distributions which allows user x to simply click on a package they’ve downloaded to install it. So that will help a lot, but won’t solve every problem, so let’s keep going.

Suppose our application needs to be compiled against the installed version of glibc or something – normally this is when distribution-specific packages are needed. So what do we do about this? Our new package format should be able to handle source packages as simply as it handles binary packages. User x downloads it, clicks on it, it says “Compiling”, then “Installing”, then “Done”. It can grab all it’s configure and make options from the distribution’s config file and can do all the nasty stuff behind the scenes and completely hidden from the user. If the compilation fails, it simply needs to say “There was a problem. Click here for more information.” which will provide something user x can forward to the developers of the program if it’s a bug. If it needs a particular library to compile, it just needs to say “Please get the FooBar library from www.foobar.com then retry the installation.”. If we want to avoid sending the user off to download library after library, every distribution needs to have a Debian-style repository so that our package management app can just grab the library it needs with little or no user involvement.

So this package format will handle programs which aren’t fussy about working with different library versions – they are simply distributed as a generic binary package. If our program does need to be compiled against the installed version of glibc (for example), then it simply needs to be distributed as a source package.

So that solves our problem. Irrespective of distribution, user x can now download and install ANY program with nothing more than a click. I’m sure everyone would agree that this would make a HUGE difference to the usability of Linux and would really fire up the fight for the desktop.

LUGRadio: The Second Coming

Wednesday, October 20th, 2004

So LUGRadio is finally back after a rather long summer break. Season 2, episode 1 entitled “Back in the bad habit” has hit the mirrors today (about 5 minutes ago in fact).

In this episode the guys (excluding Matt, who was on honeymoon when it was recorded, so was replaced by Ade) talk about commercial apps on Linux, the Open Source Initiative and trying to get hold of PCs pre-installed with Debian in the UK (not an impossible task). This episode is as good as we have come to expect from LUGRadio – it’s as if there had never been a break. But certainly this episode (more than usual) isn’t suitable for listening in the workplace or around children…

This episode has been very much eagerly awaited by the LUGRadio faithful and #lugradio (on Freenode) has been busier than ever.

But a few days ago Sparkes announced that he’ll be leaving LUGRadio after the 2nd episode of the new season. Apparently he’ll be like “the Pete Best of LUGRadio” but I’m far too young to know what that means ;-)
Here’s a few quotes from the LUGRadio forums which sum up the general feeling about this:

“Shite!”
“Always very funny”
“LugRadio couldn’t have been as popular as it has, without you”

Anyway, get Season 2 Episode 1 now, and spam the world about it! Let’s spread some LUGRadio magic!

The FireFox Newspaper Ad

Tuesday, October 19th, 2004

I came across a link to a campaign (currently Slashdotted) to buy a full page ad in the New York Times for the launch of Mozilla Firefox 1.0, entirely funded by donations from the Free Software community. It’d be great to see this idea adopted by other Free Software projects, especially in the UK, as it’s a great way to attract users to Free Software. No doubt it will also get lots of editorial coverage as well, so that’s real value for money.

I must admit, I prefer to use the Mozilla suite rather than FireFox, but this is such a great idea (anything that promotes Free Software or draws users away from IE is a good thing) I just had to be part of it. So I’ve donated my £5.54 (student rate) and I’ll look forward to seeing the ad (there must be somewhere in Manchester I can get a copy of the New York Times?).

Following The Hurd

Tuesday, October 12th, 2004

I was recently reminded of the existence of GNU’s operating system, “The Hurd“, so I thought I’d give Debian GNU/Hurd a go.

The installation from CD is fully Debianised with the traditional Debian installer so thankfully not a lot of stuff needs to be done manually.

The main thing that strikes me about The Hurd is just how different it is. With it using a GNU userspace, I expected it to be pretty similar. The biggest difference is the way that hardware is accessed. Each piece of hardware has an associated “server” which has to run to provide access to it from the microkernel. So instead of a simple “ifconfig” command to configure networking, you have to do “settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 -a a.b.c.d -g e.f.g.h -m i.j.k.l” where “fgap” is the networking server, -a is the IP address, -g is the default gateway and -m is the netmask. But what did impress me was that I never had to tell it what the network card was: I just issued the generic statement above and “it just worked”. The settrans program is what you need to do anything with hardware: from configuring networking to mounting/unmounting CDs. To do something as simple as mounting a CD requires “settrans -a /cdrom /hurd/iso9660fs /dev/hd2“. Device names are different too: hd0s1 is equivalent to hda1 under Linux (is that the same as BSD device naming?).

The Hurd is of course in alpha, and that’s quite obvious. While most of the basics work, some important things don’t, such as ping, apt-get (using http or ftp – from CD is fine) and links (doesn’t respond to the keyboard once loaded). I was surprised to find that X is included – although it doesn’t work (the script for creating devices under /dev can’t create the keyboard device). I think KDE is in there as well, but obviously I can’t try it :-(

But to be honest I can’t really see what The Hurd offers compared to Linux; it just isn’t doing anything new. In fact, a lot of what it’s doing is old. As it’s been a work-in-progress so long, several design limitations have cropped up. Such as not being able to access partitions >2GB in size for example. Of course the limitations will be fixed by the time it gets to a stable release, but it’s a bit concerning that it’s starting to show it’s age before it’s even finished…

I’ll also point out that the GNU people are making a fuss about naming again – of their own damm system. The problem is that it’s commonly known as GNU/Hurd, but actually “Hurd” is the name of the servers and stuff which works around the kernel. The kernel itself is called “GNU Mach”. But the GNU people insist that the system is called “The Hurd”. Groan. Perhaps I’ll call it GNU/Hurd/GNU/Mach/GNU/GNU/GNU.

Perhaps The Hurd will become the new Linux? Once Linux becomes too mainstream I suppose us geeks will have to move onto something which requires more command-line hacking to make it work – if we don’t we’ll be in danger of losing our image :-)
But I won’t be dumping Linux anytime in the near future.

Here are a few screenshots:
The start of the Debian GNU/Hurd installation

The Debian GNU/Hurd login prompt

Debian GNU/Hurd on the net - with links

The future of Samba

Saturday, October 9th, 2004

Today I went to Sheffield for a talk by Jeremy Allison about Samba and the upcoming Samba 4 release. It was organised by the Sheffield Linux User Group and the South Yorkshire branch of the IEE. ShefLUG always organise good talks like this; I wonder why other LUGs don’t/can’t do the same.

Jeremy was saying that he thinks that NFS (even with the new NFS v4) will be completely replaced by Samba and other compatible SMB implementations by the end of 2005. I didn’t actually realise how good a protocol SMB is: I always presumed that it was full of Microsoft bloat, but it seems that the protocol itself is fine (it was originally written by IBM anyway) – it’s just Microsoft’s implementation of it that’s crap. He was also talking about just how difficult it is to make Samba talk properly with Windows systems – especially when Microsoft’s implementation of the protocol is buggy. For example, if a request is made for a file which doesn’t exist and the path requested has less than a certain number of dots, one error code is returned. If the path given has more than that number of dots, a DIFFERENT error code is given! And of course Samba has to give the error code the client expects.

What was also very interesting is the complex way in which Samba is tested against every version (and service pack) of Windows using virtual machines in VMWare. The Samba test suite is particually impressive and they’re currently trying to convince Microsoft to adopt it for future Windows releases for regression testing, as it’s such a good suite. It would be really funny if Microsoft actually go for it – it would certainly improve the quality of Microsoft’s SMB implementations, which can only be a good thing.

It was interesting to hear about plans to expand the SMB protocol and add new features not supported by Windows but which would be supported by Samba and Apple’s implementation of the protocol. I really think this is something: could this end up with Samba leading Microsoft instead of the other way around? One feature which is on the cards is adding a layer of encryption to the protocol. This would be so useful for using over the internet and other insecure networks and I think this would rapidly increase the use of SMB amongst non-Windows users. Surely someone at Microsoft would think “that’s a good idea, let’s implement it”. If Microsoft start following other companies instead of dictating to others like they always have, it must surely mark the beginning of the end…