HealthCheck: Samba
Samba - The Interoperability Dance
by Richard Hillesley
Samba is an open source re-implementation of the SMB/CIFS networking protocol used by Windows, and is used by most Linux and Unix distributions, including Apple's Mac OS X, to provide full file client and server interoperability with Windows networks.
Samba began life in 1992 as "a bit of a hack", written 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 discs on a Sun workstation, through DEC Pathworks, running on Vax and Ultrix networks, and matured rapidly as a means to share files on Windows networks with Linux and Unix servers. The project was known as smbserver until Tridgell "received a letter from a manager at Syntax Corp" telling him that 'smbserver' was already a registered trademark.
Tridgell wrote later, "I ran an egrep for words containing S, M, and B on /usr/dict/words and the name Samba looked like the best choice," although "strangely enough, when I repeat that now I notice that Samba isn't in /usr/dict/words on my system anymore..."
Asteroid prospecting
Samba is independent, developer-driven, and uncompromisingly free software. Samba may be a highly useful and productive project, but fun is very definitely part of the process. As Samba lead developer Jeremy Allison has observed "People have always made music. Once human beings had computers available, software became just like music. People create software the same way they create music. They really do. You don't do it because you get paid for it. You do it because it's fun. Samba is the equivalent of a garage band that made it big."
Or as the GNU manifesto puts it: "In the long run, making programs free is a step toward the post-scarcity world, where nobody will have to work very hard just to make a living. People will be free to devote themselves to activities that are fun, such as programming, after spending the necessary ten hours a week on required tasks such as legislation, family counselling, robot repair and asteroid prospecting." Part of the incentive for being involved in a free software project is that your incentives are your own. The informality of the distributed development model, and its ability to allow participants to find their own level, encourages innovation and initiative, beyond the reach of commercial structures.
Samba very quickly became a valuable piece of merchandise to the Linux and Unix companies, who have sponsored its development and employed the Samba Team's key developers, although notably in the case of Allison, the developers have quickly left their jobs rather than accept any compromise to the integrity of the project. Like the developers of other key free and open source projects, the Samba Team are mostly employed by third parties to do what they would be doing anyway, working on Samba and programming for fun, while getting paid for it. The attraction for the employing companies is that they get an invaluable piece of software for the price of one or two developers and an ear to their requirements, but as Allison points out "free software is not incompatible with commercial activity".
He recounts the story of an appliance vendor he bumped into at a trade show who said to him, "'The press have given you a bum deal. I came here thinking you were a bunch of free software zealots, that you were all crazy, but you're some of the easiest people to work with. You're flexible and do what people need. Why don't people know that?'" At the other end of the scale, in the early days of Samba "a commercial competitor who shall remain nameless offered around $40 million for the rights. They were refused."
Even Microsoft employees have contributed to Samba, which is often used internally for testing purposes. Tridgell noted that version 1.5.20, back in 1993, "included the first patch from a Microsoft employee, with Lee Fisher adding a debug statement to SMBcreate of a volume ID. Lee was a big supporter of Samba in the early days and even sent me a copy of the X/Open specification, paid for out of his own pocket (it was quite expensive and I was a poor student)."