This is a short history of this project. It's not supposed to be comprehensive, just enough so that new users can get a feel for where this project has come from and maybe where it's going to. The whole thing really started in December 1991. I was (and still am) a PhD student in the Computer Sciences Laboratory at the Australian Netional University, in Canberra, Australia. We had just got a beta copy of eXcursion from Digital, and I was testing it on my PC. At this stage I was a MS-DOS user, dabbling in windows. eXcursion ran (at the time) only with Dec's `Pathworks' network for DOS. I had up till then been using PC-NFS to connect to our local sun workstations, and was reasonably happy with it. In order to run pathworks I had to stop using PC-NFS and try using pathworks to mount disk space. Unfortunately pathworks was only available fro digital workstations running VMS or Ultrix so I couldn't mount from the suns anymore. I had access to a a decstation 3100 running Ultrix that I used to administer, and I got the crazy notion that the protocol that pathworks used to talk to ultrix couldn't be that hard, and maybe I could work it out. I had never written a network program before, and certainly didn't know what a socket was. In a few days, after looking at some example code for sockets, I discovered it was pretty easy to write a program to "spy" on the file sharing protocol. I wrote and installed this program (the sockspy.c program supplied with this package) and captured everything that the pathworks client said to the pathworks server. I then tried writing short C programs (using Turbo C under DOS) to do simple file operations on the network drive (open, read, cd etc) and looked at the packets that the server and client exchanged. From this I worked out what some of the bytes in the packets meant, and started to write my own program to do the same thing on a sun. After a day or so more I had my first successes and actually managed to get a connection and to read a file. From there it was all downhill, and a week later I was happily (if a little unreliably) mounting disk space from a sun to my PC running pathworks. The server code had a lot of `magic' values in it, which seemed to be always present with the ultrix server. It was not till 2 years later that I found out what all these values meant. Anyway, I thought other people might be interested in what I had done, so I asked a few people at uni, and noone seemed much interested. I also spoke to a person at Digital in Canberra (the person who had organised a beta test of eXcursion) and asked if I could distribute what I'd done, or was it illegal. It was then that I first heard the word "netbios" when he told me that he thought it was all covered by a spec of some sort (the netbios spec) and thus what I'd done was not only legal, but silly. I found the netbios spec after asking around a bit (the RFC1001 and RFC1002 specs) and found they looked nothing like what I'd written, so I thought maybe the Digital person was mistaken. I didn't realise RFCs referred to the name negotiation and packet encapsulation over TCP/IP, and what I'd written was really a SMB implementation. Anyway, he encouraged me to release it so I put out "Server 0.1" in January 1992. I got quite a good response from people wanting to use pathworks with non-digital unix workstations, and I soon fixed a few bugs, and released "Server 0.5" closely followed by "Server 1.0". All three releases came out within about a month of each other. At this point I got an X Terminal on my desk, and I no longer needed eXcursion and I prompty forgot about the whole project, apart from a few people who e-mailed me occasionally about it. Nearly two years then passed with just occasional e-mails asking about new versions and bugs. I even added a note to the ftp site asking for a volunteer to take over the code as I no longer used it. No one volunteered. During this time I did hear from a couple of people who said it should be possible to use my code with Lanmanager, but I never got any definite confirmation. One e-mail I got about the code did, however, make an impression. It was from Dan Shearer at the university of South Australia, and he said this: I heard a hint about a free Pathworks server for Unix in the Net channel of the Linux list. After quite a bit of chasing (and lots of interested followups from other Linux people) I got hold of a release news article from you, posted in Jan 92, from someone in the UK. Can you tell me what the latest status is? I think you might suddenly find a whole lot of interested hackers in the Linux world at least, which is a place where things tend to happen fast (and even some reliable code gets written, BION!) I asked him what Linux was, and he told me it was a free Unix for PCs. This was in November 1992 and a few months later I was a Linux convert! I still didn't need a pathworks server though, so I didn't do the port, but I think Dan did. At about this time I got an e-mail from Digital, from a person working on the Alpha software distribution. He asked if I would mind if they included my server with the "contributed" cd-rom. This was a bit of a shock to me as I never expected Dec to ask me if they could use my code! I wrote back saying it was OK, but never heard from him again. I don't know if it went on the cd-rom. Anyway, the next big event was in December 1993, when Dan again sent me an e-mail saying my server had "raised it's ugly head" on comp.protocols.tcpip.ibmpc. I had a quick look on the group, and was surprised to see that there were people interested in this thing. At this time a person from our computer center offered me a couple of cheap ethernet cards (3c505s for $15 each) and coincidentially someone announced on one of the Linux channels that he had written a 3c505 driver for Linux. I bought the cards, hacked the driver a little and setup a home network between my wifes PC and my Linux box. I then needed some way to connect the two, and I didn't own PC-NFS at home, so I thought maybe my server could be useful. On the newsgroup among the discussions of my server someone had mentioned that there was a free client that might work with my server that Microsoft had put up for ftp. I downloaded it and found to my surprise that it worked first time with my `pathworks' server! Well, I then did a bit of hacking, asked around a bit and found (I think from Dan) that the spec I needed was for the "SMB" protocol, and that it was available via ftp. I grabbed it and started removing all those ugly constants from the code, now that all was explained. On December 1st 1993 I announced the start of the "Netbios for Unix" project, seeding the mailing list with all the people who had e-mailed me over the years asking about the server. About 35 versions (and two months) later I wrote a short history of the project, which you have just read. There are now over a hundred people on the mailing list, and lots of people report that they use the code and like it. In a few days I will be announcing the release of version 1.6 to some of the more popular (and relevant) newsgroups. Andrew Tridgell 6th February 1994