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.