OpenBSD

Ajalugu ja levik

Detsembris 1994. aastal paluti NetBSD kaasasutajal Theo de Raadtil vanemarendaja kohalt tagasi astuda ja NetBSD meeskonna tuumikust lahkuda ning tema juurdepääsuõigus lähtekoodi hoidlale (repository) tühistati. 
Selle põhjused ei ole päris selged, kuid on väidetud, et see oli tingitud isikutevahelistest kokkupõrgetest NetBSD projektis ja selle postiloendites. De Raadti on kritiseeritud oma mõnikord keerulise iseloomu pärast: Peter Wayner väidab oma raamatus Free for All, et enne lahkumist NetBSDst "hakkas de Raadt mõnele inimestele vastukarva olema". Linus Torvalds on teda kirjeldanud kui "rasket" isiksust. Üks intervjueerija tunnistas, et oli tema suhtes enne kohtumist ebakindel. On ka vastupidiseid arvamusi: sama intervjueerija kirjeldab de Raadti transformatsiooni pärast OpenBSD asutamist ja tema "soovi oma meeskonna eest hoolitseda". Mõned peavad tema otsekohesust värskendavaks ja vähesed eitavad tema programmeerimisannet või "turva-guruks" olemist. 
De Raadt asutas OpenBSD projekti 1995. aasta oktoobris NetBSD 1.0 hargmikuna (fork). Esimene väljalase oli OpenBSD 1.2 ja see ilmus 1996. aasta juulis. Sama aasta oktoobris ilmus OpenBSD 2.0. Sellest alates on OpenBSD järginud 6-kuulist uuendamistsüklit. Iga versiooni toetatakse üks aasta. Viimane OpenBSD stabiilne versioon 4.6 ilmus 18. oktoobril 2009. aastal.
OpenBSD arendaja Bob Beck teatas 25. juulil 2007. aastal OpenBSD Sihtasutuse (OpenBSD Foundation) moodustamisest. Tegemist on Kanada mittetulundusühinguga, mille eesmärk on toimida OpenBSD juriidilise esindajana ning kontaktina inimestele ja organisatsioonidele, kes OpenBSD projekti toetada tahavad. 
OpenBSD levikut on raske on hinnata, sest arendajad ei kogu ega avalda infot kasutajate arvu kohta ning muid allikaid on vähe. Septembris 2005 viis BSD Certification Group läbi küsitluse, mille tulemusel 32,8% BSD kasutajatest (1420 4330-st vastanust) kasutas OpenBSD. See asetas OpenBSD kasutatavuselt teisele kohale, FreeBSD järgi (77%) ja NetBSD (16,3%) ette. Veebileht DistroWatch avaldab statistikat külastatavuse kohta ja seda kasutatakse tihti GNU/Linuxi ja muude seal kajastatavate operatsioonisüsteemid populaaruse hindamiseks. Seisuga 3. märts 2010 oli OpenBSD 49. kohal 148 külastusega päevas, FreeBSD 14. kohal 566 külastusega päevas ja NetBSD 79. kohal 105 külastusega päevas.

Avatud tarkvara ja avatud dokumentatsioon

Kui OpenBSD loodi, otsustas Theo de Raadt teha sellega seotud allikad püsivalt kõigile kättesaadavaks. Selle saavutamiseks avas ta Chuck Cranori abiga avaliku anonüümse CVS-serveri. See oli esimene omataoline tarkvaraarenduse maailmas: sel ajal oli tavaks, et ainult väike arendajate meeskond omas juurdepääsu projekti andmetele. Sellisel lähenemisel oli negatiivne külg: arendajad, kes polnud projektiga otseselt seotud, ei saanud selle kulgemist päris täpselt jälgida ja seetõttu võis nende poolt tehtud kaastöö dubleerida juba tehtut. De Raadti otsus nii vastupidi toimida viis OpenBSD nime kasutamise ja nii projekti lähtekood kui dokumentatsioon peavad olema alati avalikud. 
Seda poliitikat iseloomustav intsident toimus märtsis 2005, kui de Raadt postitas teate openbsd-misc postiloendisse. Ta teatas, et pärast nelja kuud läbirääkimisi polnud Adaptec avaldanud dokumentatsiooni, mis oli vajalik, et parandada OpenBSD draivereid firma AAC RAID kontrollerite jaoks. Sarnaselt varasemate juhtumitega minevikus kutsus de Raadt OpenBSD kogukonda asjas osalema ja oma arvamust Adaptecile avaldama. Varsti pärast seda tegi endine Adapteci töötaja, FreeBSD arendaja ja FreeBSD AAC RAID-i toe autor Scot Lang de Raadtile peapesu OSNews'i veebilehel, et viimane polnud otse temaga selles küsimuses ühendust võtnud. Sealt liikus arutelu edasi freebsd-questions postiloendisse, kus de Raadt väitis, et Scott Lang polnud talle varem abi pakkunud ja ka Adaptec polnud tema poole pöörduda soovitanud. Vaidlust võimendas ka kahe projekti toetajate erinev suhtumine binaarsete kahendobjektide ja NDA lepingutesse. OpenBSD kasutajad ei luba suletud lähtekoodiga tarkvara ja NDA lepingutesse suhtuvad vastumeelselt. FreeBSD suhtumine oli aga teistsugune ja enamus Scott Langi OpenBSD-le pakutud koodist oli suletud ja kirjutatud NDA all. Kuna mingit dokumentatsiooni ei avaldatud enne OpenBSD 3.7 ilmumise tähtaega, eemaldati Adaptec AAC RAID kontrollerite tugi tavalisest OpenBSD tuumast (kernelist).
OpenBSD avatuse poliitika laieneb riistvara dokumentatsiooniile. Oma 2006. aasta detsembris toimunud ettekandes väitis de Raadt, et ilma dokumentatsioonita "teevad arendajad sageli vigu draiverite kirjutamisel" ja osutas, et "Oo, ma sain selle tööle tunnet on raskem saavutada, nii et paljud arendajad lihtsalt annavad alla". Ta ütles ka, et tarnijate draiverid on OpenBSD jaoks vastuvõetamatud – neid ei saavat usaldada ja "ei ole võimalik neid parandada, kui need katki lähevad". Tarnijate allikad on "vaevu vastuvõetavad" ja endiselt keerulised parandada, kui vead tekkima peaks.

Litsents

OpenBSD projekti eesmärk on "hoida Berkeley UNIXi autoriõiguste vaimu", mis lubas "suhteliselt piiramatult UNIXi allikaid levitada". Praeguseni on ISC (Internet Systems Consortium, Inc) litsents eelistatud uue koodi jaoks, kuigi MIT või BSD litsentsid on samuti lubatud. ISC litsents on lihtsustatud versioon BSD litsentsist, kust liigne sõnastus vastavalt Berni konventsioonile on eemaldatud. Levinud GNU Üldist Avalikku Litsentsi peetakse eelnevatega võrreldes liialt piiratuks. Sobimatu litsentsiga koodi süsteemi põhiosasse enam ei lubata. Olemasolevat koodi kirjutatakse ümber või litsentseeritakse võimalusel sobivalt. Kui see pole praktiline või põhjustab liigset ajakulu, siis tehakse ka erandeid, näiteks on SSH-l põhineva OpenSSH arendamine OpenBSD meeskonna poolt. OpenSSH ilmus esmakordselt koos OpenBSD 2.6-ga ja on nüüd kõige populaarsem SSH rakendus, mida kasutatakse mitmetes operatsioonisüsteemides. Märkimist väärivad arengud pärast litsentsi piirangute kehtestamist IPFilterile pf tulemüüris, mis ilmus koos OpenBSD 3.0-ga ja on nüüd saadaval ka DragonFly BSDs, NetBSDs ja FreeBSDs. OpenBSD arendajad on hiljuti asendanud sellised GPL litsentsi alla käivad tööriistad nagu diff, grep, gzip ja pkg-config BSD litsentsi kasutavate ekvivalentidega ja on asutanud selliseid projekte nagu OpenBGPD, OpenNTPD, OpenOSPFD ja OpenSMTPD. Septembris 2007 alustati GNU Compiler Collectioni (GCC) asendamist Anders Magnussoni Portable C Compileriga (PCC), mis kasutab BSD litsentsi.
IPFilteri litsentsi sõnastuse muutmine Darren Reedi poolt algatas 2001. aasta juunis OpenBSD portide ja allikate puu koodi litsentsi auditi. Rohkem kui sajas failis leiduv kood leiti olevat litsentseerimata, segaselt litsentseeritud või oli selle kasutamine vastuolus kasutatava litsentsi tingimustega. Kõigi litsentside järgimise tagamiseks võeti ühendust kõigi autoriõiguste omanikega. Osa koodist eemaldati, palju asendati ja osa litsentseeriti ümber. Näiteks mitmikedastus marsruutimise tööriistad mrinfo ja map-mbone, mis olid Xeroxi poolt litsentseeritud ainult uurimistöös kasutamiseks, litsentseeriti ümber, et OpenBSD saaks jätkata nende kasutamist. 
Auditi käigus eemaldati tarkvara, mille oli kirjutanud Daniel J. Bernstein. Bernstein nõudis, et kõik muudatused, mis tema loodud koodis tehakse, tuleb talle kinnitamiseks saata, kuid OpenBSD arendajad leidsid, et selleks kulub liigselt aega ja vaeva. See viis konfliktini Bernsteiniga, kelle arvates oli tema koodi eemaldamine ebaõiglane. Ta viitas Netscape veebilehitsejale, mis oli oluliselt piiratuma litsentsiga kui tema tarkvara. Bernstein süüdistas OpenBSD arendajaid silmakirjalikkuses, kuna nood jätsid Netscape'i koodi alles samal ajal, kui tema oma eemaldati. OpenBSD projekti seisukoht oli, et kuigi Netscape litsents oli piiratum, oli seda siiski lihtsam järgida. Nad väitsid, et Bernsteini nõue oma koodi derivaate kontrollida põhjustas palju lisatööd ja selle eemaldamine oli parim viis tema enda nõudmistele vastu tulla.