Initial version imported to CVS
[metze/samba-autobuild/.git] / docs / history
1 Note: This file is now quite out of date - but perhaps that's
2 appropriate?
3
4
5 =========
6
7 This is a short history of this project. It's not supposed to be
8 comprehensive, just enough so that new users can get a feel for where
9 this project has come from and maybe where it's going to.
10
11 The whole thing really started in December 1991. I was (and still am)
12 a PhD student in the Computer Sciences Laboratory at the Australian
13 Netional University, in Canberra, Australia. We had just got a
14 beta copy of eXcursion from Digital, and I was testing it on my PC. At
15 this stage I was a MS-DOS user, dabbling in windows.
16
17 eXcursion ran (at the time) only with Dec's `Pathworks' network for
18 DOS. I had up till then been using PC-NFS to connect to our local sun
19 workstations, and was reasonably happy with it. In order to run
20 pathworks I had to stop using PC-NFS and try using pathworks to mount
21 disk space. Unfortunately pathworks was only available for digital
22 workstations running VMS or Ultrix so I couldn't mount from the suns
23 anymore.
24
25 I had access to a a decstation 3100 running Ultrix that I used to
26 administer, and I got the crazy notion that the protocol that
27 pathworks used to talk to ultrix couldn't be that hard, and maybe I
28 could work it out. I had never written a network program before, and
29 certainly didn't know what a socket was.
30
31 In a few days, after looking at some example code for sockets, I
32 discovered it was pretty easy to write a program to "spy" on the file
33 sharing protocol. I wrote and installed this program (the sockspy.c
34 program supplied with this package) and captured everything that the
35 pathworks client said to the pathworks server.
36
37 I then tried writing short C programs (using Turbo C under DOS) to do
38 simple file operations on the network drive (open, read, cd etc) and
39 looked at the packets that the server and client exchanged. From this
40 I worked out what some of the bytes in the packets meant, and started
41 to write my own program to do the same thing on a sun.
42
43 After a day or so more I had my first successes and actually managed
44 to get a connection and to read a file. From there it was all
45 downhill, and a week later I was happily (if a little unreliably)
46 mounting disk space from a sun to my PC running pathworks. The server
47 code had a lot of `magic' values in it, which seemed to be always
48 present with the ultrix server. It was not till 2 years later that I
49 found out what all these values meant.
50
51 Anyway, I thought other people might be interested in what I had done,
52 so I asked a few people at uni, and noone seemed much interested. I
53 also spoke to a person at Digital in Canberra (the person who had
54 organised a beta test of eXcursion) and asked if I could distribute
55 what I'd done, or was it illegal. It was then that I first heard the
56 word "netbios" when he told me that he thought it was all covered by a
57 spec of some sort (the netbios spec) and thus what I'd done was not
58 only legal, but silly.
59
60 I found the netbios spec after asking around a bit (the RFC1001 and
61 RFC1002 specs) and found they looked nothing like what I'd written, so
62 I thought maybe the Digital person was mistaken. I didn't realise RFCs
63 referred to the name negotiation and packet encapsulation over TCP/IP,
64 and what I'd written was really a SMB implementation.
65
66 Anyway, he encouraged me to release it so I put out "Server 0.1" in
67 January 1992. I got quite a good response from people wanting to use
68 pathworks with non-digital unix workstations, and I soon fixed a few
69 bugs, and released "Server 0.5" closely followed by "Server 1.0". All
70 three releases came out within about a month of each other.
71
72 At this point I got an X Terminal on my desk, and I no longer needed eXcursion
73 and I prompty forgot about the whole project, apart from a few people
74 who e-mailed me occasionally about it.
75
76 Nearly two years then passed with just occasional e-mails asking about
77 new versions and bugs. I even added a note to the ftp site asking for
78 a volunteer to take over the code as I no longer used it. No one
79 volunteered.
80
81 During this time I did hear from a couple of people who said it should
82 be possible to use my code with Lanmanager, but I never got any
83 definite confirmation.
84
85 One e-mail I got about the code did, however, make an impression. It
86 was from Dan Shearer at the university of South Australia, and he said
87 this:
88
89  
90         I heard a hint about a free Pathworks server for Unix in the
91         Net channel of the Linux list. After quite a bit of chasing
92         (and lots of interested followups from other Linux people) I
93         got hold of a release news article from you, posted in Jan 92,
94         from someone in the UK.
95
96         Can you tell me what the latest status is? I think you might
97         suddenly find a whole lot of interested hackers in the Linux
98         world at least, which is a place where things tend to happen
99         fast (and even some reliable code gets written, BION!)
100
101 I asked him what Linux was, and he told me it was a free Unix for PCs.
102 This was in November 1992 and a few months later I was a Linux
103 convert! I still didn't need a pathworks server though, so I didn't do
104 the port, but I think Dan did.
105
106 At about this time I got an e-mail from Digital, from a person working
107 on the Alpha software distribution. He asked if I would mind if they
108 included my server with the "contributed" cd-rom. This was a bit of a
109 shock to me as I never expected Dec to ask me if they could use my
110 code! I wrote back saying it was OK, but never heard from him again. I
111 don't know if it went on the cd-rom.
112
113 Anyway, the next big event was in December 1993, when Dan again sent
114 me an e-mail saying my server had "raised it's ugly head" on
115 comp.protocols.tcpip.ibmpc. I had a quick look on the group, and was
116 surprised to see that there were people interested in this thing.
117
118 At this time a person from our computer center offered me a couple of
119 cheap ethernet cards (3c505s for $15 each) and coincidentially someone
120 announced on one of the Linux channels that he had written a 3c505
121 driver for Linux. I bought the cards, hacked the driver a little and
122 setup a home network between my wifes PC and my Linux box. I then
123 needed some way to connect the two, and I didn't own PC-NFS at home,
124 so I thought maybe my server could be useful. On the newsgroup among
125 the discussions of my server someone had mentioned that there was a
126 free client that might work with my server that Microsoft had put up
127 for ftp. I downloaded it and found to my surprise that it worked first
128 time with my `pathworks' server!
129
130 Well, I then did a bit of hacking, asked around a bit and found (I
131 think from Dan) that the spec I needed was for the "SMB" protocol, and
132 that it was available via ftp. I grabbed it and started removing all
133 those ugly constants from the code, now that all was explained.
134
135 On December 1st 1993 I announced the start of the "Netbios for Unix"
136 project, seeding the mailing list with all the people who had e-mailed
137 me over the years asking about the server.
138
139 About 35 versions (and two months) later I wrote a short history of
140 the project, which you have just read. There are now over a hundred
141 people on the mailing list, and lots of people report that they use
142 the code and like it. In a few days I will be announcing the release
143 of version 1.6 to some of the more popular (and relevant) newsgroups.
144
145
146 Andrew Tridgell
147 6th February 1994
148
149 ---------------------
150
151 It is now May 1995 and there are about 1400 people on the mailing
152 list. I got downloads from the main Samba ftp site from around 5000
153 unique hosts in a two month period. There are several mirror
154 sites as well. The current version number is 1.9.13.
155
156 ---------------------
157
158
159 ---------------------
160 It's now March 1996 and version 1.9.16alpha1 has just been
161 released. There have been lots of changes recently with master browser
162 support and the ability to do domain logons etc. Samba has also been
163 ported to OS/2, the amiga and NetWare. There are now 3000 people on
164 the samba mailing list.
165 ---------------------