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