doc/en_US.ISO8859-1/captions/2007/nycbsdcon/dixon-bsdisdying.sbv
Murray Stokely cea8cc0eee Second round of human editing of these transcripts paid for through
Amazon Mechanical Turk.

Sponsored by:	  FreeBSD Foundation
2010-02-02 18:56:29 +00:00

947 lines
19 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

0:00:07.329,0:00:13.679
You're here, Bob, of course. Bob is hot. Bob is very hot.
0:00:13.679,0:00:14.679
Welcome to BSD is Dying.
0:00:14.679,0:00:15.779
No, it's not dead yet,
0:00:15.779,0:00:16.529
we're getting there.
0:00:16.529,0:00:18.949
Anybody out here last year?
0:00:18.949,0:00:24.939
Okay. I gave a really bad talk on pf, and I
appreciate Bob coming out and correcting me this year.
0:00:24.939,0:00:28.550
Anyways, we should go and get started.
0:00:28.550,0:00:33.560
BSD is Dying.
0:00:33.560,0:00:35.820
What is BSD?
0:00:35.820,0:00:40.150
I think most of us know, BSD is a derivative of UNIX.
0:00:40.150,0:00:41.630
Okay, what is UNIX?
0:00:41.630,0:00:44.300
UNIX is an
0:00:44.300,0:00:45.260
operating system.
0:00:45.260,0:00:48.000
What is an operating system?
0:00:48.000,0:00:53.930
It runs computers.
0:00:53.930,0:00:56.610
But, what is a computer?
0:00:56.610,0:01:03.610
It helps users accomplish tasks. What is a user?
A user is somebody biped
0:01:07.409,0:01:10.600
that stands up right sort of like me.
0:01:10.600,0:01:14.280
Who am I? My name is Jason Dixon.
0:01:14.280,0:01:18.000
First and foremost, a SysAdmin. I like to work on networks,
0:01:18.000,0:01:18.590
firewalls. I like to tweak.
0:01:18.590,0:01:21.350
No. Yes.
0:01:21.350,0:01:27.630
I'm a programmer, sort of. I enjoy
0:01:27.630,0:01:28.960
Perl, Postgres,
0:01:28.960,0:01:30.820
on Apache
0:01:30.820,0:01:34.150
servers. I'm a consultant here. I'm an employee
0:01:34.150,0:01:38.920
here, and a lover of
0:01:38.920,0:01:40.150
BSD.
0:01:40.150,0:01:42.050
Why am I here?
0:01:42.050,0:01:46.970
Thats the question I've been asking myself all along.
0:01:46.970,0:01:48.630
To talk about why BSD is dying.
0:01:48.630,0:01:52.380
Sex and greed.
0:01:52.380,0:01:59.380
Someone kick these guys out.
0:02:00.410,0:02:05.470
Okay. So again, what is BSD? What is UNIX?
What is an operating system? What is a computer?
0:02:05.470,0:02:12.470
Computer is a device that computes, especially a
programmable electronic machine that performs high-speed
mathematical or logical operations or that assembles,
stores, correlates, or
0:02:13.900,0:02:14.390
otherwise processes
0:02:14.390,0:02:15.529
information.
0:02:15.529,0:02:19.090
This is a computer. This is also known as a
0:02:19.090,0:02:22.459
computer. This is a really big computer.
0:02:22.459,0:02:28.309
This is a big big computer, and sometimes,
it just can, well, compute
0:02:28.309,0:02:31.339
But what does a computer really do?
0:02:31.339,0:02:33.729
All right, it helps us write documents,
0:02:33.729,0:02:40.729
shopping lists. Sometimes, it can even delete documents.
It helps us work with email,
0:02:42.050,0:02:46.749
surf the Web, movies,
0:02:46.749,0:02:48.769
and listen to music.
0:02:48.769,0:02:50.409
Oh, and yes, games.
0:02:50.409,0:02:53.959
How? How does the computer let us do these
0:02:53.959,0:02:56.569
things? Well, it takes the work
0:02:56.569,0:03:00.179
and using the computer component, we can translate it
into machine language
0:03:00.179,0:03:01.489
that is the foundation
0:03:01.489,0:03:07.999
for kernel, libraries, userland applications,
otherwise known as an operating system.
0:03:07.999,0:03:10.659
like BSD.
0:03:10.659,0:03:12.619
What is a kernel?
0:03:12.619,0:03:16.439
It's a wonderful thing, it allows
0:03:16.439,0:03:23.439
The management of processes memory, peripheral devices,
and by extension, allows us to do networking, security,
0:03:23.540,0:03:26.639
work with disks and file systems, user interfaces,
userland applications, like
0:03:26.639,0:03:33.619
people can write documents, check email, surf the Web,
watch movies, listen to music, and play games.
0:03:33.619,0:03:38.209
and much, much more.
0:03:38.209,0:03:41.009
So, in summary, BSD
0:03:41.009,0:03:44.150
is a UNIX-derived operating system
0:03:44.150,0:03:51.150
enables users to harness the power of a computer to process
information. It uses the kernel to manage processes memory,
and peripheral devices. And by extension, we can perform
0:03:51.730,0:03:58.149
networking, enforce security, read from and write to storage
devices, and interface visually to applications like text
editors, mail clients, Web browsers, multimedia players, and
0:03:58.149,0:04:05.149
games.
0:04:05.509,0:04:09.199
In the beginning, I'm going to try and breeze through this,
people
0:04:09.199,0:04:10.970
The Holy
0:04:10.970,0:04:15.369
Trinity MIT, Bell Labs, and GE created
a systems called Multics.
0:04:15.369,0:04:18.750
This is a nice flash from the past.
0:04:18.750,0:04:20.650
Life was good.
0:04:20.650,0:04:21.639
No. No.
0:04:21.639,0:04:22.849
Actually, it
0:04:22.849,0:04:24.970
wasnt. The Multics was a commercial
0:04:24.970,0:04:29.690
failure. So, a couple of gentlemen like Ken Thompson and
Dennis Ritchie were not
0:04:29.690,0:04:34.539
[xx] support, liked to play games. They worked at Bell Labs
and they had this game called
0:04:34.539,0:04:36.470
Space Travel, which performed really
0:04:36.470,0:04:40.500
really badly. So, what's…actually, I'm sorry
0:04:40.500,0:04:43.639
it ran on a PDP-7.
0:04:43.639,0:04:48.989
What is an assembly programmer to do when a game
doesnt work properly on the star board? He mauls
0:04:48.989,0:04:53.240
it. So, in 1969, Ken Thompson
0:04:53.240,0:04:53.969
and
0:04:53.969,0:04:58.620
Sorry, came out with the Uniplexed Information
0:04:58.620,0:05:01.270
and Computing System. It was capable of supporting
0:05:01.270,0:05:02.499
a number of users
0:05:02.499,0:05:04.189
up to two.
0:05:05.239,0:05:07.100
And by
0:05:07.100,0:05:11.949
1970, UNIX was officially known as U-N-I-X Unix
0:05:11.949,0:05:14.759
It ran on a PDP1145
0:05:14.759,0:05:17.929
and was capable of text processing
0:05:17.929,0:05:21.019
and had utilities like roff and a text editor.
0:05:21.019,0:05:22.409
for the purpose of
0:05:22.409,0:05:24.210
patents. By
0:05:24.210,0:05:28.929
1973, they rewrote UNIX and a programming language called
0:05:28.929,0:05:33.340
C which allowed AT&T to make the source code available
to let other
0:05:33.340,0:05:35.650
people run it on their systems.
0:05:35.650,0:05:40.110
By 1974, a gentleman by the name of Bob Fabry,
who was at the University
0:05:40.110,0:05:42.079
of Cal Berkeley in their Computer Science Department
0:05:42.079,0:05:44.940
bought a copy of UNIX for $99.
0:05:44.940,0:05:47.710
to run their PDP-11.
0:05:47.710,0:05:52.850
By 1977, a gentleman named Bill Joy, a graduate
0:05:52.850,0:05:55.569
student, distributed the Berkeley Software
0:05:55.569,0:05:56.979
Distribution as
0:05:56.979,0:06:02.590
1BSD. It was on a tape media that contained the PASCAL
0:06:02.590,0:06:04.270
compiler, the ex editor, and
0:06:04.270,0:06:09.289
by 1978, it was known as 2BSD with
0:06:09.289,0:06:10.179
vi, csh, and the list
0:06:10.179,0:06:11.549
goes on.
0:06:11.549,0:06:17.030
By 4BSD, we had job control, delivermail,
0:06:17.030,0:06:21.339
precursor to sendmail, curses, libraries. 1981,
0:06:21.339,0:06:24.750
4.1BSD, this one, we are recorded through VAX
0:06:24.750,0:06:30.539
addressed a number of memory performance issues with UNIX on VAX
0:06:30.539,0:06:34.159
1983, 4.2BSD uses TCP/IP from BBN,
0:06:34.159,0:06:36.990
and also the Berkeley Fast File System from the
0:06:36.990,0:06:39.219
gentleman, Kirk McKusick,
0:06:39.219,0:06:44.100
who also brought us the original Beastie today.
0:06:44.100,0:06:49.280
In 1986, 4.3BSD introduced performance improvements
over 4.2BSD
0:06:49.280,0:06:53.299
By 1988, we had a list called 4.3BSD-Tahoe
0:06:53.299,0:06:57.180
originally intended to run on the Power 6/32
“Tahoe” platform.
0:06:57.180,0:07:00.160
That platform actually never came to fruition
0:07:00.160,0:07:04.280
but it did allow us to abstract some of the
machine-independent
0:07:04.280,0:07:07.240
code which allowed it to become portable much later on.
0:07:07.240,0:07:09.050
By 1989, there was
0:07:09.050,0:07:10.810
Net/1, which separated the networking code
0:07:10.810,0:07:14.349
from the AT&T UNIX code
0:07:14.349,0:07:17.399
allowing for a permissive BSD license
0:07:17.399,0:07:20.479
By 1990, 4.3BSD-Reno
0:07:20.479,0:07:24.770
introduced the MACH virtual files, MACH virtual
0:07:24.770,0:07:27.189
memory system, Sun-compatible NFS
0:07:27.189,0:07:30.939
However, it was known as a real
0:07:30.939,0:07:34.119
gamble, hence the Reno moniker.
0:07:34.119,0:07:36.690
By 1991, we had
0:07:36.690,0:07:40.280
Net/2 where all AT&T code and utilities were
replaced or removed
0:07:40.280,0:07:44.439
and ran on the Intel 386
0:07:44.439,0:07:47.360
and it became the basis for the 386BSD
0:07:47.360,0:07:50.840
and BSD/386 releases.
0:07:50.840,0:07:52.870
A gentleman by the name of Bill Jolitz
0:07:52.870,0:07:54.880
behind 386
0:07:54.880,0:07:58.169
BSD release, which eventually became the foundation for
0:07:58.169,0:07:59.849
FreeBSD and NetBSD.
0:07:59.849,0:08:02.250
And the
0:08:02.250,0:08:09.250
BSD3, I'm sorry, the 386BSD, which later on became
BSD/OS by BSDI
0:08:09.659,0:08:14.599
Exodus. Back in 1992, a wholly owned subsidiary of
0:08:14.599,0:08:18.699
AT&T called Unix System Laboratories
0:08:18.699,0:08:20.389
decided to go after
0:08:20.389,0:08:22.539
BSDI for
0:08:22.539,0:08:25.249
I'm sorry,
0:08:25.249,0:08:26.860
in New
0:08:26.860,0:08:33.139
Jersey, as for an injunction against him due to various
what they consider proprietary
0:08:33.139,0:08:34.650
code in the
0:08:34.650,0:08:35.960
BSD.
0:08:35.960,0:08:40.200
This was one of their advertising things again, they used
this as the basis for the
0:08:40.200,0:08:42.150
lawsuit. I have
0:08:42.150,0:08:44.640
no idea what thats for.
0:08:44.640,0:08:47.660
0:08:47.660,0:08:52.440
Net/2 was basically, I'm sorry
0:08:52.440,0:08:55.809
the three BSDIs version of BSD OS is basically Net/2
0:08:55.809,0:08:58.239
+ 6 files that they had version from
0:08:58.239,0:09:00.540
Bill Jolitzs 386
0:09:00.540,0:09:05.030
BSD. The lawsuit was, I'm sorry, the court settlement was
0:09:05.030,0:09:09.020
ruled over by a judge who denied the injunction
0:09:09.020,0:09:11.469
and asked them to narrow their
0:09:11.469,0:09:15.650
complaint to recent California copyrights
and the possibility of the loss of
0:09:15.650,0:09:19.299
trade secrets. He also did a really great thing
for BSD is that he hinted,
0:09:19.299,0:09:21.829
that…actually by this
0:09:21.829,0:09:25.770
point, the University of California Berkeley had been
also added into the
0:09:25.770,0:09:29.030
lawsuit. Well, he gave a hint to bring the case to the state
0:09:29.030,0:09:30.160
court. So,
0:09:30.160,0:09:36.110
BSD laywers were pretty smart over at Cal and they decided
to make a run over to the state court by the next
0:09:36.110,0:09:38.690
Monday to file a countersuit
0:09:38.690,0:09:39.390
against USL,
0:09:39.390,0:09:43.250
in the state of California.
0:09:43.250,0:09:46.280
Soon after USL went up for
0:09:46.280,0:09:49.070
sale, and it was bought by Novell
0:09:49.070,0:09:53.860
A gentleman, Ray Noorda, the CEO
0:09:53.860,0:09:58.730
at Novell, agreed to a settlement at this point because
they understood that there was
0:09:58.730,0:10:01.060
no copyright infringement in the
0:10:01.060,0:10:03.510
code. So, basically,
0:10:03.510,0:10:05.850
the lawsuit was settled out of court
0:10:05.850,0:10:07.150
in secret for ten years.
0:10:07.150,0:10:08.870
In 2004, a site Groklaw primarily got
0:10:11.490,0:10:14.990
what the actual settlement
0:10:14.990,0:10:16.120
was released.
0:10:16.120,0:10:17.910
And, well
0:10:17.910,0:10:19.560
USL, AT&T and
0:10:19.560,0:10:20.550
Novell sort of
0:10:20.550,0:10:22.190
was embarrassed,
0:10:22.190,0:10:27.060
which ended up resulting in two distinct releases
0:10:27.060,0:10:32.990
4.4BSD, there is an encumbered version and had USL license
0:10:32.990,0:10:37.490
and AT&T code, and 4.4BSD-Lite, which was completely
unencumbered
0:10:37.490,0:10:39.460
and became the
0:10:39.460,0:10:40.600
foundation for
0:10:40.600,0:10:43.470
FreeBSD.
0:10:43.470,0:10:47.500
NetBSD, I'm sorry, FreeBSD, it ends right there
0:10:49.150,0:10:55.670
FreeBSD, people with background, only different BSDs
that came out of 386BSD
0:10:55.670,0:11:00.900
It runs on Intel x86, Itanium, AMD64, Alpha, Sun Ultra
0:11:00.900,0:11:05.149
SPARC and it gives us the neat features of jail, which
most of us are familiar with,
0:11:05.149,0:11:07.420
mandatory access control as MACH
0:11:07.420,0:11:10.830
and historically, had a very strong TCP/
0:11:10.830,0:11:11.750
IP and SMP performance.
0:11:11.750,0:11:16.150
The original NetBSD, which also came from 386BSD
0:11:18.680,0:11:22.200
Over 50 hardware platforms from a single
source tree
0:11:22.200,0:11:25.520
and thats pretty much what it's known for. To be honest
0:11:25.520,0:11:31.790
I mean, I got to admit I'm an Open BSD guy, I was looking for
a really cool and innovative features for NetBSD and I really
0:11:31.790,0:11:32.329
couldnt find any.
0:11:32.329,0:11:34.940
so let them hang their head on this.
0:11:34.940,0:11:37.160
Sorry,
0:11:37.160,0:11:39.650
I know people are going to…
0:11:39.650,0:11:46.650
I know the NetBSDers is going to jump me…I can
handle two of you. Okay? And this is
0:11:48.680,0:11:51.490
a list of the hardware platforms that currently supported on
0:11:51.490,0:11:53.820
including a toaster.
0:11:53.820,0:11:55.000
0:11:55.000,0:11:56.410
OpenBSD,
0:11:56.410,0:11:59.179
this is one of the old logos, this is the new
0:11:59.179,0:12:03.510
logo. It was forked from NetBSD 1.0, we won't go
into the history, I know
0:12:03.510,0:12:08.929
most people know it, and it's supported by about
16 official platforms
0:12:08.929,0:12:12.530
platforms. This is about half of the most popular ones.
0:12:12.530,0:12:17.570
And it comes out with a new release every six months,
generally, in May and November
0:12:17.570,0:12:20.810
1st, so if you havent already, pick a copy, that just came
0:12:20.810,0:12:24.880
out of the foil. It's unofficial model is secure by default
0:12:24.880,0:12:31.880
only what's needed is running on the default
0:12:32.750,0:12:35.690
And, some of their goals
0:12:35.690,0:12:38.300
and features - full disclosure, audits,
0:12:38.300,0:12:43.950
privsep, privilege separation & revocation, chroot jails,
like FreeBSD,
0:12:43.950,0:12:48.910
random values wherever possible. This is probably
0:12:48.910,0:12:52.180
the most obvious example. ProPolice
0:12:52.180,0:12:58.070
Some other features that theyd given us through
the years PF, authpf, CARP, pfsyncd,
0:12:58.070,0:13:01.380
which I think some of these are probably in the
0:13:01.380,0:13:08.380
FreeBSD by now. DragonFlyBSD was a continuation of
FreeBSD 4.8. Again,
0:13:08.760,0:13:11.160
DragonFlyBSD was
0:13:11.160,0:13:15.640
forked with FreeBSD 4.8 and was intended to basically
0:13:15.640,0:13:21.580
overhaul the SMP features in FreeBSD 6
and 7..5,6, and 7.
0:13:21.580,0:13:25.690
DragonFly is another example. If you look at their goals,
it had some really neat technological stuff.
0:13:25.690,0:13:28.500
I can't find any features that really, you
0:13:28.500,0:13:31.830
know, mean anything.
0:13:31.830,0:13:33.130
Of course,
0:13:33.130,0:13:36.890
Tiger is an old I'm sorry, OSX
0:13:36.890,0:13:43.890
It started from the Jolitz project, but it's sort of an inbred
0:13:48.870,0:13:53.800
and then various others spearBSD, ecoBSD
0:13:53.800,0:13:58.350
and other minor BSDs
0:13:58.350,0:14:04.130
That is all about, I wanted to cover kind of the present of
where we are right now, some of the myths and truths.
0:14:04.130,0:14:08.260
Why is BSD dying? Really, thats what the title
0:14:08.260,0:14:11.750
of the project and topic is.
0:14:11.750,0:14:16.270
Well, first, because IDC said so.
0:14:16.270,0:14:21.480
Market share for BSD is, right now, at an all time low, under 1%
0:14:21.480,0:14:28.480
And, of course, Netcraft confirms these findings.
Last place in the SysAdmin networking test, so we all
0:14:29.660,0:14:30.930
know that word, we're just big losers.
0:14:30.930,0:14:37.610
Because open-source projects are giving away free software.
I mean, we can't possibly make
0:14:37.610,0:14:39.310
money, so that, obviously, means that
0:14:39.310,0:14:46.310
we're dying. And free software is terrible
0:14:46.390,0:14:53.390
We know the insane let me get out.
Free software equals terrism.
0:14:55.120,0:14:57.910
0:14:57.910,0:15:04.910
Our inability to adapt. As you can see by this graph
0:15:09.630,0:15:15.980
Let's be serious here, people.
As per FreeBSD network pages per hour search
0:15:15.980,0:15:20.520
We see Windows, obviously I mean, they are way ahead people.
Come on, theyve been doing this for a number of what? 15,
0:15:20.520,0:15:22.180
20 years. Linux is second.
0:15:22.180,0:15:24.349
They actually are showing some.
0:15:24.349,0:15:29.259
We presume that someone is doing authentication
by reading user pages
0:15:29.259,0:15:35.450
The BSD is only for register, so we've got to work
on that, of course
0:15:35.450,0:15:37.030
Loss of talent.
0:15:37.030,0:15:41.410
FreeBSD has lost 93% of their core developers.
0:15:41.410,0:15:45.300
Okay, come on, guys, let's go.
0:15:45.300,0:15:48.030
But not all is lost.
0:15:48.030,0:15:53.600
Fortunately, a few very small companies still
use BSD in this age.
0:15:53.600,0:15:56.450
0:15:56.450,0:16:02.590
I know you probably have heard most of these.
0:16:02.590,0:16:05.780
Believe it or not, this is our premier
0:16:05.780,0:16:12.780
sponsor, and some other company that didnt sponsor us
0:16:16.070,0:16:17.560
0:16:17.560,0:16:20.070
I should just end right there.
0:16:20.070,0:16:21.870
because we're the nearest to them
0:16:21.870,0:16:28.130
Seriously, though, the technological challenge that we
have ahead of us. Virtualization, thats a big deal
0:16:28.130,0:16:29.529
as far as the market.
0:16:29.529,0:16:33.230
Of course, developers are in the market, so,
if that happens, that
0:16:33.230,0:16:35.370
happens. Although the end is really, really cool.
0:16:35.370,0:16:40.150
DRM, is obviously evil, yes, I know, I dont care about
0:16:40.150,0:16:41.690
DRM. Run Dell.
0:16:41.690,0:16:43.980
Right?
0:16:43.980,0:16:45.310
Political challenges
0:16:45.310,0:16:48.710
Now, this has been hard to entertain,
but I can't read this out in front of
0:16:48.710,0:16:50.530
people. Blobs,
0:16:50.530,0:16:52.140
binary is bad,
0:16:52.140,0:16:53.140
dont do it
0:16:53.140,0:16:56.180
just smoke in the same crap
0:16:56.180,0:16:57.540
when it says
0:16:57.540,0:16:59.590
NDAs
0:16:59.590,0:17:01.900
and closed documentation.
0:17:01.900,0:17:06.460
How many of us here are actual core developers for
one of the BSDs?
0:17:06.460,0:17:08.159
Okay, the rest of us, let's help them
0:17:08.159,0:17:09.420
out
0:17:09.420,0:17:10.120
okay
0:17:10.120,0:17:12.000
get in touch with your supplier,
0:17:12.000,0:17:16.740
let's get some documentation to these guys.
0:17:16.740,0:17:18.159
Because without the
0:17:18.159,0:17:20.100
diversity, we have
0:17:20.100,0:17:22.220
unity
0:17:22.220,0:17:24.630
and a common goal.
0:17:27.420,0:17:30.090
Thank you.