Berkeley Software Distribution

Berkeley Software Distribution je označenie rodiny operačných systémov vychádzajúcich z modifikácií systému Unix na univerzite v Berkeley.
Pôvodne bolo pre použitie BSD potrebné vlastniť aj licenciu pre Unix od AT&amp;T. V súčasnosti je väčšina BSD systémov voľne dostupný slobodný softvér.
Počas vyše tridsaťročnej histórie bol BSD kód použitý v mnohých veľmi rozšírených projektoch, vrátane implementácie sieťových soketov v systéme Windows, či veľkej časti jadra XNU a unixových programov v Mac OS X.
História.
Začiatky.
V roku 1977 Bill Joy, absolvent Kalifornskej Univerzity v Berkeley vydal prvé vydanie BSD pre počítače PDP-11 a v priebehu ďalšieho roka rozposlal bezplatne tridsať kópií. Na rozdiel od ďalších vydaní ešte nešlo o kompletný operačný systém, ale o rozšírenia šiesteho vydania systému Unix, prekladač jazyka Pascal a editor ex.
S príchodom terminálov podporujúcich adresáciu kurzora rozšíril ex o možnosť celoobrazovkovej editácie textu, čím vznikol editor vi. Aby sa vyrovnal s nekompatibilným ovládaním rôznych terminálov zhrnul rutiny na obsluhu obrazovky do knižnice termcap. Tieto vlastnosti sa, spolu s C shellom, stali súčasťou následného vydania označeného 2BSD, ktoré už bolo založené na siedmom vydaní Unixu.
Začiatkom roku 1978 univerzita v Berkeley zakúpila počítač rady VAX s 32-bitovým adresným priestorom. S cieľom plno využiť tento počítač sa rozhodla rozšíriť pôvodný 32-bitový port Unixu, označovaný 32/V, o podporu virtuálnej pamäti a iných inovatívnych vlastností. Bill Joy do nového systému integroval svoje vylepšenia, a v decembri 1979 vydal 3BSD.
Podpora od DARPA.
V apríli nasledujúceho roku si DARPA, inštitúcia amerického ministerstva obrany, vybrala BSD Unix ako operačný systém pre počítače v sieti Arpanet, ktorá prepájala všetky významné výskumné strediská v Spojených Štátoch. Výsledkom jej finančnej podpory bola reorganizácia kódu, pridanie správy úloh, zefektívnenie súborového systému, podpora nových vlastností série VAX, knižnica curses na pokročilé ovládanie terminálu, či spoľahlivé signály. Vyšiel 4BSD, nasledovaný 4.1BSD, ktorý obsahoval výrazné optimalizácie výkonu.
Výborné výsledky presvedčili DARPA, aby pokračovala v podpore projektu. Nové vydanie, 4.2BSD, obsahovalo nový súborový systém FFS, od Marshalla Kirka McKusicka a prostriedky pre medziprocesovú komunikáciu (tzv. sokety), ktoré využívali novú implementáciu sieťových protokolov TCP/IP. Práve kvalita sieťového protokolu umožnila v sieti ARPANET používať TCP/IP, vďaka čomu vznikol Internet. Vo svojej dobe išlo o najvyspelejší Unixový operačný systém, v používanosti predbehol aj komerčné varianty. Mnohé z nich následnedne preberali časti BSD kódu. Bill Joy založil spoločnosť Sun Microsystems, ktorá predávala vlastný derivát BSD Unixu, SunOS. Vedenia vývoja BSD sa ujal McKusick. Následne vydané 4.3BSD obsahovalo predovšetkým optimalizácie výkonu. Mnohými je považované za najprínosnejší softvér vôbec .
Vydanie 2.11BSD v roku 1992 vychádzalo z 4.3BSD a bolo posledným pre zastaranú architektúru PDP-11, a je dodnes používané mnohými nadšencami vlastniacimi tieto počítače. Architektúra VAX začala tiež dávať pociťovať svoj vek, a tak sa Bill Joy rozhodol, že zjednoduší podporu nových architektúr a oddelil kód závislý od architektúry od nezávislého. Následne bola pridaná podpora počítača Power 6/32 vydaním 4.3BSD-Tahoe.
Spor s USL a uvoľnenie systému.
Napriek tomu, že najinovatívnejšie časti systému pochádzali z univerzity v Berkeley, stále bola na prevádzku systému potrebná licencia od AT&amp;T, s čím bola časť používateľov nespokojná. Univerzita v Berkeley zareagovala uvoľnením vydania Networking, Release 1, označovného aj Net/1. Jeho meno zdôrazňuje, že najdôležitejšou časťou kódu bola implementácia sieťových protokolov.
4.3BSD-Reno bolo ďalšie vydanie kompletného systému, s novým systémom správy pamäte a sieťovým súborovým systémom NFS. Vyšlo začiatkom roku 1990.
Vydanie Net/1 sa stretlo s pozitívnou odozvou, a tak univerzita rozhodla, že vyhovie návrhu Keitha Bostica a vydá kompletný operačný systém pozostávajúci len zo slobodného softvéru. Množstvo dobrovoľníkov sa pustilo do prepisovania kódu a nahrádzania kódu vlastneného AT&amp;T. V polovici 1991 bolo vydané Net/2, ktoré obsahovalo už len 6 súborov z 32/V Unixu.
V priebehu nasledujúceho pol roka Bill Jolitz dopísal zvyšné súbory. Univerzita vždy distribuovala iba zdrojové súbory na páskach, ale Bill Jolitz zverejnil výsledky svojej práce vrátane skompilovaného a spustiteľného operačného systému pod názvom 386BSD verzia 0.0 na Internete. Spoločnosť Berkeley Software Design, Incorporated (BSDI) tiež dopísala zvyšných 6 súborov a začala predávať svoju verziu operačného systému.
V tej dobe vlastnila práva na systém Unix dcérska spoločnosť AT&amp;T, Unix System Laboratories (USL). Zástupcovia USL podali žalobu na univerzitu a BSDI, obviňujúc ich z porušenia ich autorských práv a obchodného tajomstva, ktorého sa mali dopustiť zahrnutím kódu vlastneného USL v Net/2. Univerzita odpovedala žalobou na USL, argumentujúc že USL používa jej kód bez poznámky o autorských právach. Po kúpe USL spoločnosťou Novell sa obe strany dohodli na mimosúdnom vyrovnaní. USL priznalo univerzite práva na približne 70 súborov, univerzita zo svojej distribúcie odstránila 3 súbory z celkového počtu 18000.
Medzitým Bill Jolitz vydal verziu 0.1 svojho 386BSD a nemal čas sa naďalej zaoberať vývojom. Vývojári 386BSD sa po dlhom čase márneho čakania na zahrnutie ich záplat a vydanie verzie 0.2 rozhodli, že budú v práci pokračovať bez Billa. Z ich práce vznikol operačný systém NetBSD, ktorého prvého verzia bola označená 0.8. Z podobného dôvodu iná skupina vývojárov o nejaký čas neskôr dala vzniknúť projektu FreeBSD. Kým projekt NetBSD starostlivo zorganizoval dostupný zdrojový kód a usiloval sa o jeho čo najväčšiu čistotu, FreeBSD si kládol za ciel vytvoriť jednoduchý Unixový operačný systém pre masy. Keďže oba pochádzali z 386BSD, a teda ja Net/2 kódu, boli zasiahnuté právnym sporom s USL.
Následné vydanie z Berkeley, 4.4BSD malo dve varianty, 4.4BSD-Lite a 4.4BSD-Encumbered. Lite verzia pokračovala v tradícií Networking vydaní a nebola zaťažená licenciou USL, tentoraz však išlo o kompletný operačný systém. Encumbered verzia používala USL kód a vyžadovala platenú licenciu. Medzi najviditeľnejšie vylepšenia patrí podpora Vnode/VFS rozhranie, ktoré umožňuje používanie viacerých súborových systémov. Zároveň bola pridaná podpora súborového systému štandardu ISO 9660 používaného na optických médiách a žurnálovacieho súborového systému LFS. Projekty NetBSD a FreeBSD nahradili sporné časti kódu z Net/2 vydaním 4.4BSD-Lite. Peniaze získané predajom Encumbered verzie boli použité na podporu vydania verzie 4.4BSD-Lite, Release 2 v roku 1995, kedy univerzita v Berkeley prestala venovať vývoju BSD.
Prínos BSD.
Za najvýznamnejšie je možné pokladať prostriedky na medziprocesovú komunikáciu, sokety. Po vytvorení soketu je rozhranie pre komunikáciu rovnaké ako pri práci so súborom. Sokety je možné použiť na komunikáciu viacerých programov na tom istom počítači použitím špeciálneho súboru v súborovom systéme, alebo po sieti použitím ľubovoľného podporovaného protokolu. V súčasnosti je možné používať všetky rozšírené sieťové protokoly v internetových sieťach použivajúcich protokoly TCP/IP, ale aj v sieťach Xerox, AppleTalk, či X/25. Počítače so systémom BSD tvorili základ siete Internet.
BSD bol platformou pre vývoj mnoho implementácií rozšírených internetových programov. Za najvýznamnejšie v súčasnosti je možné považovať poštový server Sendmail a menný server BIND.
Súborový systém FFS patril dlhú dobu po svojom vydaní medzi technologickú špičku. Nahradil zastaraný Unixový súborový systém, zefektívnil čítanie a zápis rozložením metadát po disku a tým spolu so zálohovaním superblokov prispel aj k efektívnejšej obnoviteľnosti.
Benevolentná licenčná politika BSD nemalou mierou prispela k vytvoreniu Open source hnutia a rozšírenia slobodného softvéru. Pôvodná licenčná politika umožňovala neobmedzené použitie softvéru, pokiaľ bude autor, Kalifornská Univerzita v Berkeley, uvedená ako autor v zdrojovom kóde, propagačných materiáloch a dokumentácií. V súčasnosti je jedinou podmienkou ponechanie zmienky o autorských právach v zdrojových súboroch. 386BSD a jeho nasledovníci používajú časti softvéru z projektu GNU.