0:00:00.460,0:00:04.370
BSD is still dying.
0:00:04.370,0:00:06.220
Welcome to ""BSD is Still Dying.""
0:00:06.220,0:00:07.790
It’s not quite dead yet,
0:00:07.790,0:00:09.409
but we're getting there.
0:00:09.980,0:00:16.980
Well, welcome to the closing of the DCBSDCon
2009.
0:00:17.240,0:00:19.330
So, what is BSD?
0:00:19.330,0:00:22.299
Well, BSD is a derivative of UNIX.
0:00:22.299,0:00:23.879
Okay, so what is UNIX?
0:00:23.879,0:00:26.749
UNIX is an operating system.
0:00:26.749,0:00:29.259
What’s an operating system?
0:00:29.259,0:00:32.560
An operating system is the soul of a computer.
0:00:32.560,0:00:34.000
But, what’s a computer?
0:00:34.000,0:00:37.469
A computer is a tool, it’s basically a glorified calculator
0:00:37.469,0:00:42.160
that enables users to accomplish tasks better.
0:00:42.160,0:00:44.060
So, what is a user?
0:00:44.060,0:00:46.190
A user is someone who operates the computer.
0:00:46.190,0:00:49.580
It tends to stand upright, sort of like me
0:00:49.580,0:00:51.940
and Bob.
0:00:51.940,0:00:52.840
So, who am I?
0:00:52.840,0:00:54.610
My name is Jason Dixon.
0:00:54.610,0:00:57.080
First and foremost, I’m a Sysadmin.
0:00:57.080,0:00:59.500
I like to work on networks and firewalls.
0:00:59.500,0:01:01.270
I like to tweak;
0:01:01.270,0:01:01.130
no...
0:01:01.130,0:01:03.630
yes.
0:01:03.630,0:01:05.650
I'm a programmer, sort of.
0:01:05.650,0:01:08.450
I enjoy programming with Perl, PostgreSQL,
0:01:08.450,0:01:10.340
and Apache Web servers.
0:01:10.340,0:01:12.229
I'm a consultant here.
0:01:12.229,0:01:15.159
I'm an employee--
0:01:15.159,0:01:16.840
damn, not there!
0:01:16.840,0:01:19.819
Missed that slide, sorry, er, I'm sorry, OmniTI.
0:01:25.430,0:01:30.229
You can tell I switch jobs entirely too often.
0:01:32.909,0:01:33.870
And I'm a lover
0:01:33.870,0:01:36.240
of BSD.
0:01:36.240,0:01:38.360
Okay, but why am I here?
0:01:38.360,0:01:39.880
To talk about why
0:01:39.880,0:01:43.830
BSD is dying.
0:01:43.830,0:01:45.270
Sex...
0:01:45.270,0:01:47.710
and greed.
0:01:47.710,0:01:50.210
Ok, it really has nothing to do with either of these.
0:01:50.210,0:01:52.000
But if I told you licensing of blobs,
0:01:52.000,0:01:54.400
would you have shown up? Not that you had a choice.
0:01:55.750,0:01:58.160
To quickly summarize, what is BSD?
0:01:58.160,0:01:59.290
What is UNIX?
0:01:59.290,0:02:00.800
What is an operating system?
0:02:00.800,0:02:02.310
What is a computer?
0:02:02.310,0:02:04.929
A computer: A computer is a device that computes
0:02:04.929,0:02:08.429
especially, a programmable electronic machine
that performs high speed mathematical
0:02:08.429,0:02:10.180
or logical operations,
0:02:10.180,0:02:13.869
or that assembles, stores, correlates, or otherwise processes
information.
0:02:13.869,0:02:15.189
This is a computer.
0:02:15.189,0:02:17.029
This is a small computer.
0:02:17.029,0:02:18.899
This is a big computer
0:02:18.899,0:02:20.169
This is a big,
0:02:20.169,0:02:23.479
fake computer.
0:02:23.479,0:02:26.889
And this is a really old computer.
0:02:26.889,0:02:28.909
Well, what does a computer really do?
0:02:28.909,0:02:30.670
It helps us write documents.
0:02:30.670,0:02:32.509
For example, Linux man pages.
0:02:32.509,0:02:36.159
We can compose shopping lists.
0:02:36.159,0:02:41.459
Computers can even delete documents on the fly.
0:02:41.459,0:02:43.340
We can write emails,
0:02:43.340,0:02:44.370
surf the Web,
0:02:44.370,0:02:46.539
watch movies, uhh...
0:02:46.539,0:02:48.889
movies,
0:02:48.889,0:02:50.489
listen to our favorite music,
0:02:50.489,0:02:54.279
and even play games.
0:02:54.279,0:02:56.839
But how does the computer let us do these things?
0:02:56.839,0:02:59.609
It starts by taking text known as source code,
0:02:59.609,0:03:03.439
and using the compiler can translate it into binary
machine language.
0:03:03.439,0:03:05.119
That’s the foundation
0:03:05.119,0:03:06.310
for the kernel,
0:03:06.310,0:03:06.910
libraries,
0:03:06.910,0:03:09.100
and userland applications, otherwise known as
0:03:09.100,0:03:14.609
an operating system.
0:03:14.609,0:03:15.709
Like, BSD. So you ask:
0:03:15.709,0:03:17.649
What is a kernel?
0:03:17.649,0:03:19.549
It's a wonderful thing.
0:03:19.549,0:03:21.209
It allows for the management
0:03:21.209,0:03:23.219
of processes, memory,
0:03:23.219,0:03:28.009
and peripheral devices.
0:03:28.009,0:03:30.730
And by extension, it allows us to do cool stuff like
0:03:30.730,0:03:31.620
networking,
0:03:31.620,0:03:33.319
provide better security,
0:03:33.319,0:03:36.930
work with disks and file systems, create user interfaces,
0:03:36.930,0:03:39.900
interact with userland applications that let us
do things like
0:03:39.900,0:03:43.249
write documents, read email, surf the Web,
watch movies,
0:03:43.249,0:03:44.639
listen to music,
0:03:44.639,0:03:45.219
play games,
0:03:45.219,0:03:51.879
and much, much more.
0:03:51.879,0:03:54.619
In summary,
0:03:54.619,0:03:58.359
BSD is a UNIX-derived operating system that enables
users to harness the power of
0:03:58.359,0:04:01.049
a computer and process information better.
0:04:01.049,0:04:05.239
It uses a kernel to manage processes, memory,
and peripheral devices, and by extension
0:04:05.239,0:04:09.379
We can perform networking, enforce security,
read from and write to storage devices and interface visually to applications
0:04:09.379,0:04:10.329
like text editors
0:04:10.329,0:04:17.329
mail clients, Web browsers, multimedia players, and games.
0:04:18.239,0:04:19.560
For a second, I'd like to look back
0:04:19.560,0:04:22.350
on the history of UNIX for a few minutes.
0:04:22.350,0:04:24.039
Now, to be honest,
0:04:24.039,0:04:27.460
Kirk McKusick just trumped everything I had
from my talk.
0:04:27.460,0:04:32.620
So, a lot of this is gonna be a repeat,
but it's still pretty good.
0:04:32.620,0:04:34.770
So, in the beginning,
0:04:34.770,0:04:37.439
and yes, there was life before UNIX.
0:04:37.439,0:04:39.559
We had the Holy Trinity:
0:04:39.559,0:04:43.439
MIT, Bell Labs and GE teamed to create
a system called Multics,
0:04:43.439,0:04:46.999
the Multiplexed Information and Computing Service.
0:04:46.999,0:04:50.709
We have a huge GE650 mainframe running Multics.
0:04:50.709,0:04:56.550
You can tell the engineers from the pointy-haired bosses.
0:04:56.550,0:04:58.800
And so, it was a huge success.
0:04:58.800,0:05:01.399
We all run Multics on a laptop, mainframes, of course.
0:05:01.399,0:05:04.959
Actually, no, it was a commercial failure.
0:05:04.959,0:05:08.749
Fortunately there was a computer scientist at Bell Labs
named Ken Thompson.
0:05:08.749,0:05:12.110
He’d worked on the Multics project and was inspired
by the interactive computing
0:05:12.110,0:05:13.239
it provided.
0:05:13.239,0:05:15.500
Unfortunately, scrapping the Multics project
0:05:15.500,0:05:19.240
meant that he no longer had a system with which
to perform serious work like
0:05:19.240,0:05:21.220
Space Travel,
0:05:21.220,0:05:23.329
A space simulation game
0:05:23.329,0:05:25.319
He had written for Multics on the
0:05:25.319,0:05:27.590
GE 650 mainframe.
0:05:27.590,0:05:29.260
With Dennis Ritchie’s assistance
0:05:29.260,0:05:30.960
and his experience from the Multics project,
0:05:30.960,0:05:34.439
they were able to craft together an operating system
of assembly language
0:05:34.439,0:05:36.569
running on a PDP-7.
0:05:36.569,0:05:40.059
It was capable of interactive
computing with a terminal
0:05:40.059,0:05:43.979
rather than just feeding in
punched keycards.
0:05:43.979,0:05:45.909
They termed it the UNIX systems.
0:05:45.909,0:05:49.630
UNIX system, short for Uniplexed Information
and Computing System,
0:05:49.630,0:05:53.409
A play on the Multics name.
0:05:53.409,0:05:59.169
It's supported a number of users...
0:05:59.169,0:06:06.050
Did I miss something?
0:06:06.050,0:06:13.050
It supported a number of users...
0:06:15.020,0:06:19.879
Talk about your anticlimactic slides.
0:06:19.879,0:06:21.120
By 1970,
0:06:21.120,0:06:23.680
it officially became known as U-N-I-X
0:06:23.680,0:06:27.800
probably to save a byte of memory.
0:06:27.800,0:06:31.020
They would have made really good
OpenBSD programmers back then.
0:06:31.020,0:06:34.409
By 1971, the UNIX System was officially
put into production use.
0:06:34.409,0:06:36.330
It had been ported to the PDP-11.
0:06:36.330,0:06:37.989
It was capable of text processing
0:06:37.989,0:06:42.240
for the purpose of filing patents.
0:06:42.240,0:06:44.789
I was trying to visualize software patents
0:06:44.789,0:06:51.789
and a cat kicking a dog is probably
the closest thing to it in real life.
0:06:52.729,0:06:56.669
By 1973,
0:06:56.669,0:06:59.929
they rewrote UNIX
0:06:59.929,0:07:01.950
in a portable language created by Dennis Ritchie.
0:07:01.950,0:07:04.569
The C programming language evolved from the B language
0:07:04.569,0:07:07.759
adding data types and structures.
0:07:07.759,0:07:10.680
Thanks to a 1958 antitrust case, AT&T had been
0:07:10.680,0:07:12.520
forbidden to enter the computer business.
0:07:12.520,0:07:14.799
This meant UNIX could not be turned into a product,
0:07:14.799,0:07:16.529
so they would ship tapes
0:07:16.529,0:07:20.489
and disk packs of the source code
to anyone who asked.
0:07:20.489,0:07:22.789
Since the source code was freely available
0:07:22.789,0:07:25.490
and ran in a portable computer language
0:07:25.490,0:07:29.349
universities and research labs worldwide were able to run
UNIX on their own systems.
0:07:29.349,0:07:31.049
By 1974,
0:07:31.049,0:07:32.740
Professor Bob Fabry
0:07:32.740,0:07:34.750
at the University of Cal Berkeley
0:07:34.750,0:07:36.859
purchased a copy of UNIX for $99
0:07:36.859,0:07:38.990
for their own PDP-11
0:07:38.990,0:07:40.659
By 1977,
0:07:40.659,0:07:43.579
Bill Jolitz, a graduate student of Cal Berkeley,
0:07:43.579,0:07:46.330
distributed the Berkeley Software Distribution
0:07:46.330,0:07:47.259
otherwise known as
0:07:47.259,0:07:49.029
1BSD.
0:07:49.029,0:07:50.759
It included a Pascal compiler,
0:07:50.759,0:07:52.460
the ex editor,
0:07:52.460,0:07:53.619
and the ex editor.
0:07:53.619,0:07:54.900
By 1978,
0:07:54.900,0:07:57.159
2BSD had been released
0:07:57.159,0:07:59.139
which added the vi editor
0:07:59.139,0:08:03.149
and a C shell.
0:08:03.149,0:08:05.459
I'm definitely not old school when it comes to editors.
0:08:05.459,0:08:08.419
Corn Shell for the win.
0:08:08.419,0:08:09.789
1979,
0:08:09.789,0:08:12.110
3BSD was released,
0:08:12.110,0:08:13.879
adding support for the VAX platform.
0:08:13.879,0:08:16.599
It was coined as Virtual VAX or VMUNIX
0:08:16.599,0:08:20.349
thanks to the new virtual memory implementation
written specifically for the VAX UNIX/32V
0:08:20.349,0:08:23.059
computer at Berkeley.
0:08:23.059,0:08:24.830
Thanks to the success of 3BSD
0:08:24.830,0:08:28.769
the Defense Advanced Research Project Agency (DARPA)
0:08:28.769,0:08:33.080
ordered Berkeley CSRG with a contract to enhance UNIX
0:08:33.080,0:08:35.810
for the VLSI project.
0:08:35.810,0:08:37.550
These enhancements were
0:08:37.550,0:08:38.570
eventually released
0:08:38.570,0:08:40.080
as 4BSD.
0:08:40.080,0:08:42.300
Which added job control for the C shell
0:08:42.300,0:08:45.580
delivermail, the predecessor to sendmail,
0:08:45.580,0:08:48.140
the curses programming library,
0:08:48.140,0:08:51.240
and reliable signals.
0:08:51.240,0:08:55.960
Unfortunately, 4BSD was criticized for bad
performance on the VAX platform,
0:08:55.960,0:08:59.950
so Bill Jolitz went back to work tuning the kernel
to outperform VMS on the VAX
0:08:59.950,0:09:04.030
eventually releasing 4.1BSD for these performance fixes.
0:09:04.030,0:09:05.410
Two years later,
0:09:05.410,0:09:07.940
4.2 was released
0:09:07.940,0:09:10.650
incorporating a TCP/IP stack from BBN Technologies,
0:09:10.650,0:09:13.360
also a contractor for DARPA,
0:09:13.360,0:09:17.090
as well as the Berkeley Fast File System,
0:09:17.090,0:09:21.510
written by a dapper young man by the name of Kirk McKusick,
0:09:21.510,0:09:24.500
who was also kind enough to give us the original BSD mascot.
0:09:24.500,0:09:25.940
In 1986,
0:09:25.940,0:09:28.410
4.3BSD was unleashed
0:09:28.410,0:09:31.300
incorporating numerous performance improvements,
0:09:31.300,0:09:36.370
including a non-BBN version of the TCP/IP stack,
which was found to be superior by DARPA.
0:09:36.370,0:09:37.290
1998,
0:09:37.290,0:09:40.030
the next version of BSD was released.
0:09:40.030,0:09:45.460
4.3BSD-Tahoe, so named for the short-lived
Power 6/32 “Tahoe” platform.
0:09:45.460,0:09:49.960
This was an initial attempt of moving away
from the VAX platform.
0:09:49.960,0:09:53.800
Although the Tahoe was unsuccessful, it helped introduce
machine-independent code that would improve
0:09:53.800,0:10:00.720
BSD's future portability.
0:10:00.720,0:10:04.670
Up to this point, all versions of BSD
included proprietary AT&T code .
0:10:04.670,0:10:07.550
It required licenses from AT&T for their use.
0:10:07.550,0:10:10.190
These licenses have become prohibitively expensive,
0:10:10.190,0:10:13.260
driving demand for an AT&T-free version of UNIX.
0:10:13.260,0:10:15.130
This led to the release of Net/1
0:10:15.130,0:10:20.230
a BSD license distribution of the FreeBSD networking code,
0:10:20.230,0:10:23.340
unencumbered by any AT&T code or licenses.
0:10:23.340,0:10:24.319
The next year,
0:10:24.319,0:10:25.810
4.3BSD-Reno
0:10:25.810,0:10:26.930
was released.
0:10:26.930,0:10:28.610
The name suggesting
0:10:28.610,0:10:32.360
a gamble when used production use.
0:10:32.360,0:10:35.560
Regardless, it included the MACH virtual memory
system,
0:10:35.560,0:10:37.030
Sun-compatible NFS,
0:10:37.030,0:10:40.280
and continued the movement toward POSIX compliance.
0:10:40.280,0:10:44.980
It became apparent that the AT&T code was a
hassle, so Keith Bostic at the CSRG
0:10:44.980,0:10:48.060
re-wrote virtually all of the utilities and code that was
still from AT&T.
0:10:48.060,0:10:49.720
In the middle of 1991
0:10:49.720,0:10:51.459
Net/2 was released,
0:10:51.459,0:10:56.480
a nearly complete BSD UNIX system that was freely
distributable under the BSD license.
0:10:56.480,0:11:02.100
Net/2 was the basis for two separate ports
of BSD to the Intel 80386 architecture.
0:11:02.100,0:11:05.670
Bill Jolitz started the 386BSD distribution,
0:11:05.670,0:11:11.000
which became the basis for the 3BSD and
NetBSD projects.
0:11:11.000,0:11:13.430
Berkeley Software Design (BSDI)
0:11:13.430,0:11:15.199
came out with BSD/386,
0:11:15.199,0:11:22.199
a proprietary version later renamed as BSD/OS.
0:11:22.560,0:11:23.520
In 1992,
0:11:23.520,0:11:25.970
a wholly-owned subsidiary of AT&T,
0:11:25.970,0:11:27.800
UNIX System Laboratories,
0:11:27.800,0:11:30.310
also known as USL,
0:11:30.310,0:11:34.860
filed suit against BSDI claiming that AT&T’s
proprietary code was included in
0:11:34.860,0:11:37.420
the BSD UNIX product.
0:11:37.420,0:11:41.640
An injunction was filed asking for BSDI
to discontinue their use of advertising
0:11:41.640,0:11:43.380
which alluded to the UNIX name
0:11:43.380,0:11:45.780
own by AT&T, and supposedly aimed
0:11:45.780,0:11:47.880
to confuse unsuspecting users
0:11:47.880,0:11:49.860
or buyers
0:11:49.860,0:11:53.620
regardless of the fact that the BSD sold
for $995,
0:11:53.620,0:11:57.090
a 99% discount over AT&T's System V UNIX
0:11:57.090,0:12:00.400
which retailed for one hundred to
two hundred thousand dollars.
0:12:00.400,0:12:07.140
You can see why the average consumer might
get confused.
0:12:07.140,0:12:10.720
After an extensive analysis, it was
determined that the BSD/OS
0:12:10.720,0:12:14.960
was little more than Net/2, peppered with six files from Bill
Jolitz’s 386BSD.
0:12:14.960,0:12:17.000
The judge presiding over the case
0:12:17.000,0:12:18.430
denied the injunction
0:12:18.430,0:12:20.750
forcing USL to narrow their complaint
0:12:20.750,0:12:22.280
to recent copyrights
0:12:22.280,0:12:24.920
and a possibility of the loss of trade secrets.
0:12:24.920,0:12:29.450
The judge also recommended that the case be
heard at a state court before filing in a federal court.
0:12:29.450,0:12:31.460
So, taking this hint from the judge
0:12:31.460,0:12:33.430
they ran out to California,
0:12:33.430,0:12:38.260
refiled as quickly as possible (the University of Cal Berkeley)
0:12:38.260,0:12:40.800
to take any action-- to prevent--
0:12:40.800,0:12:44.260
it resulted that if USL wanted to take any action
against university and state courts,
0:12:44.260,0:12:45.940
it would be forced to do so in California
0:12:45.940,0:12:49.860
rather than their home state of New Jersey.
0:12:49.860,0:12:51.720
Soon after the filing in state court,
0:12:51.720,0:12:55.380
USL was bought from AT&T by Novell.
0:12:55.380,0:12:58.760
By 1994, a settlement had been reached in private.
0:12:58.760,0:13:01.100
The exact details of the settlement were unknown
0:13:01.100,0:13:03.920
until in 2004 when a California
public records law
0:13:03.920,0:13:06.570
allowed the details to be released
0:13:06.570,0:13:10.070
where they were published on the Groklaw site.
0:13:10.070,0:13:11.810
Details of the settlement included
0:13:11.810,0:13:13.870
these, and I think we've covered this in
0:13:13.870,0:13:16.640
Kirk’s talk, so we won't need to
0:13:16.640,0:13:17.580
iterate over those.
0:13:17.580,0:13:23.740
In hindsight, this confirmed our suspicions
of USL’s fate.
0:13:23.740,0:13:25.800
In June of 1994,
0:13:25.800,0:13:27.930
two BSD distributions were released
0:13:27.930,0:13:29.509
4.4BSD-Encumbered
0:13:29.509,0:13:31.650
was a version of BSD with AT&T code.
0:13:31.650,0:13:34.800
It was only available to AT&T licensees.
0:13:34.800,0:13:38.510
4.4BSD-Lite was also released which
contained no AT&T code.
0:13:38.510,0:13:46.890
It would become the new basis for a re-sync of the
FreeBSD and NetBSD source code trees.
0:13:46.890,0:13:49.430
As I mentioned, 4.4BSD-Lite
0:13:49.430,0:13:53.530
became the new baseline from which all the BSD
distributions would be based.
0:13:53.530,0:13:56.150
FreeBSD, one of the first,
0:13:56.150,0:14:03.110
and probably the most popular of the modern BSD
distributions (bite my tongue),
0:14:03.110,0:14:07.130
has a historically been focused on the Intel
x86 platform
0:14:07.130,0:14:12.370
and Linux and Windows markets.
0:14:12.370,0:14:13.570
Nevertheless,
0:14:13.570,0:14:18.020
FreeBSD has been been ported to other platforms,
including Intel x86, Itanium,
0:14:18.020,0:14:20.360
AMD64, DEC Alpha
0:14:20.360,0:14:23.130
PowerPC, and Sun UltraSPARC.
0:14:23.130,0:14:27.420
Some of the more popular features include
application jails, access controls,
0:14:27.420,0:14:30.340
excellent networking, SMP performance,
0:14:30.340,0:14:35.330
and more recently, ports of Solaris features
like ZFS and dtrace.
0:14:35.330,0:14:36.190
NetBSD,
0:14:36.190,0:14:40.200
which was also originally derived
from Jolitz’s 386BSD,
0:14:40.200,0:14:44.710
is typically known for portability to a wide range of
hardware platforms.
0:14:44.710,0:14:51.060
NetBSD has been ported to over 50 hardware platforms,
0:14:51.060,0:14:58.060
and kitchen appliances.
0:15:00.110,0:15:04.020
OpenBSD!
0:15:04.020,0:15:08.070
(No bias at all.)
0:15:08.070,0:15:10.840
OpenBSD is yet another modern BSD derivative,
0:15:10.840,0:15:13.140
originally forked from NetBSD 1.0.
0:15:13.140,0:15:14.769
It's known for being highly secure
0:15:14.769,0:15:16.910
with an emphasis on code correctness
0:15:16.910,0:15:21.160
proper documentation and truly open
and free source code.
0:15:21.160,0:15:23.600
Their mantra is ""secure by default.""
0:15:23.600,0:15:28.220
This philosophy has influenced in countless other free
and proprietary operating systems which now follow
0:15:28.220,0:15:29.950
their example.
0:15:29.950,0:15:34.220
Here are some of the more popular platforms
that OpenBSD has been ported to.
0:15:34.220,0:15:37.380
And although OpenBSD has numerous security enhancements,
0:15:37.380,0:15:41.790
we make efforts to integrate these changes into the
base system as native, transparent technologies.
0:15:41.790,0:15:46.470
The philosophy has proven much more effective
than ""bolt-on"" technology such as SELinux,
0:15:46.470,0:15:50.290
where the onus is placed on the Systems Administrator
0:15:50.290,0:15:53.590
and is quite often disabled.
0:15:53.590,0:15:55.680
I'm being generous.
0:15:55.680,0:15:57.710
You see, here are
0:15:58.940,0:16:05.940
some of the features in OpenBSD.
0:16:20.720,0:16:26.450
They have a consistent release schedule with new releases
available around the first of May and November.
0:16:26.450,0:16:31.850
DragonFly, another BSD,
started by Matt Dillon in 2003.
0:16:31.850,0:16:34.500
It's a logical continuation of FreeBSD 4.8.
0:16:34.500,0:16:38.780
He started the DragonFly BSD project
when his vision for threading in SMP conflicted
0:16:38.780,0:16:41.610
with the other developers working on FreeBSD 5.
0:16:41.610,0:16:45.540
They continued work on their SMP revamp
(which, I think, is probably complete by now),
0:16:45.540,0:16:47.369
as well as the other lightweight
0:16:47.369,0:16:49.100
kernel threads implementation.
0:16:49.100,0:16:53.550
More modern goals are focused on supporting
generic clustering support natively in the kernel,
0:16:53.550,0:16:56.700
and features like the HammerFS.
0:16:56.700,0:16:58.599
MAC OS X is an operating system
0:16:58.599,0:16:59.459
sold by Apple
0:16:59.459,0:17:06.010
which runs on both PowerPC and Intel platforms.
0:17:06.010,0:17:08.210
Alright, hecklers.
0:17:08.210,0:17:12.709
Darwin is the heart of OS X,
a full capable BSD UNIX derivative,
0:17:12.709,0:17:16.510
with enhancements brought in to make OS X
0:17:20.890,0:17:23.150
a true consumer-friendly operating system.
0:17:23.150,0:17:25.540
Unfortunately, it's still somewhat of a hybrid,
0:17:32.630,0:17:34.530
merging the Mach kernel from NeXTSTEP
0:17:34.530,0:17:41.350
along with various userland pieces
from FreeBSD.
0:17:41.350,0:17:43.740
Some other BSD distributions including
0:17:43.740,0:17:45.780
Tru64 UNIX from DEC
0:17:45.780,0:17:52.780
then Compaq, then HP.
0:17:54.710,0:17:58.490
Now we've covered some of the history behind BSD,
I like to address the real shortcomings
0:17:58.490,0:18:00.960
of modern day BSD.
0:18:00.960,0:18:3.980
So, why is BSD dying?
0:18:03.980,0:18:05.890
That's what we're here to uncover.
0:18:05.890,0:18:08.650
First and foremost,
0:18:08.650,0:18:13.570
because IDC says so.
0:18:13.570,0:18:15.290
Market share is at an all-time low,
0:18:15.290,0:18:17.830
under 1%.
0:18:17.830,0:18:18.970
And of course,
0:18:18.970,0:18:24.170
Netcraft confirms these findings.
0:18:24.170,0:18:26.309
BSD came in last place
0:18:26.309,0:18:28.240
in a SysAdmin networking test.
0:18:28.240,0:18:35.240
I don’t recall which of the BSDs were tested, but it's
probably safe to assume they all finished dead last.
0:18:37.570,0:18:41.190
Market leaders and pundits have predicted that
open-source software can't make money.
0:18:41.190,0:18:45.320
If we continue to give away free software, how
will we finance our developers?
0:18:45.320,0:18:51.290
Analysts are forecasting a slow spiral into bankruptcy.
0:18:53.690,0:19:00.690
It's a little dated, but man, you just got to love this guy.
0:19:00.700,0:19:05.470
BSD... Bad!
0:19:05.470,0:19:06.520
As a community,
0:19:06.520,0:19:10.500
BSD has had a surprising inability to
adapt.
0:19:10.500,0:19:12.140
As we can see by this graph...
0:19:19.630,0:19:24.940
As we can see by this graph, the number of
ASP pages served per hour
0:19:24.940,0:19:27.030
on Windows servers far outnumber those
0:19:27.030,0:19:29.640
on Linux and all the BSDs.
0:19:29.640,0:19:34.750
Linux actually did generate some.
We have to presume it's because of obfuscation.
0:19:34.750,0:19:40.520
Renaming their files ASP.
0:19:40.520,0:19:43.560
Of course, a significant loss of talent.
0:19:43.560,0:19:46.310
FreeBSD has lost 93% of their core
developers.
0:19:46.310,0:19:50.370
It's assumed that most of these have jumped ship
to DragonFly BSD.
0:19:50.370,0:19:54.850
Unfortunately, since none of the BSDs share code,
they usually have to start from scratch all over again
0:19:54.850,0:19:59.880
tracing the project’s roots from 4.5BSD-lite.
0:19:59.880,0:20:04.890
Fortunately, not all is lost.
0:20:04.890,0:20:11.890
There's still a handful of very small companies
still using BSD today.
0:20:17.140,0:20:23.559
I know you probably haven’t heard of most of these.
0:20:23.559,0:20:28.480
This is my employer!
0:20:28.480,0:20:31.510
Yay, OmniTI.
0:20:31.510,0:20:32.990
Hopefully, the successes seen at--
0:20:32.990,0:20:37.230
yes, the lawers actually told me
I had to put that on there--
0:20:37.230,0:20:44.230
hopefully the successes seen in these isolated industries
will bubble up into the mainstream.
0:20:45.050,0:20:47.230
Looking forward, there's a number of challenges
0:20:47.230,0:20:50.960
ahead of us to ensure the BSD survives
generations of future geeks.
0:20:50.960,0:20:53.540
The challenges aren’t simply of the technological
nature,
0:20:53.540,0:20:57.750
but includ a number of political and legal
obstacles as well.
0:20:57.750,0:21:03.240
First and foremost, virtualization is on everybody’s
radar.
0:21:03.240,0:21:04.400
Products like Xen, QEMU, VMware, and Parallels
0:21:04.400,0:21:09.650
allow us to optimize our resources running BSD.
0:21:09.650,0:21:14.690
All this means I can run over 100,000 instances of NetBSD
on a server with four gigs of memory/
0:21:14.690,0:21:18.520
It also means I have to hire 1,000
NetBSD systems administrators
0:21:18.520,0:21:20.360
to manage that one server.
0:21:20.360,0:21:23.940
Not only is this a miserable return of investment,
I don’t think there are over a thousand NetBSD users out there.
0:21:30.280,0:21:33.350
We're looking for more advanced file systems
0:21:33.350,0:21:38.970
to handle the current performance limits
associated with high capacity multi-tier byte arrays.
0:21:38.970,0:21:46.460
Ports of Solaris ZFS have already been completed
in part to FreeBSD 7 and MAC OS X
0:21:46.460,0:21:48.799
They have blobs, NDA’s,
0:21:48.799,0:21:51.100
and closed documentation all go hand in hand.
0:21:51.100,0:21:55.550
These are political challenges that threaten
to limit hardware availability to BSD developers
0:21:55.550,0:21:56.809
and end users.
0:21:56.809,0:21:59.370
Projects like Linux, and even FreeBSD
0:21:59.370,0:22:00.830
had casually signed
0:22:00.830,0:22:04.770
agreements and NDA’s to accept non-free binary
drivers into the source tree.
0:22:04.770,0:22:07.320
These arrangements work against the spirit
of free software,
0:22:07.320,0:22:10.940
and open-source software, all for the purposes
of short-term gains
0:22:10.940,0:22:13.690
like 3D eye-candy and rotating desktops.
0:22:13.690,0:22:18.510
This coming the guy who set up a
game server in the next room.
0:22:18.510,0:22:21.220
Within the last year or so, legal challenges have surfaced.
0:22:21.220,0:22:24.720
Linux developers have blatantly stolen BSD licensed code,
0:22:24.720,0:22:27.270
replacing the license notification with GPL
0:22:27.270,0:22:29.700
and any of their copyrights where no work was done.
0:22:29.700,0:22:33.419
Beyond the legal ramifications of these actions,
this demonstrate a lack of respect
0:22:33.419,0:22:38.050
and cooperation for their free
software peers.
0:22:38.050,0:22:39.649
Diversity in the BSD is a healthy trend.
0:22:39.649,0:22:41.620
It promotes new features and competition
0:22:41.620,0:22:43.220
in the intellectual market
0:22:43.220,0:22:47.169
resulting in better systems for all of us.
0:22:47.169,0:22:49.740
In the end, diversity can bring unity throughout our community.
0:22:49.740,0:22:50.519
And with unity,
0:22:50.519,0:22:53.020
a common goal.
0:22:53.020,0:22:54.290
The end.