BSD Is Dying a Cautionary Tale of Sex and Greed
Total Page:16
File Type:pdf, Size:1020Kb
BSD is Dying A cautionary tale of Sex and Greed 1 2 Prologue 2 3 What is BSD? 3 4 What is UNIX? 4 5 What is an Operating System? 5 6 What is a Computer? 6 7 What is a user? 7 8 Who am I? 8 SysAdmin 9 networks 10 firewalls 11 tweaking 12 13 14 Programmer (sorta) 15 16 17 18 19 jdixon@ 20 21 Consultant 22 DixonGroup Consulting 23 Employee 24 25 Lover 26 27 27 28 Why am I here? 28 29 To talk about why... 29 30 ... is dying. 31 31 32 33 34 What is BSD? 34 35 What is UNIX? 35 36 What is an Operating System? 36 37 What is a Computer? 37 com-pu-ter [kuh m-pyoo-ter] n. 1. A device that computes, especially a programmable electronic machine that performs high-speed mathematical or logical operations or that assembles, stores, correlates, or otherwise processes information. 2. One who computes. 38 39 40 41 42 43 44 What does a Computer do ? 44 45 46 47 48 49 pr0n 50 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 51 52 53 54 55 How... ? 55 56 00100011011010010110111001 10001101101100011101010110 01000110010100100000001111 00011100110111100101110011 00101111011010110110010101 11001001101110011001010110 11000010111001101000001111 10 56 foundation 57 kernel + 58 libraries + 59 userland applications 60 = operating system 61 61 62 62 63 What is a kernel? 63 management 64 processes 65 memory 66 peripheral devices 67 68 69 And by extension... 69 networking 70 security 71 disks and file systems 72 user interfaces 73 userland applications 74 75 76 77 pr0n 78 79 80 much, much more... 81 81 [ pause ] 82 83 In summary... 83 84 BSD is a UNIX-derived Operating System. Enables users to harness the power of a computer to process information. It uses a kernel to manage processes, memory, and peripheral devices. By extension, we can perform 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 games. [ catch breath ] 84 85 Genesis 85 In the beginning... (1960s) 86 87 88 Multiplexed Information and Computing Service 88 89 Life was Good (TM) 90 WRONG Life was Good (TM) 90 commercial failure 91 92 Ken Thompson 93 Space Travel 94 95 What is an assembly programmer to do? 95 96 Dennis Ritchie 97 98 1970 99 100 Uniplexed Information and Computing System 100 101 number of users 101 102 2 102 UNIX 103 104 text processing 105 roff 106 text editor 107 patents 108 1973 109 rewrote UNIX 110 111 portable 112 113 source code available 114 1974 115 Bob Fabry 116 117 $99 118 119 1977 120 Bill Joy 121 Berkeley Software Distribution 122 1BSD 123 Pascal compiler 124 ex 125 1978 126 2BSD 127 vi 128 csh 129 1979 130 3BSD 131 VMUNIX (Virtual VAX/UNIX) 132 133 Computer Systems Research Group 134 1980 135 4BSD 136 job control 137 delivermail 138 curses 139 1981 140 4.1BSD 141 performance on VAX 142 1983 143 4.2BSD 144 TCP/IP 145 Berkeley Fast File System 146 Marshall Kirk McKusick 147 148 1986 149 4.3BSD 150 performance improvements over 4.2BSD 151 1988 152 4.3BSD-Tahoe 153 initially designed for Power 6/32 “Tahoe” platform 154 some machine-independent code 155 1989 156 Net/1 157 separated networking code from AT&T UNIX code 158 permissive BSD license 159 1990 160 4.3BSD-Reno 161 MACH virtual memory system 162 Sun-compatible NFS 163 moving towards POSIX 164 1991 165 Net/2 166 all AT&T code and utilities were replaced or removed 167 168 basis for 386BSD and BSD/386 169 William Jolitz 170 386BSD 171 171 172 173 Exodus 173 1992 174 Unix System Laboratories 175 176 177 USL v. BSDI 177 178 injunction 179 180 1-800-ITS UNIX 181 Net/2 + 6 files 182 Dickinson R. Debevoise 183 184 complaint narrowed 185 recent copyrights 186 possiblilty of the loss of trade secrets 187 state court 188 189 countersuit 190 191 not coincidentally... 192 USL 193 193 194 Ray Noorda, CEO 195 1994 196 197 settlement 198 2004 199 200 • 4.4BSD-lite to be released containing no disputed files. University to encourage licensees to switch from Net-2. • University to cease distribution of certain files. • USL to grant three months grace period to users of disputed files. • Certain files distributed by University to carry USL copyright notice. • Certain files distributed by USL to carry University copyright notices. • USL to permit free distribution of certain files. • University not to actively assist in legal attempts to challenge USL's rights to certain files. 201 202 203 4.4BSD-Encumbered (USL license) 204 4.4BSD-Lite (BSD license) 205 206 Resurrection 206 207 208 208 Intel x86 209 Intel x86 Intel Itanium 209 Intel x86 Intel Itanium AMD64 209 Intel x86 Intel Itanium AMD64 Alpha 209 Intel x86 Intel Itanium AMD64 Alpha Sun UltraSPARC 209 jail access control lists mandatory access controls historically, strong TCP/IP and SMP performance dtrace ZFS 210 211 211 212 over 50 hardware platforms from a single source tree 212 213 acorn26 acorn32 algor alpha amd64 amiga amigappc arc arm32 atari bebox cats cesfic cobalt dreamcast evbarm evbmips evbppc evbsh3 evbsh5 ews4800mips hp300 hp700 hpcarm hpcmips hpcsh i386 ibmnws iyonix luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc pc532 playstation2 pmax pmppc prep sandpoint sbmips sgimips sh3 sh5 shark sparc sparc64 sun2 sun3 vax x68k xen 213 214 214 forked from NetBSD 1.0 215 Alpha 216 Alpha i386 216 Alpha AMD64 i386 216 Alpha AMD64 i386 MacPPC 216 Alpha AMD64 i386 MacPPC SGI 216 Alpha AMD64 i386 MacPPC SGI Sparc 216 Alpha AMD64 i386 MacPPC SGI Sparc Sparc64 216 Alpha AMD64 i386 MacPPC SGI Sparc Sparc64 VAX 216 Alpha AMD64 i386 MacPPC SGI Sparc Sparc64 VAX Zaurus 216 new release every 6 months 217 “secure by default” 218 219 full disclosure 219 full disclosure audits 219 full disclosure audits privsep & revocation 219 full disclosure audits privsep & revocation chroot jails 219 full disclosure audits privsep & revocation chroot jails random pids 219 full disclosure audits privsep & revocation chroot jails random pids ProPolice 219 PF 220 PF PF 220 PF authpf PF 220 PF authpf CARP PF 220 PF authpf CARP pfsyncd PF 220 PF authpf CARP pfsyncd sasyncd PF 220 PF authpf CARP pfsyncd sasyncd bioctl PF 220 PF authpf CARP pfsyncd sasyncd bioctl hoststated PF 220 221 221 logical continuation of FreeBSD 4.8 222 SMP revamp 223 224 225 226 others 227 228 Revelations 228 229 Why is BSD dying? 229 230 Because IDC says so. 230 market share <1% 231 232 Netcraft confirms these findings. 232 233 Last place, SysAdmin networking test LOSER 233 234 Open-source projects are giving away free software. 234 Free Software == Terrism BSD... Bad! 235 236 Inability to adapt. 236 ASP .NET pages served per hour 250.0 187.5 125.0 62.5 0 Windows Linux FreeBSD NetBSD OpenBSD Source: MCSE Weekly, Feb. 2003 237 238 Loss of talent. 238 FreeBSD has lost 93% of their core developers. 239 240 Not all is lost. 240 Fortunately, a few small companies still use BSD. 241 242 243 244 245 246 247 248 249 250 251 252 Epilogue 252 technological challenges 253 virtualization 254 DRM 255 political challenges 256 blobs 257 NDAs 258 closed documentation 259 diversity 260 unity 261 262 the end 263.