aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMurray Stokely <murray@FreeBSD.org>2010-01-31 09:26:34 +0000
committerMurray Stokely <murray@FreeBSD.org>2010-01-31 09:26:34 +0000
commit8b52b275791d8bb870a8bbf22731fe7477f3b76d (patch)
tree44075e110b1832e66a4882e71822689525ac3ef0
parentf54ba8fba63b5555ed9c040d65a8604e31b24d5b (diff)
downloaddoc-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
-rw-r--r--en_US.ISO8859-1/captions/2009/dcbsdcon/mckusick-historyofbsd.sbv7820
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.