diff options
author | Murray Stokely <murray@FreeBSD.org> | 2010-01-31 09:26:34 +0000 |
---|---|---|
committer | Murray Stokely <murray@FreeBSD.org> | 2010-01-31 09:26:34 +0000 |
commit | 8b52b275791d8bb870a8bbf22731fe7477f3b76d (patch) | |
tree | 44075e110b1832e66a4882e71822689525ac3ef0 /en_US.ISO8859-1/captions | |
parent | f54ba8fba63b5555ed9c040d65a8604e31b24d5b (diff) | |
download | doc-8b52b275791d8bb870a8bbf22731fe7477f3b76d.tar.gz doc-8b52b275791d8bb870a8bbf22731fe7477f3b76d.zip |
Add another pass of human editing to clean up this transcript, done as
work for hire through amazon mechanical turk. Also, remove trailing
whitespace.
Sponsored by: FreeBSD Foundation
Notes
Notes:
svn path=/head/; revision=35281
Diffstat (limited to 'en_US.ISO8859-1/captions')
-rw-r--r-- | en_US.ISO8859-1/captions/2009/dcbsdcon/mckusick-historyofbsd.sbv | 7820 |
1 files changed, 3912 insertions, 3908 deletions
diff --git a/en_US.ISO8859-1/captions/2009/dcbsdcon/mckusick-historyofbsd.sbv b/en_US.ISO8859-1/captions/2009/dcbsdcon/mckusick-historyofbsd.sbv index 8b93823c28..9acac33b2c 100644 --- a/en_US.ISO8859-1/captions/2009/dcbsdcon/mckusick-historyofbsd.sbv +++ b/en_US.ISO8859-1/captions/2009/dcbsdcon/mckusick-historyofbsd.sbv @@ -1,3908 +1,3912 @@ -0:00:00.570,0:00:03.510
-Anyways it is my great honour and privilege
-
-0:00:03.510,0:00:10.510
-to introduce Kirk McKusick uh! Which is
-give a talk our history of BSD
-
-0:00:13.570,0:00:17.170
-So this is actually a three-hour lecture
-
-0:00:17.170,0:00:19.949
-I but I don't have three hours so there is
-
-0:00:19.949,0:00:23.659
-uh is this where I allow audience participation
-
-0:00:23.659,0:00:27.099
-The lecture is really sort of three
-main parts
-
-0:00:27.099,0:00:30.460
-and what I’ll do is
-
-0:00:30.460,0:00:34.210
-describe the three main parts. Then everyone
-will get to vote on which part they find the
-
-0:00:34.210,0:00:35.490
-most interesting
-
-0:00:35.490,0:00:36.510
-Then what I.. I won’t..
-
-0:00:36.510,0:00:41.309
-I used to just do just that part and I’ve got a
-lot of negative feedback about that's all
-
-0:00:41.309,0:00:43.819
-So I’ll do those two parts don't get elected in
-
-0:00:43.819,0:00:47.210
-I'll just do quickly and then I'll concentrate
-on the the one
-
-0:00:47.210,0:00:48.010
-piece that
-
-0:00:48.010,0:00:49.720
-seems to be the most popular
-
-0:00:49.720,0:00:51.360
-so the history of BSD
-
-0:00:51.360,0:00:55.750
-This is BSD at Berkeley is supposed
-to one to shout into that
-
-0:00:55.750,0:00:57.050
-open source world
-
-0:00:57.050,0:01:01.810
-So the first period of time is what I call
-the Bill Joy era
-
-0:01:01.810,0:01:06.360
-And this is where Bill Joy is starting up BSD
- and it's really getting a rolling and
-
-0:01:06.360,0:01:07.180
-so it ends when he
-
-0:01:07.180,0:01:08.370
-departs
-0:01:08.370,0:01:09.610
-and
-0:01:09.610,0:01:13.080
-Sponsers uh.. starts up this company
-called Sun Microsystems which you may have
-
-0:01:13.080,0:01:14.680
-heard of
-
-0:01:14.680,0:01:19.250
-Uh.. Then the second part is one of the heyday
-of BSD. So this is the period of time
-
-0:01:19.250,0:01:20.930
-where everybody is
-
-0:01:20.930,0:01:24.290
-running is forty two and for three and so on
-
-0:01:24.290,0:01:24.960
-and
-
-0:01:24.960,0:01:28.830
-going accurate time we were being funded
-by DARPA which
-
-0:01:28.830,0:01:31.020
-deploy a microphone somewhere in this room
-
-0:01:31.020,0:01:32.950
-Uh at any rate
-
-0:01:32.950,0:01:35.160
-there was some very interesting
-
-0:01:35.160,0:01:36.889
-Uh.. battles that went on
-
-0:01:36.889,0:01:38.630
-Uh.. about
-
-0:01:38.630,0:01:41.110
-exactly how to see or to be implemented
-
-0:01:41.110,0:01:46.180
-and a lot of this at that history all
-that all percolates out
-
-0:01:46.180,0:01:48.000
-and so that's sort of the middle period and
-
-0:01:48.000,0:01:54.000
-and then the end period is where we have
-gotten religion and it decided that
-
-0:01:54.000,0:01:58.130
-you know maybe BSD isn’t going be at
-Berkeley forever and if we want there to be
-
-0:01:58.130,0:01:58.960
-any
-
-0:01:58.960,0:02:00.430
-possibility with the continue
-
-0:02:00.430,0:02:04.530
-Uh.. we better figure out how to get it outside
-the university to people that
-
-0:02:04.530,0:02:08.489
-other than to the people that are licensed
-by AT&T Bell Laboratories.
-
-0:02:08.489,0:02:09.970
-And so it's the whole story out
-
-0:02:09.970,0:02:13.859
-how we open-sourced it and fought a one lawsuit
-about that and
-
-0:02:13.859,0:02:15.189
-so on and so forth.
-
-0:02:15.189,0:02:19.049
-So here is the three main parts.. The Bill Joy .. that the middle
-PCP
-
-0:02:19.049,0:02:20.519
-building years
-
-0:02:20.519,0:02:20.940
-and
-
-0:02:20.940,0:02:24.099
-the lawsuit years at the end.
-
-0:02:24.099,0:02:28.879
-So how many people are most interested in hearing
-the Bill joy years
-
-0:02:28.879,0:02:33.999
-one two three four five six seven eight nine
-ten eleven twelve thirteen
-
-0:02:33.999,0:02:35.199
-fourteen fifteen
-
-0:02:35.199,0:02:39.559
-Sixteen. Ok.. how many people are interested
-in hearing through the middle era
-
-0:02:39.559,0:02:44.579
-one two three four five six seven eight nine
-ten eleven twelve thirteen fourteen fifteen
-
-0:02:44.579,0:02:45.320
-Sixteen.. All right..
-
-0:02:45.320,0:02:46.959
-Seventeen eighteen ninety twenty twenty one
-
-0:02:46.959,0:02:49.959
-twenty five OK and how many people want to hear
-the open
-
-0:02:49.959,0:02:51.079
-source
-
-0:02:51.079,0:02:53.159
-Lawsuit’s et cetera
-
-0:02:53.159,0:02:57.120
-Laugh.... Okkk
-
-0:02:57.120,0:02:58.969
-Do you see this is why I ask
-
-0:02:58.969,0:03:01.139
-This is usual it's interesting 'cause I get
-
-0:03:01.139,0:03:03.499
-different different groups votes for different
-things
-
-0:03:03.499,0:03:06.799
-When I was in Japan they all want to hear
-about the lawsuit.. you know.. that’s all they
-
-0:03:06.799,0:03:09.229
-have those in Japan.
-
-0:03:09.229,0:03:11.669
-Yeah that story is quite well known here
-
-0:03:11.669,0:03:14.639
-Infact the so interesting tidbit is that
-
-0:03:14.639,0:03:16.459
-uh threw up
-
-0:03:16.459,0:03:20.289
-Freedom of Information Act California Freedom
-of Information Act
-
-0:03:20.289,0:03:23.489
-uh we were able to get the uh
-
-0:03:23.489,0:03:27.819
-decision on that lawsuit unsealed so that
-the actual text could get out which was
-
-0:03:27.819,0:03:30.319
-sort of interesting reading.
-
-0:03:30.319,0:03:34.349
-Okay, for those of you who are interested in
-a section that I'm not doing
-
-0:03:34.349,0:03:38.050
-I advice to buy them to make a shameless plug for
-my DVD.
-
-0:03:38.050,0:03:41.709
-This is the entire three-and-a-half hour version
-of this lecture
-
-0:03:41.709,0:03:45.949
-I wish I could conveniently have a box up your surf
-if it's worth twenty dollars to you could
-
-0:03:45.949,0:03:52.219
-got one of these and walk away with it.
-
-0:03:52.219,0:03:57.119
-Ok. So uh unlike most of my talks and I don’t actually have a
-laptop with slides on it and I just have these
-
-0:03:57.119,0:03:59.529
-handwritten notes
-
-0:03:59.529,0:04:01.680
-and the top line of my handwritten note now it says
-
-0:04:01.680,0:04:06.190
-the first four pages of this were written
-on the Indian Pacific train on way to Greater Perth
-
-0:04:06.190,0:04:12.629
-in January 1986 because I had
-to give a lecture on the day I arrived.
-
-0:04:12.629,0:04:14.219
-So I have been uh told
-
-0:04:14.219,0:04:18.100
- that this was what my talk was going
-to be and I was unprepared so
-
-0:04:18.100,0:04:23.259
-it's what a bouncy up and down the handwriting
-but it was the early history
-
-0:04:23.259,0:04:24.840
-so anyway
-
-0:04:24.840,0:04:25.880
-we're just gonna zip
-
-0:04:25.880,0:04:27.029
-quickly through
-
-0:04:27.029,0:04:29.750
-what BSD started at Berkeley
-
-0:04:29.750,0:04:31.150
-Uh by Bill Joy
-
-0:04:31.150,0:04:34.120
-uh Bill Joy was a graduate student I
-happen to
-
-0:04:34.120,0:04:38.050
-share the same adviser with him, we were both
-working on programming languages.
-
-0:04:38.050,0:04:41.610
-Uh you might find that hard to believe considering
-that he did the seashell but
-
-0:04:41.610,0:04:44.539
-Uh.. laugh
-0:04:44.539,0:04:48.000
-at any rate up that's what we're doing and
-
-0:04:48.000,0:04:50.740
-So I shared an office with him and along with
-
-0:04:50.740,0:04:53.720
-three other graduate students uh
-
-0:04:53.720,0:04:56.120
-and
-
-0:04:56.120,0:05:00.060
-So uh I sort of was sitting there watching a lot of
-this unfolding and in fact Bill was very good
-
-0:05:00.060,0:05:03.080
-at getting other people enthusiastic about
-doing work.
-
-0:05:03.080,0:05:06.849
-There was his typical comment was.. “how hard
-can it be, you could just knock this off in
-
-0:05:06.849,0:05:08.869
-a couple hours”
-
-0:05:08.869,0:05:12.709
-and usually you could knock off one thing
-but of course that with can you sucked
-
-0:05:12.709,0:05:16.060
-in and you know you end up writing the entire pascal
-interpreter of
-
-0:05:16.060,0:05:18.039
-the back and or something
-
-0:05:18.039,0:05:20.249
-At any rate
-
-0:05:20.249,0:05:24.749
-Bill started doing initially just utilities
-so was the seashell
-
-0:05:24.749,0:05:27.439
-uh that ex editor later
-
-0:05:27.439,0:05:29.750
-it also became the vi editor
-
-0:05:29.750,0:05:31.490
-the pascal system
-
-0:05:31.490,0:05:37.080
-and say start packaging these things out and
-sending out tapes to people and
-
-0:05:37.080,0:05:38.050
-then when
-
-0:05:38.050,0:05:39.930
-Ken Thompson who would
-
-0:05:39.930,0:05:42.099
-in an Alumnus of Berkeley
-
-0:05:42.099,0:05:45.610
-on without for one year's sabbatical and brought
-UNIX with him
-
-0:05:45.610,0:05:49.909
-when he left Bill sort of took over running
-the system what we would call assistant administrator
-
-0:05:49.909,0:05:51.729
-today
-
-0:05:51.729,0:05:55.660
-Uh at any rate this got him interested in this the system
-There were patches that were coming back
-
-0:05:55.660,0:05:58.550
-from AT&T he was putting those in and he was then
-
-0:05:58.550,0:06:01.590
-making some other sending them back to AT&T
-and he
-
-0:06:01.590,0:06:01.930
-and
-
-0:06:01.930,0:06:03.729
- so
-
-0:06:03.729,0:06:07.770
-over time there were bigger and bigger bits of
-the system and finally got tired of trying
-
-0:06:07.770,0:06:08.370
-to
-
-0:06:08.370,0:06:10.909
-track what other people's UNIX is look
-like
-
-0:06:10.909,0:06:11.729
-and so
-
-0:06:11.729,0:06:16.569
-uh with the advance of 3 BSD the
-third distribution
-
-0:06:16.569,0:06:18.560
-He just put together an entire package
-
-0:06:18.560,0:06:22.310
-uh and this was actually to the VAX rather
-than the PDP-11 which is what we've started
-
-0:06:22.310,0:06:23.080
-on
-
-0:06:23.080,0:06:25.069
-all the two dot
-
-0:06:25.069,0:06:27.310
-versions of the of BSD
-
-0:06:27.310,0:06:30.889
-nicely worked on by the other people not by
-the Bill especially not the stuff where
-
-0:06:30.889,0:06:33.050
-the kernel begins to become involved
-
-0:06:33.050,0:06:35.300
-2.9, 10, 11 et cetera
-
-0:06:35.300,0:06:37.569
-uh was actually done by
-
-0:06:37.569,0:06:41.090
-other people many years uh later so 2.11
-
-0:06:41.090,0:06:43.279
-does not preceed 3.0
-
-0:06:43.279,0:06:48.550
-Uh 2.11 is you know contemporary
-with 4.4
-
-0:06:48.550,0:06:51.100
-Uh at any rate uh
-
-0:06:51.100,0:06:52.800
-once we got the
-
-0:06:52.800,0:06:54.790
-uh the BSD
-
-0:06:54.790,0:06:57.360
-distribution out into the world
-
-0:06:57.360,0:07:00.870
-Uh it started getting used by a lot of people
-because it
-
-0:07:00.870,0:07:01.589
-really
-
-0:07:01.589,0:07:05.000
-was a big step forward over what AT&T were
-shipping
-
-0:07:05.000,0:07:06.660
-in particular
-
-0:07:06.660,0:07:09.529
-uh as we start getting things like
-
-0:07:09.529,0:07:11.450
-the TCP/IP networking
-
-0:07:11.450,0:07:15.770
-Uh So you had a choice you can run a AT& T
-version which had UUCP as networking
-
-0:07:15.770,0:07:19.149
-or you could run BSD that had sockets et
- cetera
-
-0:07:19.149,0:07:20.610
-you could run
-
-0:07:20.610,0:07:24.090
-AT&T's version which had a file system that
-could utilize 3 to 5 percent of the bandwidth
-
-0:07:24.090,0:07:24.979
-of the disk
-
-0:07:24.979,0:07:28.810
-or you could run BSD which could utilize 50 percent
-of the bandwidth of the disk
-
-0:07:28.810,0:07:30.519
-et cetera.
-
-0:07:30.519,0:07:34.939
-So many people would buy the AT&T license
- and immediately drop Berkeley to add UNIX
-
-0:07:34.939,0:07:37.180
-on to it.
-
-0:07:37.180,0:07:41.879
-Uh consequently it was getting wide distribution
-atleast in the university environments
-
-0:07:41.879,0:07:44.139
-Uh
-
-0:07:44.139,0:07:46.979
-And uh starting this way he got into the commercial
-environments
-
-0:07:46.979,0:07:51.249
-The commercial environments were not large because
-commercial environments just weren’t using UNIX
-
-0:07:51.249,0:07:52.679
-at that time
-
-0:07:52.679,0:07:54.679
-for the most part
-
-0:07:54.679,0:07:58.090
-Uh at any rate
-
-0:07:58.090,0:07:59.290
-Bill got it
-
-0:07:59.290,0:08:00.349
-Uh well
-
-0:08:00.349,0:08:04.299
-with 3 BSD coming out uh
-
-0:08:04.299,0:08:06.340
-The DARPA which is
-
-0:08:06.340,0:08:07.540
-essentially
-
-0:08:07.540,0:08:10.160
-put out research contracts for
-
-0:08:10.160,0:08:12.629
-all the different branches of the military
-
-0:08:12.629,0:08:13.780
-Uh was
-
-0:08:13.780,0:08:15.960
-had a huge number of contracts
-
-0:08:15.960,0:08:19.850
-uh with lots of different people being stuff
-related computers all have different computers
-
-0:08:19.850,0:08:22.939
-and operating systems and maybe using some different
-languages
-
-0:08:22.939,0:08:24.969
-and so if one group would do something
-
-0:08:24.969,0:08:27.309
-they just couldn't really pass that
-
-0:08:27.309,0:08:30.739
-over take some other group that might want
-to utilize it because this was written in
-
-0:08:30.739,0:08:33.390
-FORTRAN and that was written in Pearl 1
-
-0:08:33.390,0:08:35.830
-You know this was running on
-
-0:08:35.830,0:08:40.830
-you know some deck machine that was running on some
-IBM's hardware et cetera.
-
-0:08:40.830,0:08:47.220
-and so DARPA decided that they
-really wanted to consolidate
-
-0:08:47.220,0:08:50.280
-on hardware and operating system
-
-0:08:50.280,0:08:55.000
-and then how people work there and so there's a
-better chance if they would be able to co-operate.
-
-0:08:55.000,0:08:57.640
-So they put out a a sort of
-
-0:08:57.640,0:08:59.829
-call sends a request for
-
-0:08:59.829,0:09:02.430
-proposals or whatever they called in those
-days
-
-0:09:02.430,0:09:04.290
-and
-
-0:09:04.290,0:09:05.520
-essentially there were two
-
-0:09:05.520,0:09:08.500
-uh main contending things that came in
-
-0:09:08.500,0:09:10.029
-one was the VAX
-
-0:09:10.029,0:09:11.320
-running VMX
-
-0:09:11.320,0:09:14.300
-and the other one was the VAX running
-
-0:09:14.300,0:09:16.800
-Berkeley UNIX
-
-0:09:16.800,0:09:18.150
-and of course
-
-0:09:18.150,0:09:21.650
-the uh the people that were promoting the
-VAX running VMS
-
-0:09:21.650,0:09:27.220
-were arguing like uh you know this is a real
-vendor supported operating system and
-
-0:09:27.220,0:09:32.059
-you know that this not just some flaky students
-at Berkeley that are doing it
-
-0:09:32.059,0:09:34.530
-then you know therefore there's sort of the operating
-system
-
-0:09:34.530,0:09:39.500
-And that really put the final nail
-on the coffin
-
-0:09:39.500,0:09:43.410
-Uh this time they encased and came up with a set of
-benchmarks
-
-0:09:43.410,0:09:47.370
-Uh what we would call micro benchmarks
-today so how fast can you do get a PID
-
-0:09:47.370,0:09:49.970
-and how fast you could pipe thing
-
-0:09:49.970,0:09:54.180
-When you pack it back and forth to see
-up that certain context which is so on.
-
-0:09:54.180,0:09:55.410
-and
-
-0:09:55.410,0:09:56.710
-uh
-
-0:09:56.710,0:10:00.910
-showed that we must have did these things much faster
-than BSD did.
-
-0:10:00.910,0:10:01.760
-and this of course
-
-0:10:01.760,0:10:03.680
-made Bill go ballistic
-
-0:10:03.680,0:10:04.360
-and
-
-0:10:04.360,0:10:07.780
-Uh besides saying that they were as stupid as benchmarks
- he'd ever since have zipped that's the way
-
-0:10:07.780,0:10:11.070
-they're gonna decide then we'll just go
-make this thing run fast
-
-0:10:11.070,0:10:14.920
-and it was sort of an interesting story about
-other half and what
-
-0:10:14.920,0:10:19.980
-he got uh the BSD to run those benchmarks as fast
-as the VMS
-
-0:10:19.980,0:10:21.450
-and
-
-0:10:21.450,0:10:22.170
-so
-
-0:10:22.170,0:10:24.900
-the upshot of it was that DARPA
-
-0:10:24.900,0:10:28.740
-was still sort of sitting on the fence
-and Bill’s comment was well VMS will stock
-
-0:10:28.740,0:10:30.380
-with VMX forever
-
-0:10:30.380,0:10:34.490
-and you know may be some other computer might
-be interesting down the road
-
-0:10:34.490,0:10:40.700
-and BSD is set up so that it's much more portable
-uh you know it's tie. UNIX, in general is
-
-0:10:40.700,0:10:44.750
-the portable across different architectures we've
-already proved it by running it for any cost too
-
-0:10:44.750,0:10:45.910
-so therefore
-
-0:10:45.910,0:10:48.010
-it's proved point
-
-0:10:48.010,0:10:49.040
-so
-
-0:10:49.040,0:10:51.850
-at any rate DARPA agreed to that
-
-0:10:51.850,0:10:54.780
-and they put in some initial money to Berkeley
-
-0:10:54.780,0:10:57.230
-and the initial things that Berkley was
-really just
-
-0:10:57.230,0:11:00.720
-uh to come up with
-
-0:11:00.720,0:11:02.500
-Uh well we've put out 3 BSD
-
-0:11:02.500,0:11:05.950
-which had a lot of functionality but the
-performance wasn't so great
-
-0:11:05.950,0:11:09.330
-and so the that first point was to get
-4 BSD out
-
-0:11:09.330,0:11:10.790
-which was going to happen
-
-0:11:10.790,0:11:12.870
-sort of that
-
-0:11:12.870,0:11:14.960
-that additional functionality they really felt
-they needed
-
-0:11:14.960,0:11:16.459
-uh which would just is of the
-
-0:11:16.459,0:11:17.930
-really small tweeks
-
-0:11:17.930,0:11:22.510
-Uh things like the ability to automatically
-reboot after crash
-
-0:11:22.510,0:11:23.880
-Uh Job control
-
-0:11:23.880,0:11:29.540
-uh PRAM’s list which was created by a bunch
-of their uh folks, deliver mail, smoke in air
-
-0:11:29.540,0:11:32.810
- that was the uh the predecessor to
-send mail
-
-0:11:32.810,0:11:36.820
-except without a configuration file you just
-complied and check the way he needs things
-
-0:11:36.820,0:11:37.700
-that were
-
-0:11:37.700,0:11:39.720
-uh at any rate
-
-0:11:39.720,0:11:41.260
-Uh that came out
-
-0:11:41.260,0:11:42.800
-and that 4.1
-
-0:11:42.800,0:11:44.550
-so it nail that down cleaned it up
-
-0:11:44.550,0:11:46.590
-got the performance decent
-
-0:11:46.590,0:11:49.680
-and that fulfilled the first DARPA contract.
-
-0:11:49.680,0:11:52.450
-DARPA had put in something like
-
-0:11:52.450,0:11:56.390
-you know three-quarters of a million dollars or something
-and boomed topped this huge pay back from it
-
-0:11:56.390,0:11:56.960
-and
-
-0:11:56.960,0:11:58.380
-people seem to be happy with it
-
-0:11:58.380,0:12:02.880
-so they decided that maybe that the funky graduate students
-at Berkeley could do stuff
-
-0:12:02.880,0:12:05.640
-and so then they put in that of
-
-0:12:05.640,0:12:07.310
-considerably larger
-
-0:12:07.310,0:12:10.710
-contract it was I don't know what three or
-five million dollars
-
-0:12:10.710,0:12:12.260
-on this was a longer term
-
-0:12:12.260,0:12:13.520
-he knows he would’ve at
-
-0:12:13.520,0:12:15.870
- those times he would get
-
-0:12:15.870,0:12:17.839
-for example a three-year contract
-
-0:12:17.839,0:12:20.320
-of which is sort of unheard of in lot of a
-
-0:12:20.320,0:12:22.440
-research stuff today.
-
-0:12:22.440,0:12:25.630
-So you could really sort of spent some time
-figuring out what you can do and do it
-
-0:12:25.630,0:12:28.789
-for eighteen months to two years before you had
-to start working about
-
-0:12:28.789,0:12:31.030
-the new assignment et cetera.
-
-0:12:31.030,0:12:33.180
-Uh in any way
-
-0:12:33.180,0:12:34.930
-the grand goals for this
-
-0:12:34.930,0:12:37.300
-Big hunt that DARPA gave
-
-0:12:37.300,0:12:38.800
-was
-
-0:12:38.800,0:12:41.470
-Uh there were four pieces. One was
-
-0:12:41.470,0:12:42.779
-to get a
-
-0:12:42.779,0:12:43.880
-real networking end
-
-0:12:43.880,0:12:46.220
-uh at that time
-
-0:12:46.220,0:12:47.980
-Uh there was just NCP
-
-0:12:47.980,0:12:49.680
-Uh which was that
-
-0:12:49.680,0:12:54.240
-Network Control Protocol predecessor to TCP/IP
-
-0:12:54.240,0:12:57.100
-Uh a good file system in their
-
-0:12:57.100,0:13:01.490
-Uh restart able signal so you could actually
-use them to drive work as opposed to just
-
-0:13:01.490,0:13:03.440
-terminating programs
-
-0:13:03.440,0:13:05.600
-and a new virtual memory system
-
-0:13:05.600,0:13:07.390
-Uh that wasn't
-
-0:13:07.390,0:13:09.810
-well essentially that allowed shared memory
-
-0:13:09.810,0:13:11.530
-uh that the one
-
-0:13:11.530,0:13:13.640
-the predecessor
-
-0:13:13.640,0:13:15.880
-that we were running BSD at that
-time
-
-0:13:15.880,0:13:19.810
-shared the text space that would be only the part
-of your program but all the rest
-
-0:13:19.810,0:13:21.580
-could not shared
-
-0:13:21.580,0:13:23.810
-So there’re the four deliverables.
-
-0:13:23.810,0:13:25.980
-now for the kind of networking
-
-0:13:25.980,0:13:28.000
-the students really trust us.
-
-0:13:28.000,0:13:30.879
-So they decided that what they were going
-to do
-
-0:13:30.879,0:13:33.720
-was divide into two parts.
-
-0:13:33.720,0:13:35.300
-So they were going to get
-
-0:13:35.300,0:13:37.630
- Bolt, Beranek and Newman BBN
-
-0:13:37.630,0:13:42.360
-we are going to actually write the TCP/IP protocols
-stuff
-
-0:13:42.360,0:13:44.709
-and What Berkley was supposed to do
-
-0:13:44.709,0:13:46.589
-was designed the
-
-0:13:46.589,0:13:47.550
-programming interface
-
-0:13:47.550,0:13:49.040
-uh so
-
-0:13:49.040,0:13:53.130
-the socket connect except so on
-
-0:13:53.130,0:13:55.639
-and then VB9 was to deliver
-
-0:13:55.639,0:14:00.159
-the thing plug-in underneath that interface
-and Berkley was to integrated into
-
-0:14:00.159,0:14:02.150
-BSD and uh
-
-0:14:02.150,0:14:04.570
-they would ship it.
-
-0:14:04.570,0:14:05.239
-and
-
-0:14:05.239,0:14:08.090
-Uh so
-
-0:14:08.090,0:14:11.240
-this all started on and VB9 gets to work
-
-0:14:11.240,0:14:13.090
-and
-
-0:14:13.090,0:14:15.750
-Joy gets to work on the interface and
-
-0:14:15.750,0:14:18.620
-uh so
-
-0:14:18.620,0:14:22.610
-eventually what happens is that Bill has sort
-of the framework of this stuff. And Bill being
-
-0:14:22.610,0:14:23.960
-Bill uh
-
-0:14:23.960,0:14:26.580
-he he work rather quickly
-
-0:14:26.580,0:14:29.880
-Uh someone wants to ask you to compare myself
-to build Joy and I said look
-
-0:14:29.880,0:14:33.980
-there's really nothing that he's done that
-I couldn't do but the problem is
-
-0:14:33.980,0:14:36.810
-what he gets done in a year would take me
-a decade
-
-0:14:36.810,0:14:39.430
-because he was the master of figuring out.
-
-0:14:39.430,0:14:40.730
-I'm here
-
-0:14:40.730,0:14:42.039
-that's where I want to get to
-
-0:14:42.039,0:14:44.740
-what is absolutely shortest half from here
-to there
-
-0:14:44.740,0:14:45.810
-and he would do it
-
-0:14:45.810,0:14:47.339
-and you end up with code
-
-0:14:47.339,0:14:48.260
-that worked but
-
-0:14:48.260,0:14:51.699
-that was not maintainable, expendable, changeable.
-
-0:14:51.699,0:14:56.130
-Anybody looked at the old version of the VI
-understand what I’m talking about.
-
-0:14:56.130,0:14:56.860
-so
-
-0:14:56.860,0:14:58.430
-So some of the rest of us you know
-
-0:14:58.430,0:14:59.709
-like to have stuff that like
-
-0:14:59.709,0:15:02.910
-you could go back and do something with later
-but that takes longer
-
-0:15:02.910,0:15:03.689
-In any way
-
-0:15:03.689,0:15:06.300
-Bill figured out this socket interface the first
-
-0:15:06.300,0:15:07.930
-draft away it anyway
-
-0:15:07.930,0:15:12.140
-and he's got it and now he needs the newer call protocols
-to put underneath it
-
-0:15:12.140,0:15:15.480
-so he goes to to
-
-0:15:15.480,0:15:16.399
-Uh Rob Gurvitz who was
-
-0:15:16.399,0:15:18.259
-leading the program of
-
-0:15:18.259,0:15:20.429
-development of TCP/IP at PBN
-
-0:15:20.429,0:15:23.660
-and says hey I got a socket interface and I need something to put
-in here
-
-0:15:23.660,0:15:28.140
-and Rob says well we're not really done yet
-but we have we have a slight prototype code
-
-0:15:28.140,0:15:29.990
-and you know you could put that in it
-
-0:15:29.990,0:15:31.319
-see how that works in
-
-0:15:31.319,0:15:33.100
-you know then we’ll iterate hopefully the race
-
-0:15:33.100,0:15:35.810
-up so that we can work in parallel of you.
-
-0:15:35.810,0:15:38.410
-So Bill gets the code and
-
-0:15:38.410,0:15:40.420
-he puts it in
-
-0:15:40.420,0:15:40.859
-and
-
-0:15:40.859,0:15:42.979
-cranks it up and gets a kind of working
-
-0:15:42.979,0:15:43.820
-and
-
-0:15:43.820,0:15:45.580
-then decides to run
-
-0:15:45.580,0:15:49.110
-Some full test between machines to see
-how well it works.
-
-0:15:49.110,0:15:55.150
-And we’re running at the at that time our development
-machines development inputs were
-
-0:15:55.150,0:15:55.820
-VAC 750’s
-0:15:55.820,0:15:59.640
-so that was the big honk at VAC 780
-that ran entire NIP
-
-0:15:59.640,0:16:04.600
-and then there were these much smaller things
-that were merely the size of a large
-
-0:16:04.600,0:16:05.769
-uh dishwasher
-
-0:16:05.769,0:16:11.839
-uh its bigger than a dishwasher more like
-washing machine yes
-its over range at any rate and used about
-
-0:16:11.839,0:16:13.660
-as much power as the same.
-
-0:16:13.660,0:16:16.260
-Uh with all the burners turned ON assuming its electric
-
-0:16:16.260,0:16:23.080
-uh anyway and the VAC 750 only
-ran at 0.7 NIPs
-
-0:16:23.080,0:16:25.480
-Uh and so
-
-0:16:25.480,0:16:28.920
-Bill needs to be overrun sometimes back and forth
-between these machines
-
-0:16:28.920,0:16:31.080
-and of course we don't have
-
-0:16:31.080,0:16:34.900
-anything like FTP or TELNET
-anything that, which is not written yet
-
-0:16:34.900,0:16:36.890
-and so he just
-
-0:16:36.890,0:16:38.369
-being Bill as well
-
-0:16:38.369,0:16:39.699
-hack up something
-
-0:16:39.699,0:16:43.309
-uh which was all logged in RCP et cetera.
-
-0:16:43.309,0:16:47.820
-which was really just the design so that he
-could test running between these two machines
-
-0:16:47.820,0:16:48.710
-Uh
-
-0:16:48.710,0:16:52.130
-This is the legacy that we end up with and
-why the protocol number or anything like
-
-0:16:52.130,0:16:57.820
-that in the header you know it’s just a
-test program no one is gonna actually use this
-
-0:16:57.820,0:17:02.020
-so the uh upshot of all this that
-
-0:17:02.020,0:17:03.840
-Bill fires up
-
-0:17:03.840,0:17:05.530
-RCP and
-
-0:17:05.530,0:17:08.230
-to copy a file between machines
-
-0:17:08.230,0:17:08.730
-and
-
-0:17:08.730,0:17:15.300
-and it copies a file at about 50..6 or
-60 kilobits per second
-
-0:17:15.300,0:17:17.520
-and at that point the CPU is PEC
-
-0:17:17.520,0:17:19.799
-on the VAX 750
-
-0:17:19.799,0:17:20.810
-And it you know
-
-0:17:20.810,0:17:24.810
-there's plenty of bandwidth still available
-because we had 10 megabit Ethernet at that point
-
-0:17:24.810,0:17:28.519
-we had the new 10 megabit Ethernet because mostly
- it was 3 megabit but
-
-0:17:28.519,0:17:31.059
-we had a 10 which was like really cool stuff.
-
-0:17:31.059,0:17:32.260
-uh and
-
-0:17:32.260,0:17:37.090
-uh so he talks to her rocker you know this thing runs
-and girl was his attitude
-
-0:17:37.090,0:17:39.280
-as well the backbone
-
-0:17:39.280,0:17:44.540
-of the only the 56 K so as long as
-we can saturate that what's the problem
-
-0:17:44.540,0:17:48.710
-and Bill’s attitude is well know I need to be
- all you know get closer to the bandwidth of
-
-0:17:48.710,0:17:51.450
-the network between these local machines
-
-0:17:51.450,0:17:56.430
-And so of course Bill being Bill
-dives in and see why this is the case that it's not running very
-
-0:17:56.430,0:17:57.440
-fast.
-
-0:17:57.440,0:17:58.500
-Infact DRAPA
-
-0:17:58.500,0:17:59.880
- wrote to
-
-0:17:59.880,0:18:01.680
-to some of this stuff to figure out
-
-0:18:01.680,0:18:06.320
-what was not running quickly. We already
-had it for usual of our programs that’s what we
-
-0:18:06.320,0:18:09.170
-put it into the kernel
-
-0:18:09.170,0:18:12.160
-And said to say some of these tools are still like
-considered
-
-0:18:12.160,0:18:17.050
-like leading tools but are not leading tools but
-still used tools today
-
-0:18:17.050,0:18:22.800
-Uh which isn't to say bad that it's just that
-seems like in twenty years you could do better
-
-0:18:22.800,0:18:23.690
-at any rate
-
-0:18:23.690,0:18:27.490
-he quickly discovers that way the TCP/IP
-code is written
-
-0:18:27.490,0:18:30.000
-is it’s this elaborate state machine
-
-0:18:30.000,0:18:32.970
-and there's the state transitions that you
-go through and
-
-0:18:32.970,0:18:36.919
-each time we want to a state transition the
-you jump through an indirect
-
-0:18:36.919,0:18:39.090
-this and that and other things and
-
-0:18:39.090,0:18:42.520
-and he goes well you know this is just great
-and efficient and you know
-
-0:18:42.520,0:18:46.620
-we could just take this machine turned
-into a giant switch statement
-
-0:18:46.620,0:18:49.860
-And you know if you're going to see a red area
-know to get from here to there are going to
-
-0:18:49.860,0:18:53.070
-need to switch states buttoning ON and that’s that
-
-0:18:53.070,0:18:54.380
-We'll just do that
-
-0:18:54.380,0:18:57.770
-And so he starts crank on his way
-and
-
-0:18:57.770,0:18:59.230
-pounding out all of that
-
-0:18:59.230,0:19:01.680
-the structure and getting a down
-
-0:19:01.680,0:19:04.110
-of what it looks like today
-
-0:19:04.110,0:19:06.200
-And uh
-
-0:19:06.200,0:19:09.390
-that's the spin cleaned up considerably over
-the years but
-
-0:19:09.390,0:19:12.280
-Uh so he cranks it down to this and
-
-0:19:12.280,0:19:14.770
-gets up to the point where
-
-0:19:14.770,0:19:19.420
-he can at least saturate that 3 megabit wire
-we can’t saturate the
-
-0:19:19.420,0:19:21.960
-10 megabit wire but it's because the
-
-0:19:21.960,0:19:24.640
-actually Ethernet controllers are which themselves are
-
-0:19:24.640,0:19:26.740
-not able to uh
-
-0:19:26.740,0:19:30.310
-really run at 10 megabits uh
-
-0:19:30.310,0:19:33.330
-these were you know prototype early release
-stuff and so
-
-0:19:33.330,0:19:35.020
-we get it upto
-
-0:19:35.020,0:19:36.960
-somewhere around four
-
-0:19:36.960,0:19:39.370
-megabit uh
-
-0:19:39.370,0:19:43.370
-But we're only looking at 40% CPU time
-so in theory if we could have run at wire’s
-
-0:19:43.370,0:19:46.809
-speed we got up to 10 megabit
-and for other reasons it wouldn't have
-
-0:19:46.809,0:19:47.350
-but
-
-0:19:47.350,0:19:53.760
-the point is we were like uh a way way over of magnitude
-ahead of where we started from later of
-
-0:19:53.760,0:19:56.350
-and so
-
-0:19:56.350,0:19:59.480
-Uh there's a lot of pressure from a lot of the
-
-0:19:59.480,0:20:02.950
-uh the people that have been that have 4.1
-
-0:20:02.950,0:20:04.640
-that they want to
-
-0:20:04.640,0:20:07.320
-try out this networking stuff
-
-0:20:07.320,0:20:10.080
-and so uh
-
-0:20:10.080,0:20:11.870
-this code
-
-0:20:11.870,0:20:13.210
-as such as it was
-
-0:20:13.210,0:20:17.280
-uh got released as something that we call
-4.1a
-
-0:20:17.280,0:20:20.680
-Uh so 4.1a was sort of the
-
-0:20:20.680,0:20:22.559
-first intermediate release of
-
-0:20:22.559,0:20:26.020
-Uh between 4.1 and 4.2
-
-0:20:26.020,0:20:28.860
-and this got surprisingly large
-
-0:20:28.860,0:20:32.890
-larger distribution then we have really planned
-on because you know you give it to one person
-
-0:20:32.890,0:20:38.010
-and then someone else hears about it. May want it
-then someone else wants it nahnah.....
-0:20:38.010,0:20:42.030
-It's not like today and where you just put it up
- just anonymous FTP. This was still
-
-0:20:42.030,0:20:45.340
-put it on a tape Mule tape somebody big
-
-0:20:45.340,0:20:46.640
-nine track tapes
-
-0:20:46.640,0:20:48.110
-uh
-
-0:20:48.110,0:20:52.900
-And uh if you'd want lucky enough to have a high
-tape drive 6250
-
-0:20:52.900,0:20:55.090
-Which for inchtape drive then you had to get
-
-0:20:55.090,0:20:56.430
-the 1604
-
-0:20:56.430,0:20:59.360
- tapes together all out there
-
-0:20:59.360,0:21:01.660
-Uh at any rate
-
-0:21:01.660,0:21:03.820
-This this code goes out
-
-0:21:03.820,0:21:04.299
-Uh and uh
-
-0:21:04.299,0:21:10.039
-measured about this time Sam Leffler
-somebody's name probably know in contemporary
-
-0:21:10.039,0:21:11.800
-stuff having to do with wireless
-
-0:21:11.800,0:21:14.000
-Uh I actually joined
-
-0:21:14.000,0:21:15.710
-the Source Forge group there
-
-0:21:15.710,0:21:17.340
-uh and
-
-0:21:17.340,0:21:19.530
-he begins to help build with
-
-0:21:19.530,0:21:21.669
-a rewrite of the networking interface
-
-0:21:21.669,0:21:23.020
-on in particular
-
-0:21:23.020,0:21:27.210
-uh Bill hadn't quiet hard on to the
-fact that
-
-0:21:27.210,0:21:30.320
-uh When you may want to have multiple connections
-
-0:21:30.320,0:21:33.970
-concurrently on a particular port
-so if you're running some TP
-
-0:21:33.970,0:21:35.720
-server of HTTP
-
-0:21:35.720,0:21:38.640
-Uh the way he had written had a except
-
-0:21:38.640,0:21:42.780
-that the that the what we think of surround view of
-the socket today was actually connected
-
-0:21:42.780,0:21:46.350
-and so that nobody else to talk to you on
-that particular port to you. When you’re
-
-0:21:46.350,0:21:48.170
-finished with that conversation and then
-
-0:21:48.170,0:21:51.520
-that the sock would become free again and you
-could’ve the next connection.
-
-0:21:51.520,0:21:52.759
-he says like that no
-
-0:21:52.759,0:21:54.389
-no we got it like
-0:21:54.389,0:21:56.500
-to have more than one at a time
-
-0:21:56.500,0:22:01.510
-and so that's when the whole listen and the
-rendezvous socket works up returns to a new
-
-0:22:01.510,0:22:03.670
-connected socket and so on
-
-0:22:03.670,0:22:06.960
-uh and so at any rate
-
-0:22:06.960,0:22:08.900
-this this all it gets done
-
-0:22:08.900,0:22:10.970
-And uh
-
-0:22:10.970,0:22:15.930
-I've gotten ropped into doing the files system
-which is another part of an earlier story.
-
-0:22:15.930,0:22:20.130
-uh and so the file system is sort of the
-point where we're ready to inflicted I mean
-
-0:22:20.130,0:22:22.120
-let other users try it
-
-0:22:22.120,0:22:24.480
-and we have revise networking
-
-0:22:24.480,0:22:25.600
-and so this
-
-0:22:25.600,0:22:26.460
-Uh came up
-
-0:22:26.460,0:22:28.960
-as a release called 4.1b
-
-0:22:28.960,0:22:33.390
-and then fairly quickly thereafter the signal
-stuff got cleaned up
-
-0:22:33.390,0:22:36.670
-so 4.1b got replaced to 4.1c
-
-0:22:36.670,0:22:40.450
-Uh remember there were four things that we need
-to get done so A was the networking B was the file system
-
-0:22:40.450,0:22:42.309
-and C was the signalling and
-
-0:22:42.309,0:22:43.920
-D was supposed to be
-
-0:22:43.920,0:22:47.880
-the virtual memory which of course did happen
-for another six or seven years
-
-0:22:47.880,0:22:49.190
-Uh but
-
-0:22:49.190,0:22:52.390
-at any rate 4.1c was another one
-of these ones
-
-0:22:52.390,0:22:54.600
-which was an enormously picked up
-
-0:22:54.600,0:22:56.300
-very wide distribution
-
-0:22:56.300,0:22:57.860
-uh and in
-
-0:22:57.860,0:23:01.110
-in the meantime
-
-0:23:01.110,0:23:05.640
-Uh you know the folks at the PBNF continues to
-work and developing and
-
-0:23:05.640,0:23:06.570
-polishing their code
-
-0:23:06.570,0:23:09.720
-uh but Bill had asked another copy
-of it so
-
-0:23:09.720,0:23:12.570
-they hadn’t delivered it because it
-wasn’t done yet any way
-
-0:23:12.570,0:23:15.370
-uh and they’re just get it done
-
-0:23:15.370,0:23:18.450
-then give it to Berkley we could put it
-in this
-
-0:23:18.450,0:23:20.790
-preparation for shipping 4.2
-
-0:23:20.790,0:23:24.090
-Well 4.1c got out there
-
-0:23:24.090,0:23:25.610
-and uh
-
-0:23:25.610,0:23:29.760
-Bill then was setting about to work on
-the VM stuff
-
-0:23:29.760,0:23:34.260
-When one day going to his office to
-Chat with him. He says, “ Come into my office and you know I
-
-0:23:34.260,0:23:37.840
- I am
-
-0:23:37.840,0:23:41.870
-involved with these other folks down at Stanford
-and they have some hardware
-
-0:23:41.870,0:23:42.860
-and they want
-
-0:23:42.860,0:23:45.020
-me to put some Berkley UNIX on it
-
-0:23:45.020,0:23:46.020
-and you know
-
-0:23:46.020,0:23:48.770
-starts selling these things as workstations
-
-0:23:48.770,0:23:49.889
-and uh
-
-0:23:49.889,0:23:52.500
-I’m going I gonna go
-
-0:23:52.500,0:23:56.430
-I am going down there and you know that one of the
-founding members of this and you should come
-
-0:23:56.430,0:23:57.230
-along
-
-0:23:57.230,0:23:58.750
-uh because you know
-
-0:23:58.750,0:24:03.989
-you being a single digit
-employee at workstations.
-
-0:24:03.989,0:24:06.559
-You’ll get huge stock option
-it’s gonna be really exciting and you know
-
-0:24:06.559,0:24:11.450
-I at that time I had already completed my degree
-in business from
-
-0:24:11.450,0:24:12.580
-Uh University California so
-
-0:24:12.580,0:24:14.710
-I knew something about business
-
-0:24:14.710,0:24:18.460
-in fact I've taken an entrepreneurial course
-so I knew a lot about starting up companies
-
-0:24:18.460,0:24:19.830
-and selling back.
-
-0:24:19.830,0:24:23.230
-And so I said,” Well you know Bill
-
-0:24:23.230,0:24:27.750
-this all sounds good what you know what what
-is that’s going to make you so successful.”
-
-0:24:27.750,0:24:31.480
-He says,” All those facts that you know we're
-not going to vendor lock in and you know it's going
-
-0:24:31.480,0:24:33.190
-to be running the UNIX and
-
-0:24:33.190,0:24:38.000
-if SUN doesn’t do it right they
-can always go to another vendor and can get UNIX from now.
-
-0:24:38.000,0:24:40.730
-and uh that’s that's going to be the story
-
-0:24:40.730,0:24:43.320
-And I said, “Well you know this is well and good but
-
-0:24:43.320,0:24:46.120
-let me explain about workstations.”
-
-0:24:46.120,0:24:50.860
-Uh workstations is about the install base of applications
-as people buy workstations because the applications
-
-0:24:50.860,0:24:52.700
- run on it
-
-0:24:52.700,0:24:56.810
-And uh you know this is company APPOLO that had
-
-0:24:56.810,0:25:01.220
-a 4 years head start on SUN and they've
-got a lock on the applications
-
-0:25:01.220,0:25:04.860
-and people aren’t going to switch the SUN because
-they need the applications that run on APPOLO.
-
-0:25:04.860,0:25:06.690
-So you know
-
-0:25:06.690,0:25:09.400
-I'm sure it's going to be interesting but
-uh
-
-0:25:09.400,0:25:13.909
-you know I'm only a few months from finishing
-my PHD in I know I got a SUN with you that
-
-0:25:13.909,0:25:15.249
-won't happen
-
-0:25:15.249,0:25:18.390
-So I’m gonna my PhD we'll see how SUN is doing in
-
-0:25:18.390,0:25:20.660
-over six or eight months and you know
-
-0:25:20.660,0:25:22.130
-We’ll evaluate
-
-0:25:22.130,0:25:26.640
-well of course it took me in and fourteen
-fifteen months to finish my PhD and of
-
-0:25:26.640,0:25:27.740
-course by that time
-
-0:25:27.740,0:25:31.590
-SUN had burst onto the scene and didn't
-have anything interesting stock options
-
-0:25:31.590,0:25:33.910
-left
-
-0:25:33.910,0:25:39.410
-So uh if you want it buy it's about business perhaps
-I'm not the one to ask
-
-0:25:39.410,0:25:41.410
-at any rate
-
-0:25:41.410,0:25:44.420
-Bill left without doing to the VM system
-
-0:25:44.420,0:25:49.500
-Uh and he took 4.1c with him to get it
-ported on to the the SUN hardware.
-
-0:25:49.500,0:25:51.300
-and
-
-0:25:51.300,0:25:54.240
-with this sort uh of hit
-
-0:25:54.240,0:25:55.910
-on the the main developer
-
-0:25:55.910,0:26:00.510
-uh we decided that rather than trying up to get
-someone else up to speed in getting to the
-
-0:26:00.510,0:26:02.710
-VM done and so on.
-
-0:26:02.710,0:26:05.520
-We would instead
-
-0:26:05.520,0:26:09.370
-just declare the first three pieces of this
-4 piece contract
-
-0:26:09.370,0:26:11.580
-uh work released
-
-0:26:11.580,0:26:14.020
-and so
-
-0:26:14.020,0:26:15.720
-uh around this time
-
-0:26:15.720,0:26:18.050
-this be back June of 1983
-
-0:26:18.050,0:26:20.620
-Uh Micheal Karl joins the group
-
-0:26:20.620,0:26:22.590
-essentially coming in uh
-
-0:26:22.590,0:26:25.500
-to replace in into the position that was
-
-0:26:25.500,0:26:27.119
-up formerly held by
-
-0:26:27.119,0:26:29.330
-Sam ..Sam uh out by
-
-0:26:29.330,0:26:32.000
-Bill as that sort of
-
-0:26:32.000,0:26:33.250
-Head of lead programmer
-
-0:26:33.250,0:26:36.510
-uh and
-
-0:26:36.510,0:26:40.490
-because Sam also Sam had also considered taking
-that position but ultimately decided that
-
-0:26:40.490,0:26:44.610
-uh he he didn't want to do that he was gonna
-to go off to do graphic and
-
-0:26:44.610,0:26:46.990
- looks as well
-
-0:26:46.990,0:26:48.830
-and so
-
-0:26:48.830,0:26:51.030
-the uh
-
-0:26:51.030,0:26:52.980
-the upshot of this was that
-
-0:26:52.980,0:26:55.429
-4.2 got released
-
-0:26:55.429,0:26:57.920
-in about August of 83
-
-0:26:57.920,0:27:01.549
-And uh
-
-0:27:01.549,0:27:05.640
-there’re uh about 1000 copies around remember for each
-copy that goes out that’s like an institution gets
-
-0:27:05.640,0:27:07.429
-a copy and you know
-
-0:27:07.429,0:27:10.760
-spread across all those machines et cetera.
-
-0:27:10.760,0:27:14.470
-Uh there's another way of looking at it is you can
-look at the number of licenses that AT&T
-
-0:27:14.470,0:27:16.400
- had outstanding
-
-0:27:16.400,0:27:21.420
-and how many licenses that Berkley had
-
-0:27:21.420,0:27:24.310
-at the time we had shipped a thousand, there were
-about twelve hundred
-
-0:27:24.310,0:27:27.450
-uh AT&T licenses. So it says that
-
-0:27:27.450,0:27:29.149
-fair number of people were running
-
-0:27:29.149,0:27:35.310
-Uh now at this point just for context AT&T is
-releasing system 5 release one
-
-0:27:35.310,0:27:37.380
-So that is short of where they are.
-
-0:27:37.380,0:27:39.290
-Uh They had taken their file system and
-
-0:27:39.290,0:27:44.010
-up the block size from 512 bytes
- to 1 K
-
-0:27:44.010,0:27:46.750
-Uh at any rate
-
-0:27:46.750,0:27:47.870
-PBNN
-
-0:27:47.870,0:27:50.650
-was very upset that their TCP/IP
-
-0:27:50.650,0:27:53.340
-had not been incorporated.
-
-0:27:53.340,0:27:57.650
-and here we released it but it was this like
-prototype early version had been bastardize
-
-0:27:57.650,0:27:59.100
-by Bill
-
-0:27:59.100,0:28:04.290
-and like you know this is it that you know
-DARPA paid and now you know have the shiny wonderful
-
-0:28:04.290,0:28:05.990
-TCP/IP stack.
-
-0:28:05.990,0:28:09.150
-You should be putting this in
-
-0:28:09.150,0:28:10.369
-and so
-
-0:28:10.369,0:28:15.310
-they began agitating with DARPA and saying
-what you know Blah Blah got this happened
-
-0:28:15.310,0:28:16.280
-and so
-
-0:28:16.280,0:28:20.950
-uh Michael Karl being very deliberative
-what a person he is.
-
-0:28:20.950,0:28:23.330
-Says Ok well
-
-0:28:23.330,0:28:27.780
-I'll take the TCP/IP code from BBN and I'll
-take the TCP code from
-
-0:28:27.780,0:28:28.870
-that we have in 4.2
-
-0:28:28.870,0:28:31.550
-and will evaluate both of them
-
-0:28:31.550,0:28:38.430
-and the evaluation involves you know
-performance and maintenance abilities
-
-0:28:38.430,0:28:41.980
-and functionality and all these various
-necessary things
-
-0:28:41.980,0:28:42.779
-and
-
-0:28:42.779,0:28:47.370
-He says, “ Well you know the TCP/IP the idea comes
-from BBN and has some really good ideas
-
-0:28:47.370,0:28:49.039
-and we don't have so we'll just
-
-0:28:49.039,0:28:51.330
-Pick those up and drop it in our distribution
-
-0:28:51.330,0:28:55.510
-Uh but we don't really feel that their
-
-0:28:55.510,0:28:57.950
-code is uh you know
-
-0:28:57.950,0:29:01.090
-is the good place to start from. There are lot of people
-this point
-
-0:29:01.090,0:29:05.730
-that have worked with the prickly code
-and they know that code is based on huge amount of enhancements
-
-0:29:05.730,0:29:07.570
-on it.
-
-0:29:07.570,0:29:10.880
-Uh This is wonderful book that's been written
-all about it
-
-0:29:10.880,0:29:13.049
-So it is very well documented
-
-0:29:13.049,0:29:13.500
-and
-
-0:29:13.500,0:29:17.960
-it just doesn't seem to have really make sense
-to
-
-0:29:17.960,0:29:22.460
-reset back to here and then have to get all
-of those improvements changes et cetera.
-
-0:29:22.460,0:29:23.809
-Uh into this
-
-0:29:23.809,0:29:25.280
-particular new version.
-
-0:29:25.280,0:29:27.150
-uh it it
-
-0:29:27.150,0:29:30.440
-I finally graduated in 84 and during
-the project
-
-0:29:30.440,0:29:33.260
-uh foolishly that taking over as
-
-0:29:33.260,0:29:34.170
-it's technically but
-
-0:29:34.170,0:29:35.419
-is the lead
-
-0:29:35.419,0:29:38.960
-which meant that I got to deal with all of
-the political polls showed while
-
-0:29:38.960,0:29:41.870
-Mike got to do lots of programming
-
-0:29:41.870,0:29:45.140
-So let that be a lesson to you that if you think
-that they're trying to sweet talk
-
-0:29:45.140,0:29:50.409
-you and How great it is to be in-charge
-of things.
-
-0:29:50.409,0:29:50.960
-Uh
-
-0:29:50.960,0:29:53.080
-At any rate we
-
-0:29:53.080,0:29:56.680
-continue debating back and forth about this
-stuff with BBN.
-
-0:29:56.680,0:30:00.180
-We kept taking stuff putting it into
-And look you know that we've taken that we've we’ve taken that
-
-0:30:00.180,0:30:03.720
-“No No. You have to take the code
-You got to take the code.”
-
-0:30:03.720,0:30:05.440
-So at any rate 4.3
-
-0:30:05.440,0:30:07.750
-was really designed
-
-0:30:07.750,0:30:12.340
-much like 4.1 in the sense of consolidating
-what we already had. So throughout the eh
-
-0:30:12.340,0:30:17.350
-the even-numbered releases from Berkeley had
-a lot of functionality and odd releases
-
-0:30:17.350,0:30:19.930
-tried to really get the performance up
-
-0:30:19.930,0:30:24.170
-Uh we we're always striving to make sure that
-things worked when the released up, but we didn't
-
-0:30:24.170,0:30:24.830
-always
-
-0:30:24.830,0:30:27.169
-strive to make sure they work optimally.
-
-0:30:27.169,0:30:30.090
-Uh figuring that it was better to sort of
-tune things
-
-0:30:30.090,0:30:33.090
-after the fact that once you had a electrode working
-in right way.
-
-0:30:33.090,0:30:37.510
-So anyway we made an announcement
-of 4.3
-
-0:30:37.510,0:30:39.379
-Uh actually at the June 1985
-
-0:30:39.379,0:30:43.510
-it's the fact that two years basically have
-gone by here.
-
-0:30:43.510,0:30:44.510
- and
-
-0:30:44.510,0:30:45.620
-uh
-
-0:30:45.620,0:30:46.470
-BBN
-
-0:30:46.470,0:30:50.620
-you know immediately objects that we have
-not taken their code
-
-0:30:50.620,0:30:51.110
-and
-
-0:30:51.110,0:30:52.970
-uh they go to DARPA
-
-0:30:52.970,0:30:57.940
-and they said, “You paid BBN
-how many millions of dollars, more than you paid to
-
-0:30:57.940,0:30:59.719
-Berkley to do this code
-
-0:30:59.719,0:31:00.730
-you gonna uh you know
-0:31:00.730,0:31:02.900
-and now they're not taking it
-
-0:31:02.900,0:31:04.330
-and and you know
-
-0:31:04.330,0:31:06.360
-you got look like ninnies or something.” I
-don't know
-
-0:31:06.360,0:31:08.390
-I don’t know what they’ve
-said I wasn't there
-
-0:31:08.390,0:31:10.179
-But at any rate
-
-0:31:10.179,0:31:13.280
-DARPA
-
-0:31:13.280,0:31:16.600
-representative shows up in my office
-
-0:31:16.600,0:31:18.220
-and
-
-0:31:18.220,0:31:19.240
-Uh very calmly
-
-0:31:19.240,0:31:21.090
-uh explains that.
-
-0:31:21.090,0:31:22.100
-You know
-
-0:31:22.100,0:31:27.940
-the agreement was that BBN&N was going to
-TCP/IP code and
-
-0:31:27.940,0:31:30.240
-Uh Berkley was to do the interface
-
-0:31:30.240,0:31:31.070
-and
-
-0:31:31.070,0:31:33.049
-This is this is the way the world and
-
-0:31:33.049,0:31:36.769
-you know we appreciate that you know you’ve
-done with other’s stuff and it was it was great work
-
-0:31:36.769,0:31:38.670
-but
-
-0:31:38.670,0:31:42.460
-they are funding us and this is the way it is.
-
-0:31:42.460,0:31:44.120
-And my quarrel is like
-
-0:31:44.120,0:31:48.370
-uh you know arguing with them and look, you
-know we've taken this and we’ve
-
-0:31:48.370,0:31:52.160
-put over here, all the reasons that I gave earlier
-
-0:31:52.160,0:31:55.410
-and you know the guy finally at the end just
-says,
-
-0:31:55.410,0:31:57.679
-“ Not . You don't understand.
-
-0:31:57.679,0:31:58.549
-we're in charge
-
-0:31:58.549,0:32:02.500
-this is what you doing. Goodbye!
-
-0:32:02.500,0:32:04.960
-And you know
-
-0:32:04.960,0:32:08.000
-it just doesn't work very well at Berkeley
-just come in and say,
-
-0:32:08.000,0:32:10.730
-“This is what you're going to do.”
-
-0:32:10.730,0:32:13.000
-The free speech movement comes to mind.
-
-0:32:13.000,0:32:15.970
-Uh so
-
-0:32:15.970,0:32:17.970
-You know Mike just go particularly BANANAS.
-
-0:32:17.970,0:32:21.190
-This like , “Aggarh”
-
-0:32:21.190,0:32:23.370
-and then fires off
-
-0:32:23.370,0:32:26.570
-unannounced to me fires off the thing
-that the DARPA uh
-
-0:32:26.570,0:32:30.050
-which if I'd been would keep in shut
-because I would not let them blame SUN
-
-0:32:30.050,0:32:31.690
-At any rate
-
-0:32:31.690,0:32:35.350
-I mean I only see it because DARPA guy
-sent it back to me and says you need to keep
-
-0:32:35.350,0:32:38.720
-your staff under control.
-
-0:32:38.720,0:32:39.650
-Uh so
-
-0:32:39.650,0:32:44.130
-at any rate um you know
-0:32:44.130,0:32:46.090
-Mike just says, “I'm not doing it.
-
-0:32:46.090,0:32:49.510
-They can't make me, I'll just leave.”
-
-0:32:49.510,0:32:51.640
- You know so you know
-
-0:32:51.640,0:32:56.450
-You tell them that they can either this way or
-they can have that way or we won’t release it. Um
-
-0:32:56.450,0:32:57.619
-Agrh . um
-
-0:32:57.619,0:33:00.330
-Come on there’s got to be some compromise
-we can do here.
-0:33:00.330,0:33:01.730
-So
-
-0:33:01.730,0:33:05.360
-Finally uh I say, “Okay let’s I
-
-0:33:05.360,0:33:07.820
-I propose that we have a break-off.
-
-0:33:07.820,0:33:13.150
-So we will uh we we had already incorporated
-into the paper there was big switch to compile one
-
-0:33:13.150,0:33:14.190
- way or the other
-
-0:33:14.190,0:33:15.609
-So my first proposal was
-
-0:33:15.609,0:33:16.910
-we will just ship it
-
-0:33:16.910,0:33:20.820
-with a compile time options.
-So you can compile for VBN code
-or it may compile powerful Berkley code.
-
-0:33:20.820,0:33:21.640
-Even BBN
-
-0:33:21.640,0:33:24.799
-Even DARPA could see
-this was a no-win
-
-0:33:24.799,0:33:27.950
-because you’ll end up with some
-people running one some people running the
-
-0:33:27.950,0:33:30.549
-other, this won’t work smoothly.
-
-0:33:30.549,0:33:31.539
- This was just not
-
-0:33:31.539,0:33:33.550
-where they want it to go.
-
-0:33:33.550,0:33:35.409
-and so we said, “Okay well
-
-0:33:35.409,0:33:38.480
-switch is there it's really easy to compile
-with two different systems.
-
-0:33:38.480,0:33:41.830
-Let’s have a break-off
-
-0:33:41.830,0:33:43.649
-you know we’ll have compiler
-
-0:33:43.649,0:33:46.549
-with one and compiler with other one and have bunch of tests
-
-0:33:46.549,0:33:49.059
-and you know will decide which one is better.
-
-0:33:49.059,0:33:50.610
-Well of course we're not going to let
-
-0:33:50.610,0:33:55.429
-Berkley do the testing because there’ll be biased
-for Berkley. We’re not going to let BBN to do the testing
-
-0:33:55.429,0:33:57.640
-because they’ll be biased for BB&N.
-
-0:33:57.640,0:33:59.720
-so we’ve to find a
-
-0:33:59.720,0:34:01.210
-uh
-
-0:34:01.210,0:34:03.480
-a third party and
-
-0:34:03.480,0:34:08.440
-uh the third party that DARPA actually proposes
-is Col Mike Moose at the Ballistics
-
-0:34:08.440,0:34:10.979
-Research Laboratory, just up the road from
-here and
-
-0:34:10.979,0:34:12.929
-Uh yeah
-
-0:34:12.929,0:34:14.509
-little known to
-
-0:34:14.509,0:34:18.659
-most of the people is that we actually knew Mike Moose
-very well because we worked a lot with him.
-
-0:34:18.659,0:34:19.910
-working on TCP/IP
-
-0:34:19.910,0:34:23.659
-so
-
-0:34:23.659,0:34:25.059
-we’re like uhm yah it’s ok with us.
-
-0:34:25.059,0:34:27.869
-And you know he was in military there’re
-
-0:34:27.869,0:34:31.139
-chain of command and BBN mock
-new ones so
-
-0:34:31.139,0:34:33.589
-they’re fine with it
-
-0:34:33.589,0:34:34.370
-So ok great so
-
-0:34:34.370,0:34:36.469
-you know off we ship that tape and
-
-0:34:36.469,0:34:40.749
-He does not tell us what test he is gonna do
-so neither side gets to
-
-0:34:40.749,0:34:44.720
-do anything other than make some suggestions
-general suggestions so
-
-0:34:44.720,0:34:48.779
-Of course we suggest the 3 port performance
-test could be important
-
-0:34:48.779,0:34:51.659
-and the BBN suggests that
-
-0:34:51.659,0:34:55.320
-uh how well it works in that phase of large
-package
-
-0:34:55.320,0:34:57.049
-great losses is important
-
-0:34:57.049,0:35:01.430
-because of course the military you know will drop
-a nuclear bomb on Chicago we want to make sure
-
-0:35:01.430,0:35:03.589
-we make outstand through that
-
-0:35:03.589,0:35:07.320
-At any rate Mike Moose sets up these the systems
-and
-
-0:35:07.320,0:35:09.150
-runs a bunch of tests
-
-0:35:09.150,0:35:12.179
-and of course without talking to either side
-
-0:35:12.179,0:35:16.950
-and so we're sort of pens and needles
-because you know several weeks goes by
-
-0:35:16.950,0:35:18.550
-and finally duh
-
-0:35:18.550,0:35:19.589
-his report lands.
-
-0:35:19.589,0:35:23.029
-You know humh comes in the mail here's his report
-
-0:35:23.029,0:35:26.269
-And the first thing you’d do is
-to flip to the last page to see what the conclusion
-
-0:35:26.269,0:35:29.479
-is but he knew that's what we're going to
-do so he hid the conclusion somewhere in the
-
-0:35:29.479,0:35:31.660
-middle
-
-0:35:31.660,0:35:33.369
-what's the need to read the entire thing
-
-0:35:33.369,0:35:36.229
-but it's a it's a very interesting week because
-
-0:35:36.229,0:35:39.910
-in terms of three protocols
-we expected we did better
-
-0:35:39.910,0:35:40.840
-Uh what
-
-0:35:40.840,0:35:44.929
-that he introduced a thing where it would
-randomly drop about every
-
-0:35:44.929,0:35:46.769
-fourth package
-
-0:35:46.769,0:35:47.799
-and
-
-0:35:47.799,0:35:49.390
-under this scenario
-
-0:35:49.390,0:35:50.919
-he says uh
-
-0:35:50.919,0:35:52.420
-the BBN code
-
-0:35:52.420,0:35:56.820
-Jumps out to an early start getting a lot
-more data through interface of hardware
-
-0:35:56.820,0:35:59.039
-packet loss uh
-
-0:35:59.039,0:36:03.099
-but but the Berkley part managers to catch up
-while the BB&N machine reboots.
-
-0:36:03.099,0:36:07.719
-Uh
-
-0:36:07.719,0:36:12.109
-Ultimately resulting in the conclusion
-that even in the phase of the packet
-
-0:36:12.109,0:36:14.739
-loss, Berkley code seems to
-
-0:36:14.739,0:36:16.349
-do a little better.
-
-0:36:16.349,0:36:17.739
-And uh so his
-
-0:36:17.739,0:36:22.119
-conclusion is that it should continue to ship
-with the BSD code.
-
-0:36:22.119,0:36:25.519
-Uh so with this result in hand
-
-0:36:25.519,0:36:28.749
-we are authorized by DARPA to do the release
-
-0:36:28.749,0:36:32.189
-and we finally managed to release
-
-0:36:32.189,0:36:35.829
-4.3 in June of
-
-0:36:35.829,0:36:38.420
-1986
-
-0:36:38.420,0:36:39.599
-so
-
-0:36:39.599,0:36:41.519
-at this point uh
-
-0:36:41.519,0:36:42.199
-At this point
-
-0:36:42.199,0:36:45.389
-the new TCP code is gone out
-
-0:36:45.389,0:36:47.189
-were you know that
-
-0:36:47.189,0:36:52.289
-The revised BSD TCP/IP code is gone out
-
-0:36:52.289,0:36:54.689
-[with or without subnets]
-With or without uh..subnets
-
-0:36:54.689,0:36:56.150
-uh that had
-
-0:36:56.150,0:36:59.809
-well the the class ABC type of subnets
-not
-
-0:36:59.809,0:37:01.319
-not the uh
-
-0:37:01.319,0:37:02.910
-the sider stuff
-
-0:37:02.910,0:37:09.910
-sider came along
-
-0:37:16.329,0:37:17.299
-okay
-
-0:37:17.299,0:37:19.409
-uh at any rate uh
-
-0:37:19.409,0:37:23.719
-now we start accelerating the story hope
-that again because I have to finish in
-
-0:37:23.719,0:37:25.559
-eight minutes
-
-0:37:25.559,0:37:27.540
-so at this point
-
-0:37:27.540,0:37:28.260
-Keith Bostic
-
-0:37:28.260,0:37:29.209
-comes to
-
-0:37:29.209,0:37:30.469
-comes to Berkeley
-
-0:37:30.469,0:37:34.059
-uh he had been at excise which some of you
-may know
-
-0:37:34.059,0:37:37.329
-and this is in the fall of 1986 so
-
-0:37:37.329,0:37:40.219
-we've released 4.3 we’re just
-getting cranked up
-
-0:37:40.219,0:37:43.049
-to work on 4.4 uh
-
-0:37:43.049,0:37:45.259
-remember that VM thing
-
-0:37:45.259,0:37:48.039
-and I think by this time this is other little
-
-0:37:48.039,0:37:50.329
-protocol MFS you may’ve heard of it
-
-0:37:50.329,0:37:54.839
-and it was felt that we ought to have that
-as well
-
-0:37:54.839,0:37:57.150
-uh so bring Keith to pass the protocol
-
-0:37:57.150,0:37:59.560
-Uh one of his of requirements for coming
-
-0:37:59.560,0:38:03.420
-is that we have to agree to allow him to finish
-that port of
-
-0:38:03.420,0:38:06.539
-2.11 to the PDP 11 ah
-
-0:38:06.539,0:38:08.489
-and uh you know
-
-0:38:08.489,0:38:12.470
-it's it's a real challenge to get a kernel which
-adapt the port where it was about
-
-0:38:12.470,0:38:17.239
-just under 200 kilobyte of text
-to fit on to a machine that has a maximum
-
-0:38:17.239,0:38:20.299
-amount of program space of 64 kilobytes
-
-0:38:20.299,0:38:23.450
- because what you have to do is to
-break and overlays
-
-0:38:23.450,0:38:27.789
-and then you map in the overly and
- the granularity of mapping is 4k
-
-0:38:27.789,0:38:28.530
-okay
-
-0:38:28.530,0:38:33.079
-So there's only eight pieces that you
-can remap uh
-
-0:38:33.079,0:38:37.519
-Mike can I added to it is that’s
-incredibly challenging problem and it's
-
-0:38:37.519,0:38:41.469
-probably you know intellectually very stimulating
-but there's no way how we would do that.
-
-0:38:41.469,0:38:43.139
-Well if you want to do it you know
-
-0:38:43.139,0:38:45.849
-by all means you can do that in your
-spare time
-
-0:38:45.849,0:38:48.309
-uh there is only three jobs you need to do
-
-0:38:48.309,0:38:51.540
-uh one is uh you need to be the answer the
-phone
-
-0:38:51.540,0:38:55.409
-uh first thing other than distribution like
-technical questions
-
-0:38:55.409,0:38:58.149
-and answer the incoming the mail stream for technical
-questions.
-
-0:38:58.149,0:39:03.900
-Uh do some programming in in in your spare
-time you can work on the PDP 11
-
-0:39:03.900,0:39:04.850
-and know he was
-
-0:39:04.850,0:39:08.669
-had no other support for the phones and the
-email
-
-0:39:08.669,0:39:09.460
-and we had
-
-0:39:09.460,0:39:12.209
-you know by this time about two thousand
-
-0:39:12.209,0:39:14.749
-uh distributions
-
-0:39:14.749,0:39:19.730
-So at any rate Keith did in fact finally
-finished the PDP 11.
-
-0:39:19.730,0:39:20.779
-Uh port uh
-
-0:39:20.779,0:39:23.029
-got 2.11 out of the door
-
-0:39:23.029,0:39:26.960
-and we have a party to celebrate the fact
-that he had completed this.
-
-0:39:26.960,0:39:29.850
-and part of the party was opening the window
-
-0:39:29.850,0:39:31.240
-on the fourth floor
-
-0:39:31.240,0:39:33.519
-of our uh building
-
-0:39:33.519,0:39:38.849
-and taking his PDP 11 and
-ceremoniously dropping out of the window to the cement
-
-0:39:38.849,0:39:40.979
-sidewalks four stories below
-
-0:39:40.979,0:39:43.100
-to insure that he would never
-
-0:39:43.100,0:39:44.749
-work on it again.
-
-0:39:44.749,0:39:50.409
-This was him doing this not us.
-
-0:39:50.409,0:39:51.849
-At any rate uh
-
-0:39:51.849,0:39:53.930
-Keith of course being in the front line
-
-0:39:53.930,0:39:55.919
-uh support
-
-0:39:55.919,0:39:59.199
-Uh had a lot of feedback from various users uh
-
-0:39:59.199,0:40:00.509
-in particular
-
-0:40:00.509,0:40:03.559
-there were a number of vendors that work
-
-0:40:03.559,0:40:05.159
-trying to build
-
-0:40:05.159,0:40:05.930
-uh
-0:40:05.930,0:40:08.560
-Network cards you could plug into a PC
-
-0:40:08.560,0:40:10.999
-that would provide TCP/IP network
-
-0:40:10.999,0:40:16.180
-and of course the PC it was way too feeble
-to actually run the code in the PC itself
-
-0:40:16.180,0:40:17.539
-so they had a outward
-
-
-0:40:17.539,0:40:18.799
-processor on the card
-
-0:40:18.799,0:40:22.039
-and they’d put the TCP/IP in there
-that would sort of look
-
-0:40:22.039,0:40:23.200
-uh like a
-
-0:40:23.200,0:40:26.779
-file or some kind of device on
-that PC and
-
-0:40:26.779,0:40:28.900
-so they would just open the uh
-
-0:40:28.900,0:40:30.709
-get connected to the network
-
-0:40:30.709,0:40:34.939
-and So of course they wanted TCP/IP
-code from Berkeley along with the important
-
-0:40:34.939,0:40:38.210
-utilities like O or log in and
-
-0:40:38.210,0:40:38.659
-RCP uh
-
-0:40:38.659,0:40:42.709
-by that time FTP and TELNET uh
-
-0:40:42.709,0:40:45.189
-and
-
-0:40:45.189,0:40:48.909
-they didn't our standard thing was
-to buy the distribution and take whatever
-
-0:40:48.909,0:40:50.100
-they need to get out of it.
-
-0:40:50.100,0:40:52.769
-But that meant they had to get an AT&T license.
-
-0:40:52.769,0:40:57.680
-By the late 80’s the AT&T
-licenses or up to a quarter million dollars
-
-0:40:57.680,0:40:59.379
-and when you're in a little
-
-0:40:59.379,0:41:03.939
-commodity PC business a quarter million dollar
-cost just to get the surfer before you do
-
-0:41:03.939,0:41:04.619
-anything with it
-
-0:41:04.619,0:41:06.669
-was just a non-starter for them.
-
-0:41:06.669,0:41:09.850
-And so we're getting requests for just
-
-0:41:09.850,0:41:13.199
-that TCP/IP code and associated utilities.
-
-0:41:13.199,0:41:17.479
-clearly since it all been developed in Berkley
-was none of that in the original version 7 UNIX
-
-0:41:17.479,0:41:19.910
-which started from uh
-
-0:41:19.910,0:41:22.099
-AT&T couldn’t place any claim to that.
-
-0:41:22.099,0:41:26.829
-And so we talked to the lawyers at Berkeley and
-they’re like this “How can we make money on this?” uh
-
-0:41:26.829,0:41:29.249
-because that's what they were paid to say and
-
-0:41:29.249,0:41:33.089
-so we pointed out to them that It had been developed
-under a government contract and we showed them
-
-0:41:33.089,0:41:36.630
-the government contract saying that you know
-this stuff done in this contract has to be
-
-0:41:36.630,0:41:37.229
-made
-
-0:41:37.229,0:41:40.769
-available to the public at reasonable cost or
-whatever it said
-
-0:41:40.769,0:41:41.380
-uh
-
-0:41:41.380,0:41:42.100
-so
-
-0:41:42.100,0:41:45.669
-it didn’t really say that but be convinced the
-lawyers that it did
-
-0:41:45.669,0:41:46.359
-and so
-
-0:41:46.359,0:41:48.369
-They agreed to lead us to pull out
-
-0:41:48.369,0:41:50.889
-this chunk of Berkley code and we
-
-0:41:50.889,0:41:51.859
-released that
-
-0:41:51.859,0:41:52.579
-under
-
-0:41:52.579,0:41:54.980
-this new license that the lawyers coped up
-
-0:41:54.980,0:41:59.299
-uh which is the one that we today think of
-as the BSD license.
-
-0:41:59.299,0:42:03.569
-And of course our goal was to the absolutely
-as
-
-0:42:03.569,0:42:07.979
-free as you know free to give away as we could possibly could
-the really only thing you had to do was to give the credit to
-
-0:42:07.979,0:42:08.789
-Berkeley.
-
-0:42:08.789,0:42:12.140
-Uh so this was networking release one.
-
-0:42:12.140,0:42:14.019
-and uh it was a wild success
-
-0:42:14.019,0:42:17.519
-uh the amazing thing was that we sold at 100
-we could
-
-0:42:17.519,0:42:20.249
-Buy it from Berkeley for 1000 dollars
-
-0:42:20.249,0:42:24.169
-or you could just downloaded it off your net
-for free
-
-0:42:24.169,0:42:28.209
-and yet a thousand people chose to pay a 1000
-dollars at Berkeley to get it.
-
-0:42:28.209,0:42:30.220
-and the only difference was that you got
-
-0:42:30.220,0:42:33.660
-to take a 9 track tape which many people didn't
-have any way of reading
-
-0:42:33.660,0:42:34.100
-and
-
-0:42:34.100,0:42:35.719
-hey uh
-
-0:42:35.719,0:42:39.869
-that a piece of paper signed by Berkley
-lawyers
-
-0:42:39.869,0:42:42.289
-essentially saying “Yes you can use this”
-
-0:42:42.289,0:42:44.939
-and that's what they were paying a 1000 dollars for
-
-0:42:44.939,0:42:48.239
-and the lawyers of course got paid something
-like a hundred dollars for every one of
-
-0:42:48.239,0:42:50.790
-these that they signed because of the overhead
-
-0:42:50.790,0:42:51.650
-et cetera
-
-0:42:51.650,0:42:54.349
-they thought this was the cat's pyjamas
-
-0:42:54.349,0:42:57.499
-you know maybe the campus was making a lot of
-money but their office was confined to offer just to Thank
-
-0:42:57.499,0:42:59.009
-you very much!
-
-0:42:59.009,0:43:01.409
-so
-
-0:43:01.409,0:43:03.420
-Uh at any rate oh
-
-0:43:03.420,0:43:04.440
-Network one was
-
-0:43:04.440,0:43:06.059
-widely successful
-
-0:43:06.059,0:43:08.309
-and so there was pressure as Keith
-
-0:43:08.309,0:43:12.369
-would come inside uh someone today want to want to
-be I or somebody wants this is or somebody
-
-0:43:12.369,0:43:13.589
-wants that
-
-0:43:13.589,0:43:16.289
-and you know we really ought to do this and uh
-
-0:43:16.289,0:43:19.440
-you know how about figuring out other parts of the
-kernel.
-
-0:43:19.440,0:43:20.559
-Mike and I would
-
-0:43:20.559,0:43:24.929
-Michael and I would look at the each other we
-look at Keith it’s like yah yah all right.
-
-0:43:24.929,0:43:28.989
-Uh what you figured out you know I mean
-You know all entire of the C library and all
-
-0:43:28.989,0:43:29.819
-this and that
-0:43:29.819,0:43:31.760
-so we got to the conferences and
-
-0:43:31.760,0:43:32.859
-Keith is
-
-0:43:32.859,0:43:36.809
-putting up you know these huge list of utilities
-you’ll rewrite this utility and get their name
-
-0:43:36.809,0:43:37.729
-in lights.
-
-0:43:37.729,0:43:40.869
-and uh you know and uh
-
-0:43:40.869,0:43:43.939
-So he would get this stuff send too along
-
-0:43:43.939,0:43:48.529
-and he would almost always just take a
-bash and Keith’s normal form which
-
-0:43:48.529,0:43:54.139
-usually get look a lot like what he got but
-he started from cleans so that
-
-0:43:54.139,0:43:55.119
-Was uh
-
-0:43:55.119,0:43:59.229
-you know good and you know it’s sort of easy
- you know that first someone sensing cat in.
-
-0:43:59.229,0:44:01.450
-you know someone like really go ho hog and
-
-0:44:01.450,0:44:04.849
-does that all options to allow uh
-
-0:44:04.849,0:44:07.629
-this is in the days before the new software
-you know
-
-0:44:07.629,0:44:10.119
-lots of options for in vote
-
-0:44:10.119,0:44:13.079
-Uh and then
-
-0:44:13.079,0:44:15.239
-one day uh
-
-0:44:15.239,0:44:16.759
-Keith comes into to report
-
-0:44:16.759,0:44:18.470
-that somebody is redoing
-
-0:44:18.470,0:44:20.449
-the T graph family
-
-0:44:20.449,0:44:24.099
-and this is when Mike and I look at each
-sort of grope
-
-0:44:24.099,0:44:28.190
-because the next question out of
-Keith’s mouth is How’s that kernel coming guys?
-
-0:44:28.190,0:44:32.299
-We can't go to the useless conferences and say rewrite
-the kernel to get your name in lights you know
-
-0:44:32.299,0:44:36.400
-so we actually have to like go through and
-figure out what's
-
-0:44:36.400,0:44:39.130
-Berkley and what's not Berkeley and
-
-0:44:39.130,0:44:40.499
-segregate stuff out uh
-
-0:44:40.499,0:44:43.459
-A long story but eventually we get
-
-0:44:43.459,0:44:45.599
-something we feel that was clean
-
-0:44:45.599,0:44:47.929
-and uh so
-
-0:44:47.929,0:44:51.699
-we go back to the lawyers and say we’ll
-cut the update to the networking tape
-
-0:44:51.699,0:44:52.989
-that we'd like to do
-
-0:44:52.989,0:44:59.079
-uh that uh we're going to call it networking
-release 2 not 2 and
-
-0:44:59.079,0:45:00.470
-so actually
-
-0:45:00.470,0:45:04.599
-we do sort of come on and explain it is practically
-the entire system and
-
-0:45:04.599,0:45:07.759
-lots of stuff happens but they finally sign
-off on it
-
-0:45:07.759,0:45:09.469
-and we put it out there
-
-0:45:09.469,0:45:14.519
-and it's out there for good half a year before
-BSD i
-
-0:45:14.519,0:45:17.499
-was in the missing bits and start telling
-it
-
-0:45:17.499,0:45:19.650
-they you know
-
-0:45:19.650,0:45:21.439
-engineers are
-
-0:45:21.439,0:45:23.230
-not really that good at
-
-0:45:23.230,0:45:25.419
-marketing and so
-
-0:45:25.419,0:45:28.859
-in particular they think that the sort of
-cutesy see things like
-
-0:45:28.859,0:45:32.729
-having your phone number being 1800
-its UNIX
-
-0:45:32.729,0:45:38.759
-and adds to save a ninety nine percent of the
-price of a AT&T charges for the source code
-
-0:45:38.759,0:45:40.439
-Uh are cute
-
-0:45:40.439,0:45:41.670
-Got it really irritates
-
-0:45:41.670,0:45:44.759
-the piss out of AT&T
-
-0:45:44.759,0:45:46.270
-And so they sue us
-
-0:45:46.270,0:45:49.319
-imagine that why they sue BSD I
-
-0:45:49.319,0:45:53.509
-and BSD i is what added only the 6
-file and you know all the rest came from Berkley.
-
-0:45:53.509,0:45:57.129
-So we would be happy to talk about any of
-the six files you’d like to
-
-0:45:57.129,0:45:59.530
-uh but otherwise you know forget it
-
-0:45:59.530,0:46:01.009
-and the judge agrees
-
-0:46:01.009,0:46:04.539
-because they don't have any problem about
-those six files and so
-
-0:46:04.539,0:46:07.769
-there's no choice but to sue the University
-
-0:46:07.769,0:46:09.259
-and uh
-
-0:46:09.259,0:46:11.160
-that’s another long story for which I did
-
-0:46:11.160,0:46:12.629
-become an expert witness
-
-0:46:12.629,0:46:14.390
-which is actually proven
-
-0:46:14.390,0:46:18.809
-to be of relatively lucrative thing because
-being an expert witness
-
-0:46:18.809,0:46:20.039
-it's something that you
-
-0:46:20.039,0:46:24.669
-it's really hard to break into that is no
-one wants to hire someone hasn't done it before
-
-0:46:24.669,0:46:28.359
-top and it turns out that it really didn't
-matter how much you know, do
-
-0:46:28.359,0:46:33.829
-you have a PhD because if you have PhD by definition
-you must know you're talking about
-
-0:46:33.829,0:46:34.859
-himself
-
-0:46:34.859,0:46:36.219
-and number two is
-
-0:46:36.219,0:46:40.839
-How you speak in public then you know especially
-people harassing you look at ten thousand
-
-0:46:40.839,0:46:41.830
-students you know
-
-0:46:41.830,0:46:45.309
-there's not a question that a graduate student
-has never asked me but I’d deal with it
-
-0:46:45.309,0:46:51.309
-and lawyer is not up to a graduate student.
-
-0:46:51.309,0:46:53.219
-So I did pretty well that score too
-
-0:46:53.219,0:46:55.129
-uh and so
-
-0:46:55.129,0:46:57.599
-because I that they were forced to use me
- in this case.
-
-0:46:57.599,0:47:00.080
-And but I did ran after then
-
-0:47:00.080,0:47:03.879
-the lawyer the outside lawyer that the Berkeley
-got me to do some other stuff and
-
-0:47:03.879,0:47:08.800
-one thing leads to another so today I am uh
-an expert in the
-
-0:47:08.800,0:47:12.989
-network complaints vs SUN microsystem
-lawsuit vs ZFS lawsuit
-
-0:47:12.989,0:47:14.439
-which is uh
-
-0:47:14.439,0:47:17.739
-an interesting story that you can ask over
-here
-
-0:47:17.739,0:47:18.679
-At any rate
-
-0:47:18.679,0:47:21.629
-we eventually win the the lawsuit
-
-0:47:21.629,0:47:26.089
-And uh and we don't win it be subtle the
-lawsuit excuse me I have to use proper terminology
-
-0:47:26.089,0:47:27.029
-Here.
-
-0:47:27.029,0:47:28.750
-We have to agree
-
-0:47:28.750,0:47:32.999
-that networking released 2 did in fact have
-things in it that infringed
-
-0:47:32.999,0:47:34.490
-uh and
-
-0:47:34.490,0:47:35.999
-however
-
-0:47:35.999,0:47:40.329
-Uh the things that infringe were sufficiently
-minor that was some
-
-0:47:40.329,0:47:40.730
-changes
-
-0:47:40.730,0:47:42.039
-uh we can
-
-0:47:42.039,0:47:43.370
-get something else clean
-
-0:47:43.370,0:47:45.959
- we agreed that we will re-release
-
-0:47:45.959,0:47:50.890
-we'd do new release that has all these
-changes made in it as 4.4 BSD lite.
-
-0:47:50.890,0:47:54.449
-So it’s 4.4 BSD which is the whole
-thing complete with AT&T stuff and release
-
-0:47:54.449,0:47:56.059
-AT&T licenses
-
-0:47:56.059,0:47:57.580
-and for 4.4 BSD lite
-
-0:47:57.580,0:48:00.979
- which is got the stuff AT&T stuffs stripped out
-of it.
-
-0:48:00.979,0:48:04.869
-And AT&T really thought they’d won big-time
-because all these people had been using the
-
-0:48:04.869,0:48:05.509
-Net 2.
-
-0:48:05.509,0:48:08.909
-They're going to be forced to throw out
-because we’re not allowed to tell what the changes
-
-0:48:08.909,0:48:09.640
-were
-
-0:48:09.640,0:48:12.729
-and have to start all over again
-
-0:48:12.729,0:48:14.929
-from lite
-
-0:48:14.929,0:48:19.339
-And the Bill Joy in particular has never did that
-and so that's why this distribution got hammered
-
-0:48:19.339,0:48:22.150
-FreeBSD had to do it
-
-0:48:22.150,0:48:24.329
-not the BSD folks had to do it uh
-
-0:48:24.329,0:48:26.289
-and it was a huge amount of work but they
-did it
-
-0:48:26.289,0:48:30.489
-and it was great because we got two more years
-worth of our technology out
-
-0:48:30.489,0:48:32.959
-at any rate
-
-0:48:32.959,0:48:36.289
-we actually did one more incremental sort of the
-release to
-
-0:48:36.289,0:48:39.510
-I would just fix some of the most egregious
-bugs
-
-0:48:39.510,0:48:43.309
-that’s what all happened was we got all these people
-who bought this BSD lite licenses
-
-0:48:43.309,0:48:46.519
-Because they wanted to pay the
-thousand dollars to get the piece of paper
-
-0:48:46.519,0:48:46.940
-saying
-
-0:48:46.940,0:48:48.899
-and this is fine too
-
-0:48:48.899,0:48:49.640
-and uh
-
-0:48:49.640,0:48:52.819
-so we had a chunk of money and so Keith
-and I started to do the work
-
-0:48:52.819,0:48:54.689
-through that money
-
-0:48:54.689,0:48:56.329
-and it's just spend it
-
-0:48:56.329,0:48:58.640
-essentially doing bug fixes and stuff on lite
-
-0:48:58.640,0:49:00.839
-And finally released when the money ran out then
-
-0:49:00.839,0:49:03.769
-we left the university and that was the last release
-
-0:49:03.769,0:49:05.679
-Uh from from Berkley
-
-0:49:05.679,0:49:12.679
-and that is the end of my story
-So any questions?
-Uh .. Yes
-
-
-0:49:20.069,0:49:21.929
-Sorry.. uh VM system
-
-
-0:49:21.929,0:49:25.359
-VM system yup.
-
-0:49:25.359,0:49:30.579
-So the VM system was actually sort of an interesting
-story uh..
-
-0:49:30.579,0:49:33.759
-Actually both VM and NFS were interesting
-Stories.
-
-0:49:33.759,0:49:36.890
-The VM system uh
-
-0:49:36.890,0:49:41.160
-one of our attitudes was that why always come
-up with a good idea when you can steal a better
-
-0:49:41.160,0:49:42.759
-one and
-
-0:49:42.759,0:49:46.369
-you know we’re just allowed to write
-a VM system this uh
-
-0:49:46.369,0:49:47.579
-you know that BSD folks
-
-0:49:47.579,0:49:48.599
-clearly know
-
-0:49:48.599,0:49:49.530
-and
-
-0:49:49.530,0:49:50.889
-uh so
-
-0:49:50.889,0:49:54.539
-we looked around to see if there's anything
-that we could use
-
-0:49:54.539,0:49:57.969
-rather than have to interpret it from the scratch
-ourselves. and
-
-0:49:57.969,0:50:01.689
- evaluated two different things one
-was
-
-0:50:01.689,0:50:04.759
-uh the the stuff that SUN had done
-
-0:50:04.759,0:50:10.109
-and the other was the stuff that had been done at
-Carnegie Mellon under the Mark’s then and
-
-0:50:10.109,0:50:14.069
-Uh they've done a whole lot of very good work
-on the VM system we didn't really agree with
-
-0:50:14.069,0:50:18.179
-the microphone kernel principle but we liked
-the VM system
-
-0:50:18.179,0:50:21.589
-and so we talked to SUN about potentially
-
-0:50:21.589,0:50:23.479
-Contributing uh
-
-0:50:23.479,0:50:27.159
-chunk of their VM system we talked to them
-about contributing a chunk of their
-
-0:50:27.159,0:50:27.949
-VFS stuff.
-0:50:27.949,0:50:31.649
-We knew that we couldn’t get the NFS from them but
-
-0:50:31.649,0:50:32.659
-they they you know
-
-0:50:32.659,0:50:36.809
-the folks at SUN is sorts of an engineering were too
-enthusiastic about it and percolated it all the way
-
-0:50:36.809,0:50:39.459
-up to the Scott McNealy, he was the CEO at that
-time
-
-0:50:39.459,0:50:42.979
-and even Scott McNealy was pretty enthusiastic about
-giving the stuff to Berkley.
-
-0:50:42.979,0:50:45.239
-you know as long as SUN would get credit for
-it
-
-0:50:45.239,0:50:47.140
-And uh
-
-0:50:47.140,0:50:51.549
-so we've really got to the point where it
-is needed to be signed off by the the SUN
-
-0:50:51.549,0:50:52.429
-lawyers
-
-0:50:52.429,0:50:58.919
-and sent off to them and after that SUN
-lawyers came back and said,
-
-0:50:58.919,0:51:03.199
-“ Well you know your stock holders could accuse you of giving
-away company property
-
-0:51:03.199,0:51:07.309
-and and sue you in court and we really don't
-recommend that you do this.”
-
-0:51:07.309,0:51:08.380
-and so
-
-0:51:08.380,0:51:09.999
-that the very last minute it was ..
-
-0:51:09.999,0:51:12.779
-We couldn't get any of that stuff from SUN.
-
-0:51:12.779,0:51:14.699
-So we ended up
-
-0:51:14.699,0:51:17.859
-adopting this stuff from Mark
-the Mark VM system
-
-0:51:17.859,0:51:18.699
-and
-
-0:51:18.699,0:51:22.369
-so it fell to myself to take that and
-
-0:51:22.369,0:51:24.669
-figure out essentially how to plug it in.
-
-0:51:24.669,0:51:27.140
-apart of all of this the old VM system
-
-0:51:27.140,0:51:32.259
-was very portable provided you are pouring
-into something that looked a lot like a VAX.
-
-0:51:32.259,0:51:37.429
-because it came down to uh you know the that the
-basic page data structure was VAX
-
-0:51:37.429,0:51:38.979
-page data structure.
-
-0:51:38.979,0:51:40.590
-and so when people will ported it.
-
-0:51:40.590,0:51:44.440
-If they have something with the page data structure
-to look different they wouldn't take it from
-
-0:51:44.440,0:51:48.360
-the VAX and would shuffle the bits around and put
-it in the right order and then dropped it into
-
-0:51:48.360,0:51:50.829
-the whatever that architecture was
-
-0:51:50.829,0:51:55.509
-a page table. So it worked pretty well for porting
-into the motorola uh because the
-
-0:51:55.509,0:51:57.959
-NMU network was a lot like the VAX
-uh
-
-0:51:57.959,0:52:01.899
-and some other machines but in other ways it
-just really didn't cut it at all
-
-0:52:01.899,0:52:06.130
-whereas the VM had been done by
-the the folks at the CMU.
-
-0:52:06.130,0:52:09.389
-In Mark was uh you know
-
-0:52:09.389,0:52:11.059
-very elegantly designed
-
-0:52:11.059,0:52:13.150
-uh and in fact
-
-0:52:13.150,0:52:14.740
-it had in some ways
-
-0:52:14.740,0:52:18.980
-too many bells and whistles and too many options
-and because a lot of sort of dead end so they
-
-0:52:18.980,0:52:21.189
-just sort of left hanging there
-
-0:52:21.189,0:52:22.589
-Uh but uh
-
-0:52:22.589,0:52:26.200
-the structure itself was nicely done about it was
-about 90% machine independent code
-
-0:52:26.200,0:52:28.459
-10 % machine dependent code so that
-
-0:52:28.459,0:52:30.119
-a well defined interface.
-
-0:52:30.119,0:52:32.239
-the PMAC interface.
-
-0:52:32.239,0:52:34.359
-got that put in and of course we
-
-0:52:34.359,0:52:40.019
-did onto the the Berkeley mmap Interface
-rather than what they did
-
-0:52:40.019,0:52:42.700
-with uh ports and so on
-
-0:52:42.700,0:52:43.160
-Uh and
-
-0:52:43.160,0:52:48.210
-So I got back together sort in the that
-the 4 3 phase I didn’t talk about there were
-
-0:52:48.210,0:52:51.130
-two releases between 4.3 and 4.4
-4.3
-
-0:52:51.130,0:52:53.789
-Taha and 4.3 Reno and
-
-0:52:53.789,0:52:56.689
-the first of them having to the VM and the
-
-0:52:56.689,0:52:58.099
-second one having the NFS in it.
-
-0:52:58.099,0:52:59.759
-And uh
-
-0:52:59.759,0:53:01.499
-so
-
-0:53:01.499,0:53:05.529
-backup put out and then luckily people would feel
-sort of look at it and said well you know
-
-0:53:05.529,0:53:07.709
-this really needs like a lot of work
-
-0:53:07.709,0:53:11.699
-so Michael, University Utah did a tremendous
-amount of the clean up in it.
-
-0:53:11.699,0:53:16.489
-and then later actually after we release
-lite BSD in agreement
-
-0:53:16.489,0:53:18.719
-Uh did a whole lot more work on it.
-
-0:53:18.719,0:53:22.069
-really were just throwing tons of shit out
-that shouldn’t have been at first place.
-
-0:53:22.069,0:53:26.559
-I had this whole notion of an external user
-driven page which was nice but the cost
-
-0:53:26.559,0:53:30.129
-of all the extra context switching other
-things that would happen on page was sort of
-
-0:53:30.129,0:53:32.549
-a killer uh
-
-0:53:32.549,0:53:39.479
-And so at any rate that's that's how the the
-VM system got in there.
-
-0:53:39.479,0:53:40.420
-Any more questions?
-
-0:53:40.420,0:53:45.349
-See I can take like five minutes to answer
-one question.
-
-0:53:45.349,0:53:45.599
-All right ! Well Thank You very much.
+0:00:00.570,0:00:03.510 +Anyways it is my great honor and privilege + +0:00:03.510,0:00:10.510 +to introduce Kirk McKusick. He is going +to give a talk of the history of BSD. + +0:00:13.570,0:00:17.170 +So this is actually a three-hour lecture + +0:00:17.170,0:00:19.949 +but I don't have three hours so there is + +0:00:19.949,0:00:23.659 +uh is this where I allow audience participation + +0:00:23.659,0:00:27.099 +The lecture is really sort of three +main parts + +0:00:27.099,0:00:30.460 +and what I’ll do is + +0:00:30.460,0:00:34.210 +describe the three main parts. Then everyone +will get to vote on which part they find the + +0:00:34.210,0:00:35.490 +most interesting + +0:00:35.490,0:00:36.510 +Then what I.. I won’t.. + +0:00:36.510,0:00:41.309 +I used to just do just that part and I’ve got a +lot of negative feedback about that + +0:00:41.309,0:00:43.819 +So I’ll do those two parts don't get elected in + +0:00:43.819,0:00:47.210 +I'll just do quickly and then I'll concentrate +on the the one + +0:00:47.210,0:00:48.010 +piece that + +0:00:48.010,0:00:49.720 +seems to be the most popular + +0:00:49.720,0:00:51.360 +so the history of BSD + +0:00:51.360,0:00:55.750 +This is BSD at Berkeley as opposed +to once it's out into the + +0:00:55.750,0:00:57.050 +open source world + +0:00:57.050,0:01:01.810 +So the first period of time is what I call +the Bill Joy era + +0:01:01.810,0:01:06.360 +And this is where Bill Joy is starting up BSD +and it's really getting it rolling and + +0:01:06.360,0:01:07.180 +so it ends when he + +0:01:07.180,0:01:08.370 +departs + +0:01:08.370,0:01:09.610 +and + +0:01:09.610,0:01:13.080 +Sponsers uh.. starts up this company +called Sun Microsystems which you may have + +0:01:13.080,0:01:14.680 +heard of + +0:01:14.680,0:01:19.250 +Uh.. Then the second part is sort of the heyday +of BSD. So this is the period of time + +0:01:19.250,0:01:20.930 +where everybody is + +0:01:20.930,0:01:24.290 +running is 4.2 and 4.3 and so on + +0:01:24.290,0:01:24.960 +and + +0:01:24.960,0:01:28.830 +during that period of time we were being funded +by DARPA which + +0:01:28.830,0:01:31.020 +deploy a microphone somewhere in this room + +0:01:31.020,0:01:32.950 +Uh at any rate + +0:01:32.950,0:01:35.160 +there was some very interesting + +0:01:35.160,0:01:36.889 +Uh.. battles that went on + +0:01:36.889,0:01:38.630 +Uh.. about + +0:01:38.630,0:01:41.110 +exactly how TCP ought to be implemented + +0:01:41.110,0:01:46.180 +and a lot of this at that history all +that all percolates out + +0:01:46.180,0:01:48.000 +and so that's sort of the middle period and + +0:01:48.000,0:01:54.000 +and then the end period is where we have +gotten religion and have decided that + +0:01:54.000,0:01:58.130 +you know maybe BSD isn’t going be at +Berkeley forever and if we want there to be + +0:01:58.130,0:01:58.960 +any + +0:01:58.960,0:02:00.430 +possibility for it to continue + +0:02:00.430,0:02:04.530 +Uh.. we better figure out how to get it outside +the university to people that + +0:02:04.530,0:02:08.489 +other than to the people that are licensed +by AT&T Bell Laboratories. + +0:02:08.489,0:02:09.970 +And so it's the whole story of + +0:02:09.970,0:02:13.859 +how we open-sourced it and fought a one lawsuit +about that and + +0:02:13.859,0:02:15.189 +so on and so forth. + +0:02:15.189,0:02:19.049 +So those are the three main parts.. The Bill Joy .. the +middle TCP + +0:02:19.049,0:02:20.519 +building years + +0:02:20.519,0:02:20.940 +and + +0:02:20.940,0:02:24.099 +the lawsuit years at the end. + +0:02:24.099,0:02:28.879 +So how many people are most interested in hearing +the Bill Joy years + +0:02:28.879,0:02:33.999 +one two three four five, six seven eight nine +ten, eleven twelve thirteen + +0:02:33.999,0:02:35.199 +fourteen fifteen + +0:02:35.199,0:02:39.559 +Sixteen. Ok.. how many people are interested +in hearing sort of the middle era + +0:02:39.559,0:02:44.579 +one two three, four five six, seven eight nine +ten, eleven twelve thirteen fourteen fifteen + +0:02:44.579,0:02:45.320 +Sixteen.. All right.. + +0:02:45.320,0:02:46.959 +Seventeen eighteen ninety twenty twenty one + +0:02:46.959,0:02:49.959 +twenty five OK and how many people want to hear +the open + +0:02:49.959,0:02:51.079 +source + +0:02:51.079,0:02:53.159 +Lawsuit et cetera + +0:02:53.159,0:02:57.120 +Laugh.... Okkk + +0:02:57.120,0:02:58.969 +Do you see this is why I ask + +0:02:58.969,0:03:01.139 +This is usual it's interesting 'cause I get + +0:03:01.139,0:03:03.499 +different different groups votes for different +things + +0:03:03.499,0:03:06.799 +When I was in Japan they all want to hear +about the lawsuit.. you know.. that’s all they + +0:03:06.799,0:03:09.229 +have those in Japan. + +0:03:09.229,0:03:11.669 +Yeah that story is quite well known here + +0:03:11.669,0:03:14.639 +Infact the so interesting tidbit is that + +0:03:14.639,0:03:16.459 +uh through + +0:03:16.459,0:03:20.289 +Freedom of Information Act, California Freedom +of Information Act + +0:03:20.289,0:03:23.489 +uh we were able to get the uh + +0:03:23.489,0:03:27.819 +decision on that lawsuit unsealed so that +the actual text could get out which was + +0:03:27.819,0:03:30.319 +sort of interesting reading. + +0:03:30.319,0:03:34.349 +Okay, well for those of you who are interested in +a section that I'm not doing + +0:03:34.349,0:03:38.050 +This is where I get to make a shameless plug for +my DVD. + +0:03:38.050,0:03:41.709 +This is the entire three-and-a-half hour version +of this lecture + +0:03:41.709,0:03:45.949 +Which conveniently have a box of, so +if it's worth twenty dollars to you could + +0:03:45.949,0:03:52.219 +got one of these and walk away with it. + +0:03:52.219,0:03:57.119 +Ok. So uh unlike most of my talks and I don’t actually +have a laptop with slides on it and I just have these + +0:03:57.119,0:03:59.529 +handwritten notes + +0:03:59.529,0:04:01.680 +and the top line of my handwritten note says + +0:04:01.680,0:04:06.190 +the first four pages of this were written +on the Indian Pacific train on way to Perth + +0:04:06.190,0:04:12.629 +in January 1986 because I had +to give a lecture on the day I arrived. + +0:04:12.629,0:04:14.219 +So I have been uh told + +0:04:14.219,0:04:18.100 + that this was what my talk was going +to be and I was unprepared so + +0:04:18.100,0:04:23.259 +it's what a bouncy up-and-down handwriting +but it was the early history + +0:04:23.259,0:04:24.840 +so anyway + +0:04:24.840,0:04:25.880 +we're just gonna zip + +0:04:25.880,0:04:27.029 +quickly through + +0:04:27.029,0:04:29.750 +what BSD started at Berkeley + +0:04:29.750,0:04:31.150 +Uh by Bill Joy + +0:04:31.150,0:04:34.120 +uh Bill Joy was a graduate student I +happened to + +0:04:34.120,0:04:38.050 +share the same adviser with him, we were both +working on programming languages. + +0:04:38.050,0:04:41.610 +Uh you might find that hard to believe considering +that he did the C shell but + +0:04:41.610,0:04:44.539 +Uh.. laugh +0:04:44.539,0:04:48.000 +at any rate up that's what we're doing and + +0:04:48.000,0:04:50.740 +So I shared an office with him and along with + +0:04:50.740,0:04:53.720 +three other graduate students uh + +0:04:53.720,0:04:56.120 +and + +0:04:56.120,0:05:00.060 +So uh I sort of was sitting there watching a lot of +this unfolding and in fact Bill was very good + +0:05:00.060,0:05:03.080 +at getting other people enthusiastic about +doing work. + +0:05:03.080,0:05:06.849 +There was his typical comment was.. “how hard +can it be, you could just knock this off in + +0:05:06.849,0:05:08.869 +a couple hours” + +0:05:08.869,0:05:12.709 +and usually you could knock off that one thing +but of course that with can you sucked + +0:05:12.709,0:05:16.060 +in and you know you end up writing the entire Pascal +interpreter or + +0:05:16.060,0:05:18.039 +the back-end or something + +0:05:18.039,0:05:20.249 +At any rate + +0:05:20.249,0:05:24.749 +Bill started doing initially just utilities +so was the C shell + +0:05:24.749,0:05:27.439 +uh that EX editor later + +0:05:27.439,0:05:29.750 +it also became the VI editor + +0:05:29.750,0:05:31.490 +the Pascal system + +0:05:31.490,0:05:37.080 +and say start packaging these things out and +sending out tapes to people and + +0:05:37.080,0:05:38.050 +then when + +0:05:38.050,0:05:39.930 +Ken Thompson who would + +0:05:39.930,0:05:42.099 +in an Alumnus of Berkeley + +0:05:42.099,0:05:45.610 +went out for one year's sabbatical and brought +UNIX with him + +0:05:45.610,0:05:49.909 +when he left Bill sort of took over running +the system what we would call a system administrator + +0:05:49.909,0:05:51.729 +today + +0:05:51.729,0:05:55.660 +Uh at any rate this got him interested in this the system +There were patches that were coming back + +0:05:55.660,0:05:58.550 +from AT&T he was putting those in and he was then + +0:05:58.550,0:06:01.590 +making some others sending them back to AT&T +and he + +0:06:01.590,0:06:01.930 +and + +0:06:01.930,0:06:03.729 + so + +0:06:03.729,0:06:07.770 +over time there were bigger and bigger bits of +the system and finally got tired of trying + +0:06:07.770,0:06:08.370 +to + +0:06:08.370,0:06:10.909 +track what other people's UNIXes look +like + +0:06:10.909,0:06:11.729 +and so + +0:06:11.729,0:06:16.569 +uh with the advent of FreeBSD the +third distribution + +0:06:16.569,0:06:18.560 +He just put together an entire package + +0:06:18.560,0:06:22.310 +uh and this was actually to the VAX rather +than the PDP-11 which is what we had started + +0:06:22.310,0:06:23.080 +on + +0:06:23.080,0:06:25.069 +all the 2. + +0:06:25.069,0:06:27.310 +versions of the of BSD + +0:06:27.310,0:06:30.889 +were actually worked on by the other people not by +the Bill especially not the stuff where + +0:06:30.889,0:06:33.050 +the kernel begins to become involved + +0:06:33.050,0:06:35.300 +2.9, 2.10, 2.11 et cetera + +0:06:35.300,0:06:37.569 +uh was actually done by + +0:06:37.569,0:06:41.090 +other people many years uh later so 2.11 + +0:06:41.090,0:06:43.279 +does not preceed 3.0 + +0:06:43.279,0:06:48.550 +Uh 2.11 is you know contemporary +with 4.4 + +0:06:48.550,0:06:51.100 +Uh at any rate uh + +0:06:51.100,0:06:52.800 +once we got the + +0:06:52.800,0:06:54.790 +uh the BSD + +0:06:54.790,0:06:57.360 +distribution out into the world + +0:06:57.360,0:07:00.870 +Uh it started getting used by a lot of people +because it + +0:07:00.870,0:07:01.589 +really + +0:07:01.589,0:07:05.000 +was a big step forward over what AT&T were +shipping + +0:07:05.000,0:07:06.660 +in particular + +0:07:06.660,0:07:09.529 +uh as we started getting things like + +0:07:09.529,0:07:11.450 +the TCP/IP networking + +0:07:11.450,0:07:15.770 +Uh So you had a choice you can run the AT&T +version which had UUCP as networking + +0:07:15.770,0:07:19.149 +or you could run BSD that had sockets, TCP et + cetera + +0:07:19.149,0:07:20.610 +you could run + +0:07:20.610,0:07:24.090 +AT&T's version which had a file system that +could utilize 3 to 5 percent of the bandwidth + +0:07:24.090,0:07:24.979 +of the disk + +0:07:24.979,0:07:28.810 +or you could run BSD which could utilize 50 percent +of the bandwidth of the disk + +0:07:28.810,0:07:30.519 +et cetera. + +0:07:30.519,0:07:34.939 +So many people would buy the AT&T license + and immediately drop Berkeley to add UNIX + +0:07:34.939,0:07:37.180 +on to it. + +0:07:37.180,0:07:41.879 +Uh consequently it was getting wide distribution +atleast in the university environments + +0:07:41.879,0:07:44.139 +Uh + +0:07:44.139,0:07:46.979 +And uh starting to sort of eek out into the commercial +environments + +0:07:46.979,0:07:51.249 +The commercial environments were not large because +commercial environments just weren’t using UNIX + +0:07:51.249,0:07:52.679 +at that time + +0:07:52.679,0:07:54.679 +for the most part + +0:07:54.679,0:07:58.090 +Uh So at any rate + +0:07:58.090,0:07:59.290 +Bill got it + +0:07:59.290,0:08:00.349 +Uh well + +0:08:00.349,0:08:04.299 +with FreeBSD coming out uh + +0:08:04.299,0:08:06.340 +The DARPA which is + +0:08:06.340,0:08:07.540 +essentially + +0:08:07.540,0:08:10.160 +puts out research contracts for + +0:08:10.160,0:08:12.629 +all the different branches of the military + +0:08:12.629,0:08:13.780 +Uh was + +0:08:13.780,0:08:15.960 +had a huge number of contracts + +0:08:15.960,0:08:19.850 +out with lots of different people being stuff +related computers and they all have different computers + +0:08:19.850,0:08:22.939 +and different operating systems and they were using +different languages + +0:08:22.939,0:08:24.969 +and so if one group would do something + +0:08:24.969,0:08:27.309 +they just couldn't really pass that + +0:08:27.309,0:08:30.739 +over take some other group that might want +to utilize it because this was written in + +0:08:30.739,0:08:33.390 +FORTRAN and that was written in PL1 + +0:08:33.390,0:08:35.830 +You know this was running on + +0:08:35.830,0:08:40.830 +you know some deck machine and that was running on some +IBM hardware et cetera. + +0:08:40.830,0:08:47.220 +and so DARPA decided that they +really wanted to consolidate + +0:08:47.220,0:08:50.280 +on hardware and operating system + +0:08:50.280,0:08:55.000 +and then have people work there and so there's a +better chance if they would be able to co-operate. + +0:08:55.000,0:08:57.640 +So they put out a a sort of + +0:08:57.640,0:08:59.829 +call, essentially a request for + +0:08:59.829,0:09:02.430 +proposals or whatever they called in those +days + +0:09:02.430,0:09:04.290 +and + +0:09:04.290,0:09:05.520 +essentially there were two + +0:09:05.520,0:09:08.500 +uh main contending things that came in + +0:09:08.500,0:09:10.029 +one was the VAX + +0:09:10.029,0:09:11.320 +running VMS + +0:09:11.320,0:09:14.300 +and the other one was the VAX running + +0:09:14.300,0:09:16.800 +Berkeley UNIX + +0:09:16.800,0:09:18.150 +and of course + +0:09:18.150,0:09:21.650 +the uh the people that were promoting the +VAX running VMS + +0:09:21.650,0:09:27.220 +were arguing like well you know this is a real +vendor supported operating system and + +0:09:27.220,0:09:32.059 +you know that this not just some flaky students +at Berkeley that are doing it + +0:09:32.059,0:09:34.530 +then you know therefore this ought to be the operating +system + +0:09:34.530,0:09:39.500 +And that really put the final nail +on the coffin + +0:09:39.500,0:09:43.410 +Uh this guy named Dave Cashkin came up with a set of +benchmarks + +0:09:43.410,0:09:47.370 +Uh what we would call micro benchmarks +today so how fast can you do Get PID + +0:09:47.370,0:09:49.970 +and how fast can you do that pipe thing + +0:09:49.970,0:09:54.180 +When you ping a single packet back and forth to see +how fast you can contact switch + +0:09:54.180,0:09:55.410 +and + +0:09:55.410,0:09:56.710 +uh + +0:09:56.710,0:10:00.910 +showed that VMS did these things much faster +than BSD did. + +0:10:00.910,0:10:01.760 +and this of course + +0:10:01.760,0:10:03.680 +made Bill go ballistic + +0:10:03.680,0:10:04.360 +and + +0:10:04.360,0:10:07.780 +Uh besides saying that they were as stupidest benchmarks + he'd ever since he said, ""If that's the way + +0:10:07.780,0:10:11.070 +they're gonna decide then we'll just go +make those things run fast"" + +0:10:11.070,0:10:14.920 +and it was sort of an interesting story about +other half and what + +0:10:14.920,0:10:19.980 +he got uh the BSD to run those benchmarks as fast +as the VMS + +0:10:19.980,0:10:21.450 +and + +0:10:21.450,0:10:22.170 +so + +0:10:22.170,0:10:24.900 +the upshot of it was that DARPA + +0:10:24.900,0:10:28.740 +was still sort of sitting on the fence +and Bill’s comment was well VMS we're stuck + +0:10:28.740,0:10:30.380 +with VMX forever + +0:10:30.380,0:10:34.490 +and you know may be some other computer might +be interesting down the road + +0:10:34.490,0:10:40.700 +and BSD is set up so that it's much more portable +uh you know it's tie. UNIX, in general is + +0:10:40.700,0:10:44.750 +portable across different architectures we've +already proved it by running it for n=2 + +0:10:44.750,0:10:45.910 +so therefore + +0:10:45.910,0:10:48.010 +it's a proved point + +0:10:48.010,0:10:49.040 +so + +0:10:49.040,0:10:51.850 +at any rate DARPA agreed to that + +0:10:51.850,0:10:54.780 +and they put in some initial money to Berkeley + +0:10:54.780,0:10:57.230 +and the initial things that Berkeley was +really just + +0:10:57.230,0:11:00.720 +uh to come up with + +0:11:00.720,0:11:02.500 +Uh well we had out 3BSD + +0:11:02.500,0:11:05.950 +which had a lot of functionality but the +performance wasn't so great + +0:11:05.950,0:11:09.330 +and so the that first point was to get +4 BSD out + +0:11:09.330,0:11:10.790 +which was going to have + +0:11:10.790,0:11:12.870 +sort of that + +0:11:12.870,0:11:14.960 +that additional functionality they really felt +they needed + +0:11:14.960,0:11:16.459 +uh which were just + +0:11:16.459,0:11:17.930 +really small tweeks + +0:11:17.930,0:11:22.510 +Uh things like the ability to automatically +reboot after crash + +0:11:22.510,0:11:23.880 +Uh Job control + +0:11:23.880,0:11:29.540 +uh PRAM’s list which was needed by a bunch +of their uh folks, deliver mail, smoke in air + +0:11:29.540,0:11:32.810 + that was the uh the predecessor to +send mail + +0:11:32.810,0:11:36.820 +except without a configuration file you just +compiled and checked the way you needed things + +0:11:36.820,0:11:37.700 +that were + +0:11:37.700,0:11:39.720 +uh at any rate + +0:11:39.720,0:11:41.260 +Uh that came out + +0:11:41.260,0:11:42.800 +and that 4.1 + +0:11:42.800,0:11:44.550 +so it nail that down cleaned it up + +0:11:44.550,0:11:46.590 +got the performance decent + +0:11:46.590,0:11:49.680 +and that fulfilled the first DARPA contract. + +0:11:49.680,0:11:52.450 +DARPA had put in something like + +0:11:52.450,0:11:56.390 +you know three-quarters of a million dollars or something +and boom topped this huge pay back from it + +0:11:56.390,0:11:56.960 +and + +0:11:56.960,0:11:58.380 +people seem to be happy with it + +0:11:58.380,0:12:02.880 +so they decided that maybe that the funky graduate students +at Berkeley could do stuff + +0:12:02.880,0:12:05.640 +and so then they put in that of + +0:12:05.640,0:12:07.310 +considerably larger + +0:12:07.310,0:12:10.710 +contract it was I don't know what three or +five million dollars + +0:12:10.710,0:12:12.260 +and this was a longer term + +0:12:12.260,0:12:13.520 +and in + +0:12:13.520,0:12:15.870 + those times he would get + +0:12:15.870,0:12:17.839 +for example a three-year contract + +0:12:17.839,0:12:20.320 +of which is sort of unheard of in lot of the + +0:12:20.320,0:12:22.440 +research stuff today. + +0:12:22.440,0:12:25.630 +So you could really sort of spend some time +figuring out what you can do and do it + +0:12:25.630,0:12:28.789 +for eighteen months to two years before you had +to start working about + +0:12:28.789,0:12:31.030 +renweing et cetera. + +0:12:31.030,0:12:33.180 +Uh in any way + +0:12:33.180,0:12:34.930 +the grand goals for this + +0:12:34.930,0:12:37.300 +Big contract that DARPA gave + +0:12:37.300,0:12:38.800 +was + +0:12:38.800,0:12:41.470 +Uh there were four pieces. One was + +0:12:41.470,0:12:42.779 +to get a + +0:12:42.779,0:12:43.880 +real networking end + +0:12:43.880,0:12:46.220 +uh at that time + +0:12:46.220,0:12:47.980 +Uh there was just NCP + +0:12:47.980,0:12:49.680 +Uh which was that + +0:12:49.680,0:12:54.240 +Network Control Protocol, the predecessor to TCP/IP + +0:12:54.240,0:12:57.100 +Uh a good file system in there + +0:12:57.100,0:13:01.490 +Uh restartable signals so you could actually +use them to drive work as opposed to just + +0:13:01.490,0:13:03.440 +terminating programs + +0:13:03.440,0:13:05.600 +and a new virtual memory system + +0:13:05.600,0:13:07.390 +Uh that wasn't + +0:13:07.390,0:13:09.810 +well essentially that allowed shared memory + +0:13:09.810,0:13:11.530 +uh that the one + +0:13:11.530,0:13:13.640 +the predecessor + +0:13:13.640,0:13:15.880 +that we were running BSD at that +time + +0:13:15.880,0:13:19.810 +shared the text space that would be only the part +of your program but all the rest + +0:13:19.810,0:13:21.580 +could not shared + +0:13:21.580,0:13:23.810 +So those were the four deliverables. + +0:13:23.810,0:13:25.980 +now for the kind of networking + +0:13:25.980,0:13:28.000 +they still didn't really trust us. + +0:13:28.000,0:13:30.879 +So they decided that what they were going +to do + +0:13:30.879,0:13:33.720 +was divide into two parts. + +0:13:33.720,0:13:35.300 +So they were going to get + +0:13:35.300,0:13:37.630 + Bolt, Beranek and Newman BBN + +0:13:37.630,0:13:42.360 +we are going to actually write the TCP/IP protocol +stuff + +0:13:42.360,0:13:44.709 +and then What Berkeley was supposed to do + +0:13:44.709,0:13:46.589 +was design the + +0:13:46.589,0:13:47.550 +programming interface + +0:13:47.550,0:13:49.040 +uh so + +0:13:49.040,0:13:53.130 +the socket, connect, except so on + +0:13:53.130,0:13:55.639 +and then BBN was to deliver + +0:13:55.639,0:14:00.159 +the thing that plugged in underneath that interface +and Berkeley was to integrate it into + +0:14:00.159,0:14:02.150 +BSD and uh + +0:14:02.150,0:14:04.570 +they would ship it. + +0:14:04.570,0:14:05.239 +and + +0:14:05.239,0:14:08.090 +Uh so + +0:14:08.090,0:14:11.240 +this all starts on and BBN gets to work + +0:14:11.240,0:14:13.090 +and + +0:14:13.090,0:14:15.750 +Bill Joy gets to work on the interface and + +0:14:15.750,0:14:18.620 +uh so + +0:14:18.620,0:14:22.610 +eventually what happens is that Bill has sort +of the framework of this stuff. And Bill being + +0:14:22.610,0:14:23.960 +Bill uh + +0:14:23.960,0:14:26.580 +he he worked rather quickly + +0:14:26.580,0:14:29.880 +Uh someone wants to ask you to compare myself +to Bill Joy and I said look + +0:14:29.880,0:14:33.980 +there's really nothing that he's done that +I couldn't do but the problem is + +0:14:33.980,0:14:36.810 +what he gets done in a year would take me +a decade + +0:14:36.810,0:14:39.430 +because he was the master of figuring out. + +0:14:39.430,0:14:40.730 +I'm here + +0:14:40.730,0:14:42.039 +that's where I want to get to + +0:14:42.039,0:14:44.740 +what is absolutely shortest path from here +to there + +0:14:44.740,0:14:45.810 +and he would do it + +0:14:45.810,0:14:47.339 +and you end up with code + +0:14:47.339,0:14:48.260 +that worked but + +0:14:48.260,0:14:51.699 +that was not maintainable, extendable, changeable. + +0:14:51.699,0:14:56.130 +Anybody looked at the old version of the VI +understands what I’m talking about. + +0:14:56.130,0:14:56.860 +so + +0:14:56.860,0:14:58.430 +So some of the rest of us you know + +0:14:58.430,0:14:59.709 +like to have stuff that like + +0:14:59.709,0:15:02.910 +you could go back and do something with later +but that takes longer + +0:15:02.910,0:15:03.689 +At any rate + +0:15:03.689,0:15:06.300 +Bill figured out this socket interface the first + +0:15:06.300,0:15:07.930 +draft of it it anyway + +0:15:07.930,0:15:12.140 +and he's got it and now he needs the networking protocols +to put underneath it + +0:15:12.140,0:15:15.480 +so he goes to to + +0:15:15.480,0:15:16.399 +Uh Rob Gurvitz who was + +0:15:16.399,0:15:18.259 +leading the program of + +0:15:18.259,0:15:20.429 +development of TCP/IP at BBN + +0:15:20.429,0:15:23.660 +and says hey I got the socket interface and I need +something to put in here + +0:15:23.660,0:15:28.140 +and Rob says well we're not really done yet +but we have we have this slight prototype code + +0:15:28.140,0:15:29.990 +and you know you could put that in it + +0:15:29.990,0:15:31.319 +see how that works in + +0:15:31.319,0:15:33.100 +you know then we’ll iterate + +0:15:33.100,0:15:35.810 +up so that we can work in parallel of you. + +0:15:35.810,0:15:38.410 +So Bill gets the code and + +0:15:38.410,0:15:40.420 +he puts it in + +0:15:40.420,0:15:40.859 +and + +0:15:40.859,0:15:42.979 +cranks it up and he gets a kind of working + +0:15:42.979,0:15:43.820 +and + +0:15:43.820,0:15:45.580 +then decides to run + +0:15:45.580,0:15:49.110 +Some full test between machines to see +how well it works. + +0:15:49.110,0:15:55.150 +And we’re running at the at that time our development +machines development inputs were + +0:15:55.150,0:15:55.820 +VAC 750’s +0:15:55.820,0:15:59.640 +so that was the big honk at VAC 780 +that ran an entire NIP + +0:15:59.640,0:16:04.600 +and then there were these much smaller things +that were merely the size of a large + +0:16:04.600,0:16:05.769 +uh dishwasher + +0:16:05.769,0:16:11.839 +uh its bigger than a dishwasher more like +washing machine yes +its over range at any rate and used about + +0:16:11.839,0:16:13.660 +as much power as the same. + +0:16:13.660,0:16:16.260 +Uh with all the burners turned ON assuming its electric + +0:16:16.260,0:16:23.080 +uh anyway the VAC 750 only +ran at 0.7 NIPs + +0:16:23.080,0:16:25.480 +Uh and so + +0:16:25.480,0:16:28.920 +Bill needs to be able to run sometests back and forth +between these machines + +0:16:28.920,0:16:31.080 +and of course we don't have + +0:16:31.080,0:16:34.900 +anything like FTP or TELNET +anything that, which is not written yet + +0:16:34.900,0:16:36.890 +and so he just + +0:16:36.890,0:16:38.369 +being Bill says well + +0:16:38.369,0:16:39.699 +I'll just hack up something + +0:16:39.699,0:16:43.309 +uh which was RLogin RCP et cetera. + +0:16:43.309,0:16:47.820 +which was really just the design so that he +could test running between these two machines + +0:16:47.820,0:16:48.710 +Uh + +0:16:48.710,0:16:52.130 +This is the legacy that we end up with and +why the protocol number or anything like + +0:16:52.130,0:16:57.820 +that in the header you know it’s just a +test program no one is gonna actually use this + +0:16:57.820,0:17:02.020 +so the uh upshot of all this that + +0:17:02.020,0:17:03.840 +Bill fires up + +0:17:03.840,0:17:05.530 +RCP and + +0:17:05.530,0:17:08.230 +to copy a file between machines + +0:17:08.230,0:17:08.730 +and + +0:17:08.730,0:17:15.300 +and it copies the file at about 56 or +60 kilobits per second + +0:17:15.300,0:17:17.520 +and at that point the CPU was pegged + +0:17:17.520,0:17:19.799 +on the VAX 750 + +0:17:19.799,0:17:20.810 +And it you know + +0:17:20.810,0:17:24.810 +there's plenty of bandwidth still available +because we had 10 megabit Ethernet at that point + +0:17:24.810,0:17:28.519 +we had the new 10 megabit Ethernet because mostly + it was 3 megabit but + +0:17:28.519,0:17:31.059 +we had the 10 which was like really cool stuff. + +0:17:31.059,0:17:32.260 +uh and + +0:17:32.260,0:17:37.090 +uh so he talks to Rob Gerwitz you know this thing runs +and Gerwitz was his attitude + +0:17:37.090,0:17:39.280 +as well the backbone + +0:17:39.280,0:17:44.540 +of the only the 56 K so as long as +we can saturate that what's the problem + +0:17:44.540,0:17:48.710 +and Bill’s attitude is well no I need to be + all you know get closer to the bandwidth of + +0:17:48.710,0:17:51.450 +the network between these local machines + +0:17:51.450,0:17:56.430 +And so of course Bill being Bill dives in to see +why this is the case that it's not running very + +0:17:56.430,0:17:57.440 +fast. + +0:17:57.440,0:17:58.500 +Infact, he probably + +0:17:58.500,0:17:59.880 + wrote this + +0:17:59.880,0:18:01.680 +to some of this stuff to figure out + +0:18:01.680,0:18:06.320 +what was not running quickly. We already +had it for user=level of our programs that’s what we + +0:18:06.320,0:18:09.170 +put it into the kernel + +0:18:09.170,0:18:12.160 +And sad to say some of these tools are still like +considered + +0:18:12.160,0:18:17.050 +like leading tools but are not leading tools but +still used tools today + +0:18:17.050,0:18:22.800 +Uh which isn't to say bad that it's just that +seems like in twenty years you could do better + +0:18:22.800,0:18:23.690 +at any rate + +0:18:23.690,0:18:27.490 +he quickly discovers that way the TCP/IP +code is written + +0:18:27.490,0:18:30.000 +is it’s this elaborate state machine + +0:18:30.000,0:18:32.970 +and there's the state transitions that you +go through and + +0:18:32.970,0:18:36.919 +each time we want do a state transition the +you jump through an indirect + +0:18:36.919,0:18:39.090 +this and that and other things and + +0:18:39.090,0:18:42.520 +and he goes well you know this is just way too +efficient and you know + +0:18:42.520,0:18:46.620 +we could just take the state machine turned +into a giant switch statement + +0:18:46.620,0:18:49.860 +And you know there will be a few GOTO's here and there + +0:18:49.860,0:18:53.070 +when you need to switch states buttoning ON and that’s that + +0:18:53.070,0:18:54.380 +We'll just do that + +0:18:54.380,0:18:57.770 +And so he starts cranking away on this thing +and + +0:18:57.770,0:18:59.230 +pounding out all of that + +0:18:59.230,0:19:01.680 +the structure and getting a down + +0:19:01.680,0:19:04.110 +of what it looks like today + +0:19:04.110,0:19:06.200 +And uh + +0:19:06.200,0:19:09.390 +actually it's been cleaned up considerably over +the years but + +0:19:09.390,0:19:12.280 +Uh so he cranks it down to this and + +0:19:12.280,0:19:14.770 +gets up to the point where + +0:19:14.770,0:19:19.420 +he can at least saturate the 3 megabit wire +we can’t saturate the + +0:19:19.420,0:19:21.960 +10 megabit wire but it's because the + +0:19:21.960,0:19:24.640 +actually Ethernet controllers themselves are + +0:19:24.640,0:19:26.740 +not able to uh + +0:19:26.740,0:19:30.310 +really run at 10 megabits uh + +0:19:30.310,0:19:33.330 +these were you know prototype early release +stuff and so + +0:19:33.330,0:19:35.020 +we get it upto + +0:19:35.020,0:19:36.960 +somewhere around four + +0:19:36.960,0:19:39.370 +megabit uh + +0:19:39.370,0:19:43.370 +But we're only running at 40% CPU time +so in theory if we could have run at wire + +0:19:43.370,0:19:46.809 +speed we got up to 10 megabit +and for other reasons it wouldn't have + +0:19:46.809,0:19:47.350 +but + +0:19:47.350,0:19:53.760 +the point is we were like uh a way way, order of magnitude +ahead of where we started from literally + +0:19:53.760,0:19:56.350 +and so + +0:19:56.350,0:19:59.480 +Uh there's a lot of pressure from a lot of the + +0:19:59.480,0:20:02.950 +uh the people that have been that have 4.1 + +0:20:02.950,0:20:04.640 +that they want to + +0:20:04.640,0:20:07.320 +try out this new networking stuff + +0:20:07.320,0:20:10.080 +and so uh + +0:20:10.080,0:20:11.870 +this code + +0:20:11.870,0:20:13.210 +as such as it was + +0:20:13.210,0:20:17.280 +uh got released as something that we called +4.1a + +0:20:17.280,0:20:20.680 +Uh so 4.1a was sort of the + +0:20:20.680,0:20:22.559 +first incremental release of + +0:20:22.559,0:20:26.020 +Uh between 4.1 and 4.2 + +0:20:26.020,0:20:28.860 +and this got surprisingly large + +0:20:28.860,0:20:32.890 +larger distribution then we had really planned +on because you know you give it to one person + +0:20:32.890,0:20:38.010 +and then someone else hears about it. They want it +then someone else wants it nahnah..... +0:20:38.010,0:20:42.030 +It's not like today and where you just put it up + and anonymous FTP. This was still + +0:20:42.030,0:20:45.340 +put it on a tape mail the tape to somebody, big + +0:20:45.340,0:20:46.640 +nine track tapes + +0:20:46.640,0:20:48.110 +uh + +0:20:48.110,0:20:52.900 +And uh if you'd want lucky enough to have a high +tape drive, a 6250 + +0:20:52.900,0:20:55.090 +bits per inch drive then you had to get + +0:20:55.090,0:20:56.430 +the 16 in four + +0:20:56.430,0:20:59.360 + tapes to get all out there + +0:20:59.360,0:21:01.660 +Uh at any rate + +0:21:01.660,0:21:03.820 +This this code goes out + +0:21:03.820,0:21:04.299 +Uh and uh + +0:21:04.299,0:21:10.039 +measured about this time Sam Leffler +somebody's name probably know in contemporary + +0:21:10.039,0:21:11.800 +stuff having to do with wireless + +0:21:11.800,0:21:14.000 +Uh I actually joined + +0:21:14.000,0:21:15.710 +the CSFG, the group there + +0:21:15.710,0:21:17.340 +uh and + +0:21:17.340,0:21:19.530 +he begins to help build with + +0:21:19.530,0:21:21.669 +a rewrite of the networking interface + +0:21:21.669,0:21:23.020 +in particular + +0:21:23.020,0:21:27.210 +uh Bill hadn't quiet gotten on to the +fact that + +0:21:27.210,0:21:30.320 +uh When you may want to have multiple connections + +0:21:30.320,0:21:33.970 +concurrently on a particular port +so if you're running SMTP + +0:21:33.970,0:21:35.720 +service or HTTP + +0:21:35.720,0:21:38.640 +Uh the way he had written had uh except + +0:21:38.640,0:21:42.780 +that the that the what we think of a rendezvous +socket today was actually connected + +0:21:42.780,0:21:46.350 +and so that nobody else to talk to you on +that particular port to you. When you’re + +0:21:46.350,0:21:48.170 +finished with that conversation and then + +0:21:48.170,0:21:51.520 +that the sock would become free again and you +could’ve the next connection. + +0:21:51.520,0:21:52.759 +he says like that no + +0:21:52.759,0:21:54.389 +no we got it like +0:21:54.389,0:21:56.500 +to have more than one at a time + +0:21:56.500,0:22:01.510 +and so that's when the whole listen and the +rendezvous socket works up returns to a new + +0:22:01.510,0:22:03.670 +connected socket and so on + +0:22:03.670,0:22:06.960 +uh and so at any rate + +0:22:06.960,0:22:08.900 +this this all gets done + +0:22:08.900,0:22:10.970 +And uh + +0:22:10.970,0:22:15.930 +I've gotten roped into doing the file system +which is another part of the earlier story. + +0:22:15.930,0:22:20.130 +uh and so the file system is sort of the +point where we're ready to inflict I mean + +0:22:20.130,0:22:22.120 +let other users try it + +0:22:22.120,0:22:24.480 +and we have revised networking + +0:22:24.480,0:22:25.600 +and so this + +0:22:25.600,0:22:26.460 +Uh came up + +0:22:26.460,0:22:28.960 +as a release called 4.1b + +0:22:28.960,0:22:33.390 +and then fairly quickly thereafter the signal +stuff got cleaned up + +0:22:33.390,0:22:36.670 +and so 4.1b got replaced with 4.1c + +0:22:36.670,0:22:40.450 +Uh remember there were four things that we need +to get done so A was the networking B was the file system + +0:22:40.450,0:22:42.309 +and C was the signalling and + +0:22:42.309,0:22:43.920 +D was supposed to be + +0:22:43.920,0:22:47.880 +the virtual memory which of course didn't happen +for another six or seven years + +0:22:47.880,0:22:49.190 +Uh but + +0:22:49.190,0:22:52.390 +at any rate 4.1c was another one +of these ones + +0:22:52.390,0:22:54.600 +which was an enormously picked up + +0:22:54.600,0:22:56.300 +very wide distribution + +0:22:56.300,0:22:57.860 +uh and in + +0:22:57.860,0:23:01.110 +in the meantime + +0:23:01.110,0:23:05.640 +Uh you know the folks at the BBN continued +working and developing and + +0:23:05.640,0:23:06.570 +polishing their code + +0:23:06.570,0:23:09.720 +uh but Bill had asked another copy +of it so + +0:23:09.720,0:23:12.570 +they hadn’t delivered it because it +wasn’t done yet any way + +0:23:12.570,0:23:15.370 +uh and they’re just get it done + +0:23:15.370,0:23:18.450 +then give it to Berkeley we could put it +in this + +0:23:18.450,0:23:20.790 +preparation for shipping 4.2 + +0:23:20.790,0:23:24.090 +Well 4.1c got out there + +0:23:24.090,0:23:25.610 +and uh + +0:23:25.610,0:23:29.760 +Bill then was setting about to work on +the VM stuff + +0:23:29.760,0:23:34.260 +When one day going to his office to +chat with him. He says, “Come into my office"" and he says +""you know I + +0:23:34.260,0:23:37.840 +I am + +0:23:37.840,0:23:41.870 +involved with these other folks down at Stanford +and they have some hardware + +0:23:41.870,0:23:42.860 +and they want + +0:23:42.860,0:23:45.020 +me to put some Berkeley UNIX on it + +0:23:45.020,0:23:46.020 +and you know + +0:23:46.020,0:23:48.770 +start selling these things as workstations + +0:23:48.770,0:23:49.889 +and uh + +0:23:49.889,0:23:52.500 +I’m going I gonna go + +0:23:52.500,0:23:56.430 +I am going down there to be one of the +founding members of this and you should come + +0:23:56.430,0:23:57.230 +along + +0:23:57.230,0:23:58.750 +uh because you know + +0:23:58.750,0:24:03.989 +you being a single digit +employee at workstations. + +0:24:03.989,0:24:06.559 +You’ll get huge stock option +it’s gonna be really exciting"" and you know + +0:24:06.559,0:24:11.450 +I at that time I had already completed my degree +in business from + +0:24:11.450,0:24:12.580 +Uh University California so + +0:24:12.580,0:24:14.710 +I knew something about business + +0:24:14.710,0:24:18.460 +in fact I had taken an entrepreneurial course +so I knew a lot about starting up companies + +0:24:18.460,0:24:19.830 +or so I thought. + +0:24:19.830,0:24:23.230 +And so I said,” Well you know Bill + +0:24:23.230,0:24:27.750 +this all sounds good what you know what what +is that’s going to make you so successful.” + +0:24:27.750,0:24:31.480 +He says, ”It's the gact that you know we're +not going to vendor lock in and you know it's going + +0:24:31.480,0:24:33.190 +to be running the UNIX and + +0:24:33.190,0:24:38.000 +if SUN doesn’t do it right they can always go to +another vendor and can get UNIX from them."" + +0:24:38.000,0:24:40.730 +and uh that’s that's going to be the story + +0:24:40.730,0:24:43.320 +And I said, “Well you know this is well and good but + +0:24:43.320,0:24:46.120 +let me explain about workstations” + +0:24:46.120,0:24:50.860 +Uh workstations is about the install base of applications +because people buy workstations because the applications + +0:24:50.860,0:24:52.700 + run on it + +0:24:52.700,0:24:56.810 +And uh you know this is company APPOLO that had + +0:24:56.810,0:25:01.220 +a 4 year head start on SUN and they've +got a lock on the applications + +0:25:01.220,0:25:04.860 +and people aren’t going to switch to SUN because +they need the applications that run on APPOLO. + +0:25:04.860,0:25:06.690 +So you know + +0:25:06.690,0:25:09.400 +I'm sure it's going to be interesting but +uh + +0:25:09.400,0:25:13.909 +you know I'm only a few months from finishing +my PhD and I know if I go to a SUN with you that + +0:25:13.909,0:25:15.249 +won't happen + +0:25:15.249,0:25:18.390 +So I’m gonna my PhD we'll see how SUN is doing in + +0:25:18.390,0:25:20.660 +over six or eight months and you know + +0:25:20.660,0:25:22.130 +We’ll evaluate"" + +0:25:22.130,0:25:26.640 +well of course it took me fourteen +fifteen months to finish my PhD and of + +0:25:26.640,0:25:27.740 +course by that time + +0:25:27.740,0:25:31.590 +SUN had burst onto the scene and didn't +have any particularly interesting stock options + +0:25:31.590,0:25:33.910 +left + +0:25:33.910,0:25:39.410 +So uh if you want it buy yourself a business perhaps +I'm not the one to ask + +0:25:39.410,0:25:41.410 +at any rate + +0:25:41.410,0:25:44.420 +Bill left without doing the VM system + +0:25:44.420,0:25:49.500 +Uh and he took 4.1c with him to get it +ported on to the the SUN hardware. + +0:25:49.500,0:25:51.300 +and + +0:25:51.300,0:25:54.240 +with this sort uh of hit + +0:25:54.240,0:25:55.910 +on the the main developer + +0:25:55.910,0:26:00.510 +uh we decided that rather than trying up to get +someone else up to speed in getting to the + +0:26:00.510,0:26:02.710 +VM done and so on. + +0:26:02.710,0:26:05.520 +That we would instead + +0:26:05.520,0:26:09.370 +just declare the first three pieces of this +4 piece contract + +0:26:09.370,0:26:11.580 +uh worth releasing + +0:26:11.580,0:26:14.020 +and so + +0:26:14.020,0:26:15.720 +uh around this time + +0:26:15.720,0:26:18.050 +this would be about June of 1983 + +0:26:18.050,0:26:20.620 +Uh Micheal Karl joins the group + +0:26:20.620,0:26:22.590 +essentially coming in uh + +0:26:22.590,0:26:25.500 +to replace in into the position that was + +0:26:25.500,0:26:27.119 +up formerly held by + +0:26:27.119,0:26:29.330 +Sam ..Sam uh out by + +0:26:29.330,0:26:32.000 +Bill as that sort of + +0:26:32.000,0:26:33.250 +Head of lead programmer + +0:26:33.250,0:26:36.510 +uh and + +0:26:36.510,0:26:40.490 +because Sam also Sam had also considered taking +that position but ultimately decided that + +0:26:40.490,0:26:44.610 +uh he he didn't want to do that he was gonna +to go off to do graphics at + +0:26:44.610,0:26:46.990 + Lucasfilm + +0:26:46.990,0:26:48.830 +and so + +0:26:48.830,0:26:51.030 +the uh + +0:26:51.030,0:26:52.980 +the upshot of this was that + +0:26:52.980,0:26:55.429 +4.2 got released + +0:26:55.429,0:26:57.920 +in about August of '83 + +0:26:57.920,0:27:01.549 +And uh + +0:27:01.549,0:27:05.640 +there’re uh about 1000 copies around remember for each +copy that goes out that’s like an institution gets + +0:27:05.640,0:27:07.429 +a copy and you know + +0:27:07.429,0:27:10.760 +spread across all their machines et cetera. + +0:27:10.760,0:27:14.470 +Uh there's another way of looking at it is you can +look at the number of licenses that AT&T + +0:27:14.470,0:27:16.400 + had outstanding + +0:27:16.400,0:27:21.420 +and how many licenses that Berkeley had + +0:27:21.420,0:27:24.310 +at the time we had shipped a thousand, there were +about twelve hundred + +0:27:24.310,0:27:27.450 +uh AT&T licenses. So it says that + +0:27:27.450,0:27:29.149 +fair number of people were running + +0:27:29.149,0:27:35.310 +Uh now at this point just for context AT&T is +releasing system 5 release 1 + +0:27:35.310,0:27:37.380 +So that is short of where they are. + +0:27:37.380,0:27:39.290 +Uh They had taken their file system and + +0:27:39.290,0:27:44.010 +upped the block size from 512 bytes + to 1K + +0:27:44.010,0:27:46.750 +Uh at any rate + +0:27:46.750,0:27:47.870 +BBN + +0:27:47.870,0:27:50.650 +was very upset that their TCP/IP + +0:27:50.650,0:27:53.340 +had not been incorporated. + +0:27:53.340,0:27:57.650 +and here we had released it but it was this like +prototype early version had been bastardized + +0:27:57.650,0:27:59.100 +by Bill + +0:27:59.100,0:28:04.290 +and like you know this isn't it that you know +DARPA paid and now you know have the shiny wonderful + +0:28:04.290,0:28:05.990 +TCP/IP stack. + +0:28:05.990,0:28:09.150 +You should be putting this in + +0:28:09.150,0:28:10.369 +and so + +0:28:10.369,0:28:15.310 +they began agitating with DARPA and saying +what you know Blah Blah get this to happen + +0:28:15.310,0:28:16.280 +and so + +0:28:16.280,0:28:20.950 +uh Michael Karels being the very deliberative +what a person he is. + +0:28:20.950,0:28:23.330 +Says Ok well + +0:28:23.330,0:28:27.780 +I'll take the TCP/IP code from BBN and I'll +take the TCP code from + +0:28:27.780,0:28:28.870 +that we have in 4.2 + +0:28:28.870,0:28:31.550 +and I'll evaluate both of them + +0:28:31.550,0:28:38.430 +and the evaluation involves you know +performance and maintain ability + +0:28:38.430,0:28:41.980 +and functionality and all these various +necessary things + +0:28:41.980,0:28:42.779 +and + +0:28:42.779,0:28:47.370 +He says, “ Well you know the TCP/IP the idea comes +from BBN and has some really good ideas + +0:28:47.370,0:28:49.039 +that we don't have so we'll just + +0:28:49.039,0:28:51.330 +Pick those up and drop it in our distribution + +0:28:51.330,0:28:55.510 +Uh but we don't really feel that their + +0:28:55.510,0:28:57.950 +code is uh you know + +0:28:57.950,0:29:01.090 +is the good place to start from. There's a lot of people +this point + +0:29:01.090,0:29:05.730 +that have worked with the Berkeley code and they know +that code base there have been a huge amount of enhancements + +0:29:05.730,0:29:07.570 +on it. + +0:29:07.570,0:29:10.880 +Uh This is wonderful book that's been written +all about it + +0:29:10.880,0:29:13.049 +So it is very well documented + +0:29:13.049,0:29:13.500 +and + +0:29:13.500,0:29:17.960 +it just doesn't seem to have really make sense +to + +0:29:17.960,0:29:22.460 +reset back to here and then have to get all +of those improvements changes et cetera. + +0:29:22.460,0:29:23.809 +Uh into this + +0:29:23.809,0:29:25.280 +particular new version. + +0:29:25.280,0:29:27.150 +uh it it + +0:29:27.150,0:29:30.440 +I finally graduated in '84 and joined +the project + +0:29:30.440,0:29:33.260 +uh foolishly that taking over as + +0:29:33.260,0:29:34.170 +it's technically but + +0:29:34.170,0:29:35.419 +is the lead + +0:29:35.419,0:29:38.960 +which meant that I got to deal with all of +the political bullshit while + +0:29:38.960,0:29:41.870 +Mike and others got to do lots of programming + +0:29:41.870,0:29:45.140 +So let that be a lesson to you that if you think +that they're trying to sweet talk + +0:29:45.140,0:29:50.409 +you and how great it is to be in-charge +of things. + +0:29:50.409,0:29:50.960 +Uh + +0:29:50.960,0:29:53.080 +At any rate we + +0:29:53.080,0:29:56.680 +continue debating back and forth about this +stuff with BBN. + +0:29:56.680,0:30:00.180 +We kept taking stuff and putting it into +And look you know that and say that ""We've taken that we've +we’ve taken that"" + +0:30:00.180,0:30:03.720 +“No No. You have to take the code +You got to take the code.” + +0:30:03.720,0:30:05.440 +So at any rate 4.3 + +0:30:05.440,0:30:07.750 +was really designed + +0:30:07.750,0:30:12.340 +much like 4.1 in the sense of consolidating +what we already had. So throughout the eh + +0:30:12.340,0:30:17.350 +the even-numbered releases from Berkeley had +a lot of new functionality and odd releases + +0:30:17.350,0:30:19.930 +tried to really get the performance up + +0:30:19.930,0:30:24.170 +Uh we we're always striving to make sure that +things worked when the released it, but we didn't + +0:30:24.170,0:30:24.830 +always + +0:30:24.830,0:30:27.169 +strive to make sure they ran optimally. + +0:30:27.169,0:30:30.090 +Uh figuring that it was better to sort of +tune things + +0:30:30.090,0:30:33.090 +after the fact once you had a electrode working +in right way. + +0:30:33.090,0:30:37.510 +So anyway we made an announcement +of 4.3 + +0:30:37.510,0:30:39.379 +Uh actually at the June 1985 + +0:30:39.379,0:30:43.510 +UNIX conference, so two years basically have +gone by here. + +0:30:43.510,0:30:44.510 + and + +0:30:44.510,0:30:45.620 +uh + +0:30:45.620,0:30:46.470 +BBN + +0:30:46.470,0:30:50.620 +you know immediately objects that we have +not taken their code + +0:30:50.620,0:30:51.110 +and + +0:30:51.110,0:30:52.970 +uh they go to DARPA + +0:30:52.970,0:30:57.940 +and they said, “Look ,you paid BBN +how many millions of dollars, more than you paid to + +0:30:57.940,0:30:59.719 +Berkeley to do this code + +0:30:59.719,0:31:00.730 +you're gonna uh you know +0:31:00.730,0:31:02.900 +and now they're not taking it + +0:31:02.900,0:31:04.330 +and and you know + +0:31:04.330,0:31:06.360 +you got look like ninnies or something.” I +don't know + +0:31:06.360,0:31:08.390 +I don’t know what they’ve +said I wasn't there + +0:31:08.390,0:31:10.179 +But at any rate + +0:31:10.179,0:31:13.280 +DARPA + +0:31:13.280,0:31:16.600 +representative shows up in my office + +0:31:16.600,0:31:18.220 +and + +0:31:18.220,0:31:19.240 +Uh very calmly + +0:31:19.240,0:31:21.090 +uh explains that. + +0:31:21.090,0:31:22.100 +You know + +0:31:22.100,0:31:27.940 +the agreement was that BBN was going to do the +TCP/IP code and + +0:31:27.940,0:31:30.240 +Uh Berkeley was to do the interface + +0:31:30.240,0:31:31.070 +and + +0:31:31.070,0:31:33.049 +This is this is the way the world and + +0:31:33.049,0:31:36.769 +you know we appreciate that you know you’ve +done other stuff and it was it was great work + +0:31:36.769,0:31:38.670 +but + +0:31:38.670,0:31:42.460 +they are funding us and this is the way it is. + +0:31:42.460,0:31:44.120 +And my quarrel is like + +0:31:44.120,0:31:48.370 +uh you know Mike Karels is arguing with them and look, +you know we've taken this and we’ve + +0:31:48.370,0:31:52.160 +put over here, all the reasons that I gave earlier + +0:31:52.160,0:31:55.410 +and you know the guy finally at the end just +says, + +0:31:55.410,0:31:57.679 +“ No, you don't understand. + +0:31:57.679,0:31:58.549 +We're in charge + +0:31:58.549,0:32:02.500 +this is what you doing. Goodbye!"" + +0:32:02.500,0:32:04.960 +And you know + +0:32:04.960,0:32:08.000 +it just doesn't work very well at Berkeley +just come in and say, + +0:32:08.000,0:32:10.730 +“This is what you're going to do.” + +0:32:10.730,0:32:13.000 +The free speech movement comes to mind. + +0:32:13.000,0:32:15.970 +Uh so + +0:32:15.970,0:32:17.970 +You know Mike in particularly just goes completely BANANAS. + +0:32:17.970,0:32:21.190 +Goes off, “Aggarh” + +0:32:21.190,0:32:23.370 +and then fires off + +0:32:23.370,0:32:26.570 +unannounced to me fires off the thing +that the DARPA uh + +0:32:26.570,0:32:30.050 +which if I'd been would keep in shut +because I would not let them blame SUN + +0:32:30.050,0:32:31.690 +At any rate + +0:32:31.690,0:32:35.350 +I mean I only see it because DARPA guy +sent it back to me and says you need to keep + +0:32:35.350,0:32:38.720 +your staff under control. + +0:32:38.720,0:32:39.650 +Uh so + +0:32:39.650,0:32:44.130 +at any rate um you know +0:32:44.130,0:32:46.090 +Mike just says, “I'm not doing it. + +0:32:46.090,0:32:49.510 +They can't make me, I'll just leave.” + +0:32:49.510,0:32:51.640 + You know so you know + +0:32:51.640,0:32:56.450 +You tell them that they can either this way or +they can have that way or we won’t release it. Um + +0:32:56.450,0:32:57.619 +Agrh . um + +0:32:57.619,0:33:00.330 +Come on there’s got to be some compromise +we can do here. +0:33:00.330,0:33:01.730 +So + +0:33:01.730,0:33:05.360 +Finally uh I say, “Okay let’s I + +0:33:05.360,0:33:07.820 +I propose that we have a bake-off. + +0:33:07.820,0:33:13.150 +So we will uh we we had already incorporated +into there was big switch so you could compile ot + +0:33:13.150,0:33:14.190 + way or the other + +0:33:14.190,0:33:15.609 +So my first proposal was + +0:33:15.609,0:33:16.910 +we will just ship it + +0:33:16.910,0:33:20.820 +with a compile time options. +So you can compile for BBN code +or you could compile it for Berkeley code. + +0:33:20.820,0:33:21.640 +Even BBN + +0:33:21.640,0:33:24.799 +Even DARPA could see +this was a no-win + +0:33:24.799,0:33:27.950 +because you’ll end up with some +people running one some people running the + +0:33:27.950,0:33:30.549 +other, this won’t work smoothly. + +0:33:30.549,0:33:31.539 + This was just not + +0:33:31.539,0:33:33.550 +where they want it to go. + +0:33:33.550,0:33:35.409 +and so we said, “Okay well + +0:33:35.409,0:33:38.480 +switch is there it's really easy to compile +the two different systems. + +0:33:38.480,0:33:41.830 +Let’s have a bake-off + +0:33:41.830,0:33:43.649 +you know we’ll compile + +0:33:43.649,0:33:46.549 +with one and compiler with other one and have bunch of +tests + +0:33:46.549,0:33:49.059 +and you know will decide which one is better. + +0:33:49.059,0:33:50.610 +Well of course we're not going to let + +0:33:50.610,0:33:55.429 +Berkeley do the testing because they'd be biased +for Berkeley. We’re not going to let BBN to do the testing + +0:33:55.429,0:33:57.640 +because they’ll be biased for BBN. + +0:33:57.640,0:33:59.720 +so we’ve to find a + +0:33:59.720,0:34:01.210 +uh + +0:34:01.210,0:34:03.480 +a third party and + +0:34:03.480,0:34:08.440 +uh the third party that DARPA actually proposes +is a guy named Mike Moose at the Ballistics + +0:34:08.440,0:34:10.979 +Research Laboratory, just up the road from +here and + +0:34:10.979,0:34:12.929 +Uh yeah + +0:34:12.929,0:34:14.509 +little known to + +0:34:14.509,0:34:18.659 +most of the people is that we actually knew Mike Moose +very well because we had interacted a whole lot with him. + +0:34:18.659,0:34:19.910 +working on TCP/IP + +0:34:19.910,0:34:23.659 +so + +0:34:23.659,0:34:25.059 +we’re like uhm yah it’s ok with us. + +0:34:25.059,0:34:27.869 +And you know he was in military you know + +0:34:27.869,0:34:31.139 +chain of command and BBN muck-a-mucks +new ones so + +0:34:31.139,0:34:33.589 +they’re fine with it + +0:34:33.589,0:34:34.370 +So ok great so + +0:34:34.370,0:34:36.469 +you know off we ship that tape and + +0:34:36.469,0:34:40.749 +He does not tell us what tests he is gonna run +so neither side gets to + +0:34:40.749,0:34:44.720 +do anything other than make some suggestions +general suggestions so + +0:34:44.720,0:34:48.779 +Of course we suggest the 3 port performance +test could be important + +0:34:48.779,0:34:51.659 +and the BBN suggests that + +0:34:51.659,0:34:55.320 +uh how well it works in the face of large +package + +0:34:55.320,0:34:57.049 +rate losses is important + +0:34:57.049,0:35:01.430 +because of course the military you know will drop +a nuclear bomb on Chicago we want to make sure + +0:35:01.430,0:35:03.589 +it drops down through Dallas + +0:35:03.589,0:35:07.320 +At any rate Mike Moose sets up these the systems +and + +0:35:07.320,0:35:09.150 +runs a bunch of tests + +0:35:09.150,0:35:12.179 +and of course without talking to either side + +0:35:12.179,0:35:16.950 +and so we're sort of pins and needles +because you know several weeks goes by + +0:35:16.950,0:35:18.550 +and finally duh + +0:35:18.550,0:35:19.589 +his report lands. + +0:35:19.589,0:35:23.029 +You know humh comes in the mail here's his report + +0:35:23.029,0:35:26.269 +And the first thing you’d do is +to flip to the last page to see what the conclusion + +0:35:26.269,0:35:29.479 +is but he knew that's what we're going to +do so he hid the conclusion somewhere in the + +0:35:29.479,0:35:31.660 +middle + +0:35:31.660,0:35:33.369 +Forcing you to read the entire thing + +0:35:33.369,0:35:36.229 +but it's a it's a very interesting week because + +0:35:36.229,0:35:39.910 +in terms of the throughput +as expected we did better + +0:35:39.910,0:35:40.840 +Uh what + +0:35:40.840,0:35:44.929 +that he introduced a thing where it would +randomly drop about every + +0:35:44.929,0:35:46.769 +fourth package + +0:35:46.769,0:35:47.799 +and + +0:35:47.799,0:35:49.390 +under this scenario + +0:35:49.390,0:35:50.919 +he says uh + +0:35:50.919,0:35:52.420 +the BBN code + +0:35:52.420,0:35:56.820 +Jumps out to an early start getting a lot +more data through in the face of high + +0:35:56.820,0:35:59.039 +packet loss uh + +0:35:59.039,0:36:03.099 +but but the Berkeley part managers to catch up +while the BBN machine reboots. + +0:36:03.099,0:36:07.719 +Uh + +0:36:07.719,0:36:12.109 +Ultimately resulting in the conclusion +that even in the face of the packet + +0:36:12.109,0:36:14.739 +loss, Berkeley code seems to + +0:36:14.739,0:36:16.349 +do a little better. + +0:36:16.349,0:36:17.739 +And uh so his + +0:36:17.739,0:36:22.119 +conclusion is that it should continue to ship +with the BSD code. + +0:36:22.119,0:36:25.519 +Uh so with this result in hand + +0:36:25.519,0:36:28.749 +we are authorized by DARPA to do the release + +0:36:28.749,0:36:32.189 +and we finally managed to release + +0:36:32.189,0:36:35.829 +4.3 in June of + +0:36:35.829,0:36:38.420 +1986 + +0:36:38.420,0:36:39.599 +so + +0:36:39.599,0:36:41.519 +at this point uh + +0:36:41.519,0:36:42.199 +At this point + +0:36:42.199,0:36:45.389 +the new TCP code is gone out + +0:36:45.389,0:36:47.189 +or you know that + +0:36:47.189,0:36:52.289 +The revised BSD TCP code has gone out + +0:36:52.289,0:36:54.689 +[with or without subnets] +With or without uh..subnets + +0:36:54.689,0:36:56.150 +uh that had + +0:36:56.150,0:36:59.809 +well the the class ABC type of subnets +not + +0:36:59.809,0:37:01.319 +not the uh + +0:37:01.319,0:37:02.910 +the sider stuff + +0:37:02.910,0:37:09.910 +sider came along + +0:37:16.329,0:37:17.299 +okay + +0:37:17.299,0:37:19.409 +uh at any rate uh + +0:37:19.409,0:37:23.719 +now we start accelerating the story a bit again +because I have to finish in + +0:37:23.719,0:37:25.559 +eight minutes + +0:37:25.559,0:37:27.540 +so at this point + +0:37:27.540,0:37:28.260 +Keith Bostic + +0:37:28.260,0:37:29.209 +comes to + +0:37:29.209,0:37:30.469 +comes to Berkeley + +0:37:30.469,0:37:34.059 +uh he had been at Seismo which some of you +may know + +0:37:34.059,0:37:37.329 +and this is in the fall of 1986 so + +0:37:37.329,0:37:40.219 +we've released 4.3 we’re just +getting cranked up + +0:37:40.219,0:37:43.049 +to work on 4.4 um + +0:37:43.049,0:37:45.259 +remember that VM thing + +0:37:45.259,0:37:48.039 +and I think by this time there is this other little + +0:37:48.039,0:37:50.329 +protocol MFS you may’ve heard of it + +0:37:50.329,0:37:54.839 +and it was felt that we ought to have that +as well + +0:37:54.839,0:37:57.150 +uh so bring Keith Bostick on board and + +0:37:57.150,0:37:59.560 +Uh one of his of requirements for coming + +0:37:59.560,0:38:03.420 +is that we have to agree to allow him to finish +that port of + +0:38:03.420,0:38:06.539 +2.11 to the PDP 11 uh + +0:38:06.539,0:38:08.489 +and uh you know + +0:38:08.489,0:38:12.470 +it's it's a real challenge to get a kernel which +at that point was about + +0:38:12.470,0:38:17.239 +just under 200 kilobyte of text +to fit on to a machine that has a maximum + +0:38:17.239,0:38:20.299 +amount of program space of 64 kilobytes + +0:38:20.299,0:38:23.450 + because what you have to do is to +break it into overlays + +0:38:23.450,0:38:27.789 +and then you map in the overly and + the granularity of mapping is 4k + +0:38:27.789,0:38:28.530 +okay + +0:38:28.530,0:38:33.079 +So there's only eight pieces that you +can remap uh + +0:38:33.079,0:38:37.519 +Mike and my attitude was that’s an +incredibly challenging problem and it's + +0:38:37.519,0:38:41.469 +probably you know intellectually very stimulating +but there's no way how we would do that. + +0:38:41.469,0:38:43.139 +Well if you want to do it you know + +0:38:43.139,0:38:45.849 +by all means you can do that in your +spare time + +0:38:45.849,0:38:48.309 +uh there is only three jobs you need to do + +0:38:48.309,0:38:51.540 +uh one is uh you need to be to answer the +phone + +0:38:51.540,0:38:55.409 +uh first things other than distributions like +technical questions + +0:38:55.409,0:38:58.149 +and answer the incoming email stream for technical +questions. + +0:38:58.149,0:39:03.900 +Uh do some programming and in in your spare +time you can work on the PDP 11 + +0:39:03.900,0:39:04.850 +and no he was + +0:39:04.850,0:39:08.669 +had no other support for the phones and the +email + +0:39:08.669,0:39:09.460 +and we had + +0:39:09.460,0:39:12.209 +you know by this time about two thousand + +0:39:12.209,0:39:14.749 +uh distributions + +0:39:14.749,0:39:19.730 +So at any rate Keith did in fact finally +finish the PDP 11. + +0:39:19.730,0:39:20.779 +Uh port uh + +0:39:20.779,0:39:23.029 +got 2.11 out of the door + +0:39:23.029,0:39:26.960 +and we have a party to celebrate the fact +that he had completed this. + +0:39:26.960,0:39:29.850 +and part of the party was opening the window + +0:39:29.850,0:39:31.240 +on the fourth floor + +0:39:31.240,0:39:33.519 +of our uh building + +0:39:33.519,0:39:38.849 +and taking his PDP 11 and +ceremoniously dropping out of the window to the cement + +0:39:38.849,0:39:40.979 +sidewalk four stories below + +0:39:40.979,0:39:43.100 +to ensure that he would never + +0:39:43.100,0:39:44.749 +work on it again. + +0:39:44.749,0:39:50.409 +This was him doing this not us. + +0:39:50.409,0:39:51.849 +At any rate uh + +0:39:51.849,0:39:53.930 +Keith of course being in the front line + +0:39:53.930,0:39:55.919 +uh support + +0:39:55.919,0:39:59.199 +Uh had a lot of feedback from various users uh + +0:39:59.199,0:40:00.509 +in particular + +0:40:00.509,0:40:03.559 +there were a number of vendors that were + +0:40:03.559,0:40:05.159 +trying to build + +0:40:05.159,0:40:05.930 +uh +0:40:05.930,0:40:08.560 +These network cards you could plug into a PC + +0:40:08.560,0:40:10.999 +that would provide TCP/IP networking + +0:40:10.999,0:40:16.180 +and of course the PC it was way too feeble +to actually run the code in the PC itself + +0:40:16.180,0:40:17.539 +so they had a outward + + +0:40:17.539,0:40:18.799 +processor on the card + +0:40:18.799,0:40:22.039 +and they’d put the TCP/IP in there +that would sort of look + +0:40:22.039,0:40:23.200 +uh like a + +0:40:23.200,0:40:26.779 +file or some kind of device on +the PC and + +0:40:26.779,0:40:28.900 +so they would just open this thing + +0:40:28.900,0:40:30.709 +get connected to the network + +0:40:30.709,0:40:34.939 +and So of course they wanted TCP/IP +code from Berkeley along with the important + +0:40:34.939,0:40:38.210 +utilities like O or Rlogin and + +0:40:38.210,0:40:38.659 +RCP uh + +0:40:38.659,0:40:42.709 +by that time finally FTP and TELNET uh + +0:40:42.709,0:40:45.189 +and + +0:40:45.189,0:40:48.909 +they didn't, our standard thing was +just buy the distribution and take whatever + +0:40:48.909,0:40:50.100 +they need to get out of it. + +0:40:50.100,0:40:52.769 +But that meant they had to get an AT&T license. + +0:40:52.769,0:40:57.680 +By the late 80’s the AT&T +licenses or up to like a quarter million dollars + +0:40:57.680,0:40:59.379 +and when you're in a little + +0:40:59.379,0:41:03.939 +commodity PC business a quarter million dollar +cost just to get the software before you do + +0:41:03.939,0:41:04.619 +anything with it + +0:41:04.619,0:41:06.669 +was just a non-starter for them. + +0:41:06.669,0:41:09.850 +And so we're getting requests for just + +0:41:09.850,0:41:13.199 +that TCP/IP code and associated utilities. + +0:41:13.199,0:41:17.479 +clearly since it all been developed in Berkeley +was none of that in the original version 7 UNIX + +0:41:17.479,0:41:19.910 +that we started from uh + +0:41:19.910,0:41:22.099 +AT&T couldn’t lay any claim to that. + +0:41:22.099,0:41:26.829 +And so we talked to the lawyers at Berkeley and +they’re like this “How can we make money on this?” uh + +0:41:26.829,0:41:29.249 +because that's what they were paid to say and + +0:41:29.249,0:41:33.089 +so we pointed out to them that it had been developed +under a government contract and we showed them + +0:41:33.089,0:41:36.630 +the government contract saying that you know +this stuff done in this contract has to be + +0:41:36.630,0:41:37.229 +made + +0:41:37.229,0:41:40.769 +available to the public at reasonable cost or +whatever it said + +0:41:40.769,0:41:41.380 +and uh + +0:41:41.380,0:41:42.100 +so + +0:41:42.100,0:41:45.669 +it didn’t really say that but be convinced the +lawyers that it did + +0:41:45.669,0:41:46.359 +and so + +0:41:46.359,0:41:48.369 +They agreed to lead us to pull out + +0:41:48.369,0:41:50.889 +this chunk of Berkeley code and we + +0:41:50.889,0:41:51.859 +released that + +0:41:51.859,0:41:52.579 +under + +0:41:52.579,0:41:54.980 +this new license that the lawyers cooked up + +0:41:54.980,0:41:59.299 +uh which is the one that we today think of +as the BSD license. + +0:41:59.299,0:42:03.569 +And of course our goal was to the absolutely +as + +0:42:03.569,0:42:07.979 +free as you know free to give away as we could possibly +could the really only thing you had to do was to give due credit + +0:42:07.979,0:42:08.789 +to Berkeley. + +0:42:08.789,0:42:12.140 +Uh so this was networking release 1. + +0:42:12.140,0:42:14.019 +and uh it was a wild success + +0:42:14.019,0:42:17.519 +uh the amazing thing was that we sold at 100 +we could + +0:42:17.519,0:42:20.249 +Buy it from Berkeley for 1000 dollars + +0:42:20.249,0:42:24.169 +or you could just downloaded it off UUNet +for free + +0:42:24.169,0:42:28.209 +and yet a thousand people chose to pay a 1000 +dollars at Berkeley to get it. + +0:42:28.209,0:42:30.220 +and the only difference was that you got + +0:42:30.220,0:42:33.660 +to take a 9 track tape which many people didn't +have any way of reading + +0:42:33.660,0:42:34.100 +and + +0:42:34.100,0:42:35.719 +uh + +0:42:35.719,0:42:39.869 +that a piece of paper signed by the Berkeley +lawyers + +0:42:39.869,0:42:42.289 +essentially saying “Yes you can use this” + +0:42:42.289,0:42:44.939 +and that's what they were paying a 1000 dollars for + +0:42:44.939,0:42:48.239 +and the lawyers of course got paid something +like a hundred dollars for every one of + +0:42:48.239,0:42:50.790 +these that they signed because of the overhead + +0:42:50.790,0:42:51.650 +et cetera + +0:42:51.650,0:42:54.349 +they thought this was the cat's pyjamas + +0:42:54.349,0:42:57.499 +you know maybe the campus was making a lot of +money but their office was doing just fine Thank + +0:42:57.499,0:42:59.009 +you very much! + +0:42:59.009,0:43:01.409 +so + +0:43:01.409,0:43:03.420 +Uh at any rate oh + +0:43:03.420,0:43:04.440 +That one was + +0:43:04.440,0:43:06.059 +widely successful + +0:43:06.059,0:43:08.309 +and so there was pressure and Keith + +0:43:08.309,0:43:12.369 +would come inside uh someone today wants VI or somebody +wants this is or somebody + +0:43:12.369,0:43:13.589 +wants that + +0:43:13.589,0:43:16.289 +and you know we really ought to do this and uh + +0:43:16.289,0:43:19.440 +you know how about figuring out other parts of the +kernel. + +0:43:19.440,0:43:20.559 +Mike and I would + +0:43:20.559,0:43:24.929 +Michael and I would look at the each other we +look at Keith it’s like yah yah all right. + +0:43:24.929,0:43:28.989 +Uh what you figured out you know I mean +You know all entire of the C library and all + +0:43:28.989,0:43:29.819 +this and that +0:43:29.819,0:43:31.760 +so we got to the conferences and + +0:43:31.760,0:43:32.859 +Keith is + +0:43:32.859,0:43:36.809 +putting up you know these huge list of utilities +you’ll rewrite this utility and get your name + +0:43:36.809,0:43:37.729 +in lights. + +0:43:37.729,0:43:40.869 +and uh you know and uh + +0:43:40.869,0:43:43.939 +So he would get this stuff sent in to him + +0:43:43.939,0:43:48.529 +and he would almost always just take a +bash it in Keith normal form which + +0:43:48.529,0:43:54.139 +usually did look a lot like what he got but +he started from clean so that + +0:43:54.139,0:43:55.119 +Was uh + +0:43:55.119,0:43:59.229 +you know good and you know it was sort of easy + you know that first someone sends in cat in. + +0:43:59.229,0:44:01.450 +you know someone like really go ho hog and + +0:44:01.450,0:44:04.849 +does that all options to LS + +0:44:04.849,0:44:07.629 +this is in the days before GNU software +you know + +0:44:07.629,0:44:10.119 +lots of options were invoked + +0:44:10.119,0:44:13.079 +Uh and then + +0:44:13.079,0:44:15.239 +one day uh + +0:44:15.239,0:44:16.759 +Keith comes into to report + +0:44:16.759,0:44:18.470 +that somebody is redoing + +0:44:18.470,0:44:20.449 +the TRaw family + +0:44:20.449,0:44:24.099 +and this is when Mike and I look at each +sort of gulp + +0:44:24.099,0:44:28.190 +because the next question out of +Keith’s mouth is ""How’s that kernel coming guys?"" + +0:44:28.190,0:44:32.299 +We can't go to the UNIX conferences and say rewrite +the kernel to get your name in lights you know + +0:44:32.299,0:44:36.400 +so we actually have to like go through and +figure out what's + +0:44:36.400,0:44:39.130 +Berkeley and what's not Berkeley and + +0:44:39.130,0:44:40.499 +segregate stuff out uh + +0:44:40.499,0:44:43.459 +A long story but eventually we get + +0:44:43.459,0:44:45.599 +something we feel that was clean + +0:44:45.599,0:44:47.929 +and uh so + +0:44:47.929,0:44:51.699 +we go back to the lawyers and say we +got this little update to the networking tape + +0:44:51.699,0:44:52.989 +that we'd like to do + +0:44:52.989,0:44:59.079 +uh that uh we're going to call it networking +release 2 Net 2 and + +0:44:59.079,0:45:00.470 +so actually + +0:45:00.470,0:45:04.599 +we do sort of come on and explain it is practically +the entire system and + +0:45:04.599,0:45:07.759 +lots of stuff happens but they finally sign +off on it + +0:45:07.759,0:45:09.469 +and we put it out there + +0:45:09.469,0:45:14.519 +and it's out there for good half a year before +BSDi + +0:45:14.519,0:45:17.499 +sort of fills in the missing bits and starts selling +it + +0:45:17.499,0:45:19.650 +they you know + +0:45:19.650,0:45:21.439 +engineers are + +0:45:21.439,0:45:23.230 +not really that good at + +0:45:23.230,0:45:25.419 +marketing and so + +0:45:25.419,0:45:28.859 +in particular they think that the sort of +cutesy things like + +0:45:28.859,0:45:32.729 +having your phone number being 1800 +itsUNIX + +0:45:32.729,0:45:38.759 +and adds to save a ninety nine percent of the +price of a AT&T charges for source code + +0:45:38.759,0:45:40.439 +Uh are cute + +0:45:40.439,0:45:41.670 +But it really irritates + +0:45:41.670,0:45:44.759 +the piss out of AT&T + +0:45:44.759,0:45:46.270 +And so they sue us + +0:45:46.270,0:45:49.319 +imagine that why they sue BSDi + +0:45:49.319,0:45:53.509 +and BSDi is what added only these 6 +files and you know all the rest came from Berkeley. + +0:45:53.509,0:45:57.129 +So we would be happy to talk about any of +the six files you’d like to + +0:45:57.129,0:45:59.530 +uh but otherwise you know forget it + +0:45:59.530,0:46:01.009 +and the judge agrees + +0:46:01.009,0:46:04.539 +because they don't have any problem about +those six files and so + +0:46:04.539,0:46:07.769 +there's no choice but to sue the University + +0:46:07.769,0:46:09.259 +and uh + +0:46:09.259,0:46:11.160 +that’s another long story in which I did + +0:46:11.160,0:46:12.629 +become an expert witness + +0:46:12.629,0:46:14.390 +which is actually proven + +0:46:14.390,0:46:18.809 +to be a relatively lucrative thing because +being an expert witness + +0:46:18.809,0:46:20.039 +it's something that you + +0:46:20.039,0:46:24.669 +it's really hard to break into that because +one wants to hire someone hasn't done it before + +0:46:24.669,0:46:28.359 +and it turns out that it really didn't +matter how much you know, do + +0:46:28.359,0:46:33.829 +you have a PhD because if you have PhD by definition +you must know you're talking about + +0:46:33.829,0:46:34.859 +I'm not making this up. + +0:46:34.859,0:46:36.219 +and number two is + +0:46:36.219,0:46:40.839 +How you speak in public then you know especially +people harassing you, well I've had ten thousand + +0:46:40.839,0:46:41.830 +students you know + +0:46:41.830,0:46:45.309 +there's not a question that a graduate student +has never asked me that I hadn't dealed with, + +0:46:45.309,0:46:51.309 +and lawyer is not up to a graduate student. + +0:46:51.309,0:46:53.219 +So I did pretty well that score too + +0:46:53.219,0:46:55.129 +uh and so + +0:46:55.129,0:46:57.599 +because I that they were forced to use me + in this case. + +0:46:57.599,0:47:00.080 +And but I did ran after then + +0:47:00.080,0:47:03.879 +the lawyer the outside lawyer that the Berkeley +got me to do some other stuff and + +0:47:03.879,0:47:08.800 +one thing leads to another so today I am uh +an expert in the + +0:47:08.800,0:47:12.989 +network compliance vs SUN microsystem +lawsuit vs ZFS lawsuit + +0:47:12.989,0:47:14.439 +which is uh + +0:47:14.439,0:47:17.739 +an interesting story that you can ask over +beer + +0:47:17.739,0:47:18.679 +At any rate + +0:47:18.679,0:47:21.629 +we eventually win the the lawsuit + +0:47:21.629,0:47:26.089 +And uh and we don't win it we settle the +lawsuit excuse me I have to use proper terminology + +0:47:26.089,0:47:27.029 +here. + +0:47:27.029,0:47:28.750 +We have to agree + +0:47:28.750,0:47:32.999 +that networking release 2 did in fact have +things in it that infringed + +0:47:32.999,0:47:34.490 +uh and + +0:47:34.490,0:47:35.999 +however + +0:47:35.999,0:47:40.329 +Uh the things that infringe were sufficiently +minor that with some + +0:47:40.329,0:47:40.730 +changes + +0:47:40.730,0:47:42.039 +uh we can + +0:47:42.039,0:47:43.370 +get something that's clean + +0:47:43.370,0:47:45.959 + we agreed that we will re-release + +0:47:45.959,0:47:50.890 +we'd do new release that has all these +changes made in it as 4.4 BSD lite. + +0:47:50.890,0:47:54.449 +So it’s 4.4 BSD which is the whole +thing complete with AT&T stuff and the + +0:47:54.449,0:47:56.059 +AT&T licenses + +0:47:56.059,0:47:57.580 +and for 4.4 BSD lite + +0:47:57.580,0:48:00.979 +which is got the stuff, the AT&T stuff stripped out +of it. + +0:48:00.979,0:48:04.869 +And AT&T really thought they’d won big-time +because all these people had been using the + +0:48:04.869,0:48:05.509 +Net 2. + +0:48:05.509,0:48:08.909 +They're going to be forced to throw it out +because we’re not allowed to tell what the changes + +0:48:08.909,0:48:09.640 +were + +0:48:09.640,0:48:12.729 +and have to start all over again + +0:48:12.729,0:48:14.929 +from lite + +0:48:14.929,0:48:19.339 +And the Bill Jolitz in particular just never did that +and so that's why this distribution got hammered + +0:48:19.339,0:48:22.150 +FreeBSD had to do it + +0:48:22.150,0:48:24.329 +the netBSD folks had to do it uh + +0:48:24.329,0:48:26.289 +and it was a huge amount of work but they +did it + +0:48:26.289,0:48:30.489 +and it was great because we got two more years +worth of our technology out + +0:48:30.489,0:48:32.959 +at any rate, that, + +0:48:32.959,0:48:36.289 +we actually did one more incremental sort of the +release, like 2 + +0:48:36.289,0:48:39.510 +I would just fix some of the most egregious +bugs + +0:48:39.510,0:48:43.309 +that’s what all happened was we got all these people +who bought this BSD lite licenses + +0:48:43.309,0:48:46.519 +Because they wanted to pay the +thousand dollars to get the piece of paper + +0:48:46.519,0:48:46.940 +saying + +0:48:46.940,0:48:48.899 +and this one's fine too + +0:48:48.899,0:48:49.640 +and uh + +0:48:49.640,0:48:52.819 +so we had a chunk of money and so Keith +and I just sort of worked + +0:48:52.819,0:48:54.689 +through that money + +0:48:54.689,0:48:56.329 +and it's just spend it + +0:48:56.329,0:48:58.640 +essentially doing bug fixes and stuff on lite + +0:48:58.640,0:49:00.839 +And finally released when the money ran out then + +0:49:00.839,0:49:03.769 +we left the university and that was the last release + +0:49:03.769,0:49:05.679 +Uh from from Berkeley + +0:49:05.679,0:49:12.679 +and that is the end of my story +So any questions? +Uh .. Yes + + +0:49:20.069,0:49:21.929 +Sorry.. uh VM system + + +0:49:21.929,0:49:25.359 +VM system yes. + +0:49:25.359,0:49:30.579 +So the VM system was actually sort of an interesting +story uh.. + +0:49:30.579,0:49:33.759 +Actually both VM and NFS were interesting +Stories. + +0:49:33.759,0:49:36.890 +The VM system uh + +0:49:36.890,0:49:41.160 +one of our attitudes was that why always come +up with a good idea when you can steal a better + +0:49:41.160,0:49:42.759 +one and + +0:49:42.759,0:49:46.369 +you know it's just a lot of work to write +a VM system this uh + +0:49:46.369,0:49:47.579 +you know that BSD folks + +0:49:47.579,0:49:48.599 +clearly know + +0:49:48.599,0:49:49.530 +and + +0:49:49.530,0:49:50.889 +uh so + +0:49:50.889,0:49:54.539 +we looked around to see if there's anything +that we could use + +0:49:54.539,0:49:57.969 +rather than have to write it from the scratch +ourselves, and + +0:49:57.969,0:50:01.689 + evaluated two different things. One +was + +0:50:01.689,0:50:04.759 +uh the the stuff that SUN had done + +0:50:04.759,0:50:10.109 +and the other was the stuff that had been done at +Carnegie Mellon under the Mach thing and + +0:50:10.109,0:50:14.069 +Uh they've done a whole lot of very good work +on the VM system we didn't really agree with + +0:50:14.069,0:50:18.179 +the micro-kernel principle but we liked +the VM system + +0:50:18.179,0:50:21.589 +and so we talked to SUN about potentially + +0:50:21.589,0:50:23.479 +Contributing uh + +0:50:23.479,0:50:27.159 +chunk of their VM system we talked to them +about contributing a chunk of their + +0:50:27.159,0:50:27.949 +VFS stuff. +0:50:27.949,0:50:31.649 +We knew that we couldn’t get NFS from them but + +0:50:31.649,0:50:32.659 +they they you know + +0:50:32.659,0:50:36.809 +the folks at SUN sorts of in engineering were too +enthusiastic about it and percolated it all the way + +0:50:36.809,0:50:39.459 +up to the Scott McNealy, he was the CEO at that +time + +0:50:39.459,0:50:42.979 +and even Scott McNealy was pretty enthusiastic about +giving the stuff to Berkeley. + +0:50:42.979,0:50:45.239 +you know as long as SUN would get credit for +it + +0:50:45.239,0:50:47.140 +And uh + +0:50:47.140,0:50:51.549 +so it really got to the point where it +is needed to be signed off by the the SUN + +0:50:51.549,0:50:52.429 +lawyers + +0:50:52.429,0:50:58.919 +and so they sent it off to them and after that SUN +lawyers came back and said, + +0:50:58.919,0:51:03.199 +“Well you know your stock holders could accuse you of +giving away company property + +0:51:03.199,0:51:07.309 +and and sue you in court and we really don't +recommend that you do this.” + +0:51:07.309,0:51:08.380 +and so + +0:51:08.380,0:51:09.999 +that the very last minute it was .. + +0:51:09.999,0:51:12.779 +We couldn't get any of that stuff from SUN. + +0:51:12.779,0:51:14.699 +So we ended up + +0:51:14.699,0:51:17.859 +adopting this stuff from Mach +the Mach VM system + +0:51:17.859,0:51:18.699 +and + +0:51:18.699,0:51:22.369 +so it fell to myself to take that and + +0:51:22.369,0:51:24.669 +figure out essentially how to plug it in. + +0:51:24.669,0:51:27.140 +and the problem was the old VM system + +0:51:27.140,0:51:32.259 +was very portable provided you were porting +into something that looked a lot like a VAX. + +0:51:32.259,0:51:37.429 +because it came down to uh you know the that the +basic page data structure was the VAX + +0:51:37.429,0:51:38.979 +page data structure. + +0:51:38.979,0:51:40.590 +and so when people would port it. + +0:51:40.590,0:51:44.440 +If they have something with the page data structure +to look different they wouldn't take it from + +0:51:44.440,0:51:48.360 +the VAX and they'd shuffle the bits around and put +it in the right order and then dropped it into + +0:51:48.360,0:51:50.829 +the whatever that architecture was + +0:51:50.829,0:51:55.509 +a page table. So it worked pretty well for porting +into the Motorola uh because the + +0:51:55.509,0:51:57.959 +MMU network was a lot like the VAX +uh + +0:51:57.959,0:52:01.899 +and some other machines but in other ways it +just really didn't cut it at all + +0:52:01.899,0:52:06.130 +whereas the VM had been done by +the the folks at CMU. + +0:52:06.130,0:52:09.389 +In Mach was uh you know + +0:52:09.389,0:52:11.059 +very elegantly designed + +0:52:11.059,0:52:13.150 +uh and in fact + +0:52:13.150,0:52:14.740 +it had in some ways + +0:52:14.740,0:52:18.980 +too many bells and whistles and too many options +and because a lot of sort of dead ends they + +0:52:18.980,0:52:21.189 +just sort of left hanging there + +0:52:21.189,0:52:22.589 +Uh but uh + +0:52:22.589,0:52:26.200 +the structure itself was nicely done about it was +about 90% machine independent code + +0:52:26.200,0:52:28.459 +10 % machine dependent code so that + +0:52:28.459,0:52:30.119 +a well defined interface. + +0:52:30.119,0:52:32.239 +the PMAC interface. + +0:52:32.239,0:52:34.359 +and so got that put in and of course we + +0:52:34.359,0:52:40.019 +did it onto the the Berkeley MMAP Interface +rather than what they did + +0:52:40.019,0:52:42.700 +with uh ports and so on + +0:52:42.700,0:52:43.160 +Uh and + +0:52:43.160,0:52:48.210 +So I got that together sort in the that +the 4.3 phase I didn’t talk about there were + +0:52:48.210,0:52:51.130 +two releases between 4.3 and 4.4 +4.3 + +0:52:51.130,0:52:53.789 +Tahoe and 4.3 Reno and + +0:52:53.789,0:52:56.689 +the first of them having the VM and the + +0:52:56.689,0:52:58.099 +second one having the NFS in it. + +0:52:58.099,0:52:59.759 +And uh + +0:52:59.759,0:53:01.499 +so + +0:53:01.499,0:53:05.529 +that got put out and then luckily people would feel +sort of look at it and said well you know + +0:53:05.529,0:53:07.709 +this really needs like a lot of work + +0:53:07.709,0:53:11.699 +so Mike Hibler, at the University of Utah did a tremendous +amount of the clean up in it. + +0:53:11.699,0:53:16.489 +and then later actually after we release +lite BSD in agreement + +0:53:16.489,0:53:18.719 +David Greenman did a whole lot more work on it. + +0:53:18.719,0:53:22.069 +really were just throwing tons of shit out +that shouldn’t have been at first place. + +0:53:22.069,0:53:26.559 +I had this whole notion of an external user +driven pager which was nice but the cost + +0:53:26.559,0:53:30.129 +of all the extra context switching other +things that would happen on pagefault was sort of + +0:53:30.129,0:53:32.549 +a killer uh + +0:53:32.549,0:53:39.479 +And so at any rate that's that's how the the +VM system got in there. + +0:53:39.479,0:53:40.420 +Any more questions? + +0:53:40.420,0:53:45.349 +See I can take like five minutes to answer +one question. + +0:53:45.349,0:53:45.599 +All right ! Well Thank You very much. |