Slaying an 800 Pound Guerilla: An interview with Andrew Tridgell, creater of Samba
by Joe RoyallDecember 1997
For years Microsoft only provided the client systems on corporate LANs leaving
UNIX and IBM to supply all services necessary to using PCs on a network. With the
introduction of Windows NT, Microsoft has taken out a full assault on UNIX and IBM's
marketplace, first by providing file and print services to its existing client base
and then by leveraging that installed base to supply a variety of enterprise applications.
On the heels of Microsoft's success, Linux has begun to supplant NT in its core
market place, providing file and print services to Microsoft client systems via
the Samba application suite.
Like Linus Torvalds, whose interest in how the Intel 386 worked, turned into the
development of Linux. Andrew Tridgell wanted to learn how Microsoft performed file
and print sharing. The result is Samba. Samba is licensed freely under the GNU Public
license and is available on almost any platform, especially Linux.
Joe: How did you get started on Samba?
Andrew: It originally started in December 1991. I was a PhD student in the
Computer Sciences Laboratory at ANU and had a Windows PC on my desk. I wanted access
to X windows apps on a Sun workstation so I offered to beta test a PC X server from
Digital called WindX (now called Xcursion I believe). When it arrived I discovered
that it didn't work with the PC-NFS TCP stack that I was using at the time, it required
the Pathworks TCP stack. This meant I had to abandon NFS on my PC.
Being a PhD student prone to procrastination I decided to work out the protocol
that Pathworks used by sniffing the packets and staring at them in emacs. I then
implemented this on a Sun workstation. That was "server-0.1" which was the predecessor
to Samba. It wasn't till years later that I found out the protocol was actually
called SMB and is (partly) documented.
Joe: So where did the name Samba come from?
Andrew: A commercial competitor to Samba called Syntax wrote to me one day saying
they had the trademark on the name "SMB server", which was what Samba was then called.
I needed to come up with a new name quickly so I ran "egrep '^s.*m.*b' /usr/dict/words'
and the name Samba was the obvious choice. Salmonberry just didn't have the same
ring to it :-)
Joe: Has Microsoft given you any flack?
Generally Microsoft has been quite supportive of Samba. They have sent us loads
of free software (NT, Win95, Office etc) to help us debug Samba and even paid for
a couple of people in the Samba team to fly to the US for the first CIFS conference.
We've formed quite a good working relationship with several Microsoft programmers
which has really helped.
There have been some notable incidents where Samba has (incorrectly) come under
fire from the Microsoft PR people but the technical people have been good. They
even sent me an apology for one of the PR announcements.
There is also the problem that some parts of the protocol are still considered proprietary
by Microsoft (such as the NT domain protocols). This doesn't sit very well with
their standardization efforts. Hopefully these areas of contention will become less
important as we work out how things work for ourselves.
I also think it's a mistake to think of Microsoft as a single entity. It is a large
company and like all large companies there are lots of different opinions and attitudes.
Joe: How about a job offer from Microsoft?
Andrew: A few members of the Samba team have had job offers of one sort or another
from Microsoft. That's not really very surprising. I don't want to work for them
because of the restrictions it would place on the work I do on free software. I
program because I enjoy it, whether I get paid is secondary.
Joe: A lot of people have concerns about using SMB/NetBIOS on the Internet.
Is there a safe way to use Samba on the Internet?
Andrew: It depends what you mean by "on the internet" and "safe"! Samba is in use
at many sites to provide public SMB access to various resources. It is not inherently
any less safe than many other file distribution systems. There was one nasty buffer
overflow bug in versions of Samba prior to 1.9.17p2 but as long as you keep uptodate
then using Samba in this way is not unreasonable. It just depends on how strict
your local security policy is.
I would not generally recommend allowing external SMB (ie. TCP/139) access to your
users PCs though. It is too easy for users to compromise the security of their files
and there have been too many security holes found in the Microsoft SMB servers.
It is interesting that Microsoft no longer run a public SMB server themselves, possibly
because of some nasty experiences.
At ANU we block all external access to ports 137-139. Most internet connected sites
should probably do the same unless they have special requirements.
Joe: What are you major development concerns? What is your "to do" list? Any
thoughts for version 2 and 3?
Andrew: There are lots of things going on at the moment in Samba. We are close to
a 1.9.18 release which adds some very nice WINS functionality and opportunistic
locking.
Beyond that the next major thing will be the full domain controller support that
Luke is working on. He has made great progress with that. Version 2 will probably
be the version where we get this working properly.
If you look at the Samba cvs logs then you'll get some idea of the pace of Samba
development. There have been about 400 commits to the cvs tree in the last month.
Joe: How is development on replication between BDCs and PDCs going?
Andrew: Once the domain controller support is working well we can look at replication.
I haven't looked at the replication protocols in much detail so I don't really know
if there are any major issues with
providing that functionality. Luke may know more.
Joe: Any luck on getting the specifications for replication out of Microsoft?
Andrew: Microsoft consider the whole NT domain protocol proprietary. It seems unlikely
that they would help us with that. Once we have a implementation in place they may
be more forthcoming.
Joe: The user based for Samba is growing fast, how about development support?
Andrew: If you mean vendors supporting the further development of Samba then that
is starting to happen. SGI, Digital, Sun and NEC have all donated workstations to
Samba team members to help in the development of Samba. We're also starting to see
interest from major Unix vendors in shipping Samba as standard on some platforms,
with full 24 hour support from the vendors. That would be nice as is sure to lead
to useful code contributions from the vendors.
It also great that Jeremy now works full time for a company (Whistle Communications)
that uses Samba in one of its products. Jeremy can now spend all his time working
on Samba. Whistle is a very free software friendly company.
Joe: Any thoughts on requirements for supporting NT 5.0?
Andrew: I haven't tried NT 5.0 myself but I think the basic SMB functionality won't
be a problem. It looks like there will be some issues regarding the new kerberos
authentication stuff and LDAP but it's really too soon to say what will happen with
those. You can be sure that whatever modifications are needed to Samba to integrate
well with NT 5.0 will happen fairly quickly.
Copyright 1997