1Contributor: Andrew Tridgell and the Samba Team 2Date: June 27, 1997 3Satus: Always out of date! (Would not be the same without it!) 4 5Subject: A bit of history and a bit of fun 6============================================================================ 7 8This is a short history of this project. It's not supposed to be 9comprehensive, just enough so that new users can get a feel for where 10this project has come from and maybe where it's going to. 11 12The whole thing really started in December 1991. I was (and still am) 13a PhD student in the Computer Sciences Laboratory at the Australian 14National University, in Canberra, Australia. We had just got a 15beta copy of eXcursion from Digital, and I was testing it on my PC. At 16this stage I was a MS-DOS user, dabbling in windows. 17 18eXcursion ran (at the time) only with Dec's `Pathworks' network for 19DOS. I had up till then been using PC-NFS to connect to our local sun 20workstations, and was reasonably happy with it. In order to run 21pathworks I had to stop using PC-NFS and try using pathworks to mount 22disk space. Unfortunately pathworks was only available for digital 23workstations running VMS or Ultrix so I couldn't mount from the suns 24anymore. 25 26I had access to a a decstation 3100 running Ultrix that I used to 27administer, and I got the crazy notion that the protocol that 28pathworks used to talk to ultrix couldn't be that hard, and maybe I 29could work it out. I had never written a network program before, and 30certainly didn't know what a socket was. 31 32In a few days, after looking at some example code for sockets, I 33discovered it was pretty easy to write a program to "spy" on the file 34sharing protocol. I wrote and installed this program (the sockspy.c 35program supplied with this package) and captured everything that the 36pathworks client said to the pathworks server. 37 38I then tried writing short C programs (using Turbo C under DOS) to do 39simple file operations on the network drive (open, read, cd etc) and 40looked at the packets that the server and client exchanged. From this 41I worked out what some of the bytes in the packets meant, and started 42to write my own program to do the same thing on a sun. 43 44After a day or so more I had my first successes and actually managed 45to get a connection and to read a file. From there it was all 46downhill, and a week later I was happily (if a little unreliably) 47mounting disk space from a sun to my PC running pathworks. The server 48code had a lot of `magic' values in it, which seemed to be always 49present with the ultrix server. It was not till 2 years later that I 50found out what all these values meant. 51 52Anyway, I thought other people might be interested in what I had done, 53so I asked a few people at uni, and noone seemed much interested. I 54also spoke to a person at Digital in Canberra (the person who had 55organised a beta test of eXcursion) and asked if I could distribute 56what I'd done, or was it illegal. It was then that I first heard the 57word "netbios" when he told me that he thought it was all covered by a 58spec of some sort (the netbios spec) and thus what I'd done was not 59only legal, but silly. 60 61I found the netbios spec after asking around a bit (the RFC1001 and 62RFC1002 specs) and found they looked nothing like what I'd written, so 63I thought maybe the Digital person was mistaken. I didn't realise RFCs 64referred to the name negotiation and packet encapsulation over TCP/IP, 65and what I'd written was really a SMB implementation. 66 67Anyway, he encouraged me to release it so I put out "Server 0.1" in 68January 1992. I got quite a good response from people wanting to use 69pathworks with non-digital unix workstations, and I soon fixed a few 70bugs, and released "Server 0.5" closely followed by "Server 1.0". All 71three releases came out within about a month of each other. 72 73At this point I got an X Terminal on my desk, and I no longer needed eXcursion 74and I prompty forgot about the whole project, apart from a few people 75who e-mailed me occasionally about it. 76 77Nearly two years then passed with just occasional e-mails asking about 78new versions and bugs. I even added a note to the ftp site asking for 79a volunteer to take over the code as I no longer used it. No one 80volunteered. 81 82During this time I did hear from a couple of people who said it should 83be possible to use my code with Lanmanager, but I never got any 84definite confirmation. 85 86One e-mail I got about the code did, however, make an impression. It 87was from Dan Shearer at the university of South Australia, and he said 88this: 89 90 91 I heard a hint about a free Pathworks server for Unix in the 92 Net channel of the Linux list. After quite a bit of chasing 93 (and lots of interested followups from other Linux people) I 94 got hold of a release news article from you, posted in Jan 92, 95 from someone in the UK. 96 97 Can you tell me what the latest status is? I think you might 98 suddenly find a whole lot of interested hackers in the Linux 99 world at least, which is a place where things tend to happen 100 fast (and even some reliable code gets written, BION!) 101 102I asked him what Linux was, and he told me it was a free Unix for PCs. 103This was in November 1992 and a few months later I was a Linux 104convert! I still didn't need a pathworks server though, so I didn't do 105the port, but I think Dan did. 106 107At about this time I got an e-mail from Digital, from a person working 108on the Alpha software distribution. He asked if I would mind if they 109included my server with the "contributed" cd-rom. This was a bit of a 110shock to me as I never expected Dec to ask me if they could use my 111code! I wrote back saying it was OK, but never heard from him again. I 112don't know if it went on the cd-rom. 113 114Anyway, the next big event was in December 1993, when Dan again sent 115me an e-mail saying my server had "raised its ugly head" on 116comp.protocols.tcpip.ibmpc. I had a quick look on the group, and was 117surprised to see that there were people interested in this thing. 118 119At this time a person from our computer center offered me a couple of 120cheap ethernet cards (3c505s for $15 each) and coincidentially someone 121announced on one of the Linux channels that he had written a 3c505 122driver for Linux. I bought the cards, hacked the driver a little and 123setup a home network between my wifes PC and my Linux box. I then 124needed some way to connect the two, and I didn't own PC-NFS at home, 125so I thought maybe my server could be useful. On the newsgroup among 126the discussions of my server someone had mentioned that there was a 127free client that might work with my server that Microsoft had put up 128for ftp. I downloaded it and found to my surprise that it worked first 129time with my `pathworks' server! 130 131Well, I then did a bit of hacking, asked around a bit and found (I 132think from Dan) that the spec I needed was for the "SMB" protocol, and 133that it was available via ftp. I grabbed it and started removing all 134those ugly constants from the code, now that all was explained. 135 136On December 1st 1993 I announced the start of the "Netbios for Unix" 137project, seeding the mailing list with all the people who had e-mailed 138me over the years asking about the server. 139 140About 35 versions (and two months) later I wrote a short history of 141the project, which you have just read. There are now over a hundred 142people on the mailing list, and lots of people report that they use 143the code and like it. In a few days I will be announcing the release 144of version 1.6 to some of the more popular (and relevant) newsgroups. 145 146 147Andrew Tridgell 1486th February 1994 149 150--------------------- 151 152It is now May 1995 and there are about 1400 people on the mailing 153list. I got downloads from the main Samba ftp site from around 5000 154unique hosts in a two month period. There are several mirror 155sites as well. The current version number is 1.9.13. 156 157--------------------- 158 159 160--------------------- 161It's now March 1996 and version 1.9.16alpha1 has just been 162released. There have been lots of changes recently with master browser 163support and the ability to do domain logons etc. Samba has also been 164ported to OS/2, the amiga and NetWare. There are now 3000 people on 165the samba mailing list. 166--------------------- 167 168 169--------------------- 170It's now June 1997 and samba-1.9.17 is due out soon. My how time passes! 171Please refer to the WHATSNEW.txt for an update on new features. Just when 172you think you understand what is happening the ground rules change - this 173is a real world after all. Since the heady days of March 1996 there has 174been a concerted effort within the SMB protocol using community to document 175and standardize the protocols. The CIFS initiative has helped a long way 176towards creating a better understood and more interoperable environment. 177The Samba Team has grown in number and have been very active in the standards 178formation and documentation process. 179 180The net effect has been that we have had to do a lot of work to bring Samba 181into line with new features and capabilities in the SMB protocols. 182 183The past year has been a productive one with the following releases: 184 1.9.16, 1.9.16p2, 1.9.16p6, 1.9.16p9, 1.9.16p10, 1.9.16p11 185 186There are some who believe that 1.9.15p8 was the best release and others 187who would not want to be without the latest. Whatever your perception we 188hope that 1.9.17 will close the gap and convince you all that the long 189wait and the rolling changes really were worth it. Here is functionality 190and a level of code maturity that ..., well - you can be the judge! 191 192Happy SMB networking! 193Samba Team 194 195ps: The bugs are ours, so please report any you find. 196--------------------- 197 198--------------------- 199It's now October 1998. We just got back from the 3rd CIFS conference 200in SanJose. The Samba Team was the biggest contingent there. 201 202Samba 2.0 should be shipping in the next few weeks with much better 203domain controller support, GUI configuration, a new user space SMB 204filesystem and lots of other neat stuff. I've also noticed that a 205search of job ads in DejaNews turned up 3900 that mention Samba. Looks 206like we've created a small industry. 207 208I've been asked again where the name Samba came from. I might as well 209put it down here for everyone to read. The code in Samba was first 210called just "server", it then got renamed "smbserver" when I 211discovered that the protocol is called SMB. Then in April 1994 I got 212an email from Syntax, the makers of "TotalNet advanced Server", a 213commercial SMB server. They told me that they had a trademark on the 214name SMBserver and I would have to change the name. I ran an egrep for 215words containing S, M, and B on /usr/dict/words and the name Samba 216looked like the best choice. Strangely enough when I repeat that now I 217notice that Samba isn't in /usr/dict/words on my system anymore! 218--------------------- 219