We won and we didn't notice
A conversation with Jeremy Allison of Samba
by Richard Hillesley
On a recent visit back to the UK, lead Samba developer Jeremy Allison met up with Richard Hillesley. Richard here relates Allison's description of the history of his involvement with open source, Linux and Samba.
Jeremy Allison is a steelworker's son from Sheffield in South Yorkshire and a Samba developer who has lived in California for twenty years or more, but who has retained much of the accent, humour and politics of his youth.
He was in the UK during the recent riots and "got to enjoy them first hand", but says he doesn't miss much about England other than the company of his family and friends and an occasional hankering for a jar of Branston Pickle or a tin of baked beans; the kind of things you don't imagine you'll miss until you are living somewhere else.
In California the sun always shines and he is paid to work on the things he would be working on anyway: coding and debugging Samba.
Samba is a free software re-implementation of the SMB/CIFS networking protocol originally developed at IBM and used by Windows. Samba is used by most Linux and Unix distributions to provide full file client and server interoperability with Windows networks, but was first developed to interact with DEC's Pathworks implementation of SMB.
Samba began life in 1992 as "a bit of a hack" by Andrew Tridgell on his university computer in Canberra, Australia, while "procrastinating the stuff [he] was supposed to be doing" for his PhD. The initial hack was to use DOS to mount disks on a Sun workstation through DEC Pathworks running on Vax and Ultrix networks, and it matured rapidly as a means to share files on Windows networks with Linux and Unix servers.
Richard Stallman and the GPL
Allison has been involved in free software since before Samba and the arrival of Linux, and began to work on Samba early. "I came across the GPL early in my career", he says, "and it immediately struck me as a good idea. I had the honour of having one of my patches (to add position independent code support to GCC on the Sun 386i) rejected by Richard Stallman himself. It always reminds me of that great web-magazine headline from The Onion: 'God answers crippled child's prayer. "No", says God.' With a start like that, I never looked back."
The rejection "wasn't as nasty as it sounds", he says. "The patch was crappy but worked for me. I didn't meet Richard until much, much later. The first time was at a show in Monterey where he stood up and called John Ousterhout 'a parasite' because he'd released a proprietary version of the TCL ToolKit, and Tim O'Reilly 'a parasite' because he wasn't shipping free documentation..."
"I won't say I am friends with Richard, but that's not because I don't like him, but because he is a difficult person to get to know and doesn't make casual friends. He doesn't know me from Adam. I've seen Richard talk many times, and to him I am just another fanboy who comes up afterwards and grabs his hand and says 'Oh my God, you're such an inspiration.'"
Softcraft and Minix
Allison's first experience of Linux came when he installed Softcraft, an obscure and long forgotten distribution that "came on a bunch of floppies from a local consulting company. Softcraft was one of the first consulting companies I can remember that was run by a woman. We hired them to do some work at Vantive, and they had their own distro. I've still got a Softcraft Linux mug in my house."
This was "somewhere around 1994... before version 1.0". Linux had been around for a year or two, but didn't have a working TCP stack, and until it had a TCP stack "it was a waste of space for us. We did the early Samba development on SunOS or Solaris. Back in those days there were many UNIX – 'pay me 100 bucks and you'll have a UNIX-like or UNIX compatible operating system' – like systems, and Linux was just one among many, and they were all pretty much the same, and I didn't have the time to fix anything."
"I had played with Minix when I was younger, when I had the time to fix SCSI drivers. But by the time Linux came out I had a job. Many of the people who later became top kernel hackers were younger than me, and had the time to work on it. When I had the time there wasn't a Linux. There was only Minix, so I cut my teeth working on Minix..."
My opportunity was Samba. I happily stole time from my employer at the time, Vantive, to work on Samba. Stealing is too strong a word for it, because I told them I was doing it, and they were happy because they were having to use PC-NFS, and PC-NFS sucked. So when I came to them and said, 'We have this new file server that I've been working on. Why don't you try it?' – they were great. Spending ten hours a week on Samba wasn't what they were paying me for, but they were happy with what I was doing."