Ettevõte/arendaja | The OpenBSD Project |
---|---|
OS-i tootepere | BSD UNIXi-laadne operatsioonisüsteem |
Lähtekoodi tüüp | Avatud |
Stabiilne väljalase |
7.5 / 5.04.2024 ![]() |
Paketihaldur | OpenBSD paki tööriistad ja portide puu |
Toetatud platvormid | 68000, Alpha, AMD64, i386, MIPS, PowerPC, SPARC 32/64, VAX, Zaurus ja teised |
Tuuma tüüp | Monoliitne |
OpenBSD on UNIXi-laadne operatsioonisüsteem, mis kuulub BSD perekonda ning on keskendunud turvalisusele ja pühendab palju tähelepanu krüpteerimisele. Samuti on OpenBSD porditud paljudele platvormidele, mis küll tuleneb NetBSD-ga ühisest päritolust. OpenBSD peamine vedaja on Theo de Raadt, kes elab Calgarys Alberta provintsis Kanadas.
OpenBSD hargnes NetBSD projektist 1995. aastal Theo de Raadti juhtimisel. OpenBSD on tuntud kui väga järjekindlalt avatud lähtekoodi ja kvaliteetset dokumentatsiooni nõudev projekt, mis ei tee tarkvara litsentside osas kompromisse ning keskendub turvalisusele ja koodi korrektsusele. Projekti maskotiks on ogakala nimega Puffy.
OpenBSD sisaldab turvafunktsioone, mis teistes süsteemides puuduvad või on valikulised. OpenBSD arendajatel on tavaks viia läbi lähtekoodi auditeid vigade ja turvaaukude leidmiseks. Tarkvaralitsentsidest on BSD litsents eelistatuim ja minevikus on litsentside kasutamise osas auditeid läbi viidud. Selle tulemusel on eemaldatud või ümber kirjutatud koodi osasid, mis kasutasid vähemaktsepteeritavaid litsentse.
Sarnaselt teiste BSD-põhiste operatsioonisüsteemidega arendatakse OpenBSD tuuma ja kasutajaprogramme, näiteks kest (shell), ja selliseid levinud tööriistu nagu cat ja ps, koos ühes allikate hoidlas. Kolmandate osapoolte tarkvara on saadaval binaarpakkidena või saab neid kompileerida kasutades portide puud.
OpenBSD projekt on porditud 17 tarkvaraplatvormile, näiteks DEC Alpha, Intel i386, Hewlett-Packard PA-RISC, AMD AMD64 ja Motorola 68000 protsessorid, Apple PowerPC arvutid, Sun SPARC ning SPARC64 põhised arvutid VAX ja Sharp Zaurus.[1]
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.[2] 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".[3] Linus Torvalds on teda kirjeldanud kui "rasket" isiksust.[4] Üks intervjueerija tunnistas, et oli tema suhtes enne kohtumist ebakindel.[5] 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[6] või "turva-guruks" olemist.[7]
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.[8] 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.[9]
OpenBSD arendaja Bob Beck teatas 25. juulil 2007 OpenBSD Sihtasutuse (OpenBSD Foundation)[10] moodustamisest. Tegemist on Kanada mittetulundusühinguga, mille eesmärk on toimida OpenBSD juriidilise esindajana ning kontaktina inimestele ja organisatsioonidele, kes OpenBSD projekti toetada tahavad.[11]
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 vastanust) kasutas OpenBSD.[12] See asetas OpenBSD kasutatavuselt teisele kohale, FreeBSD järgi (77%) ja NetBSD (16,3%) ette.[13] Veebileht DistroWatch avaldab statistikat külastatavuse kohta ja seda kasutatakse tihti GNU/Linuxi ja muude seal kajastatavate operatsioonisüsteemid populaarsuse 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.[14]
Kui OpenBSD loodi, otsustas Theo de Raadt teha sellega seotud allikad püsivalt kõigile kättesaadavaks. Selle saavutamiseks avas ta Chuck Cranori[15] 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[16] 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[17] de Raadtile peapesu[18] 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[19], et Scott Lang polnud talle varem abi pakkunud ja ka Adaptec polnud tema poole pöörduda soovitanud. Vaidlust võimendas[20] 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".[21] 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.
OpenBSD projekti eesmärk on "hoida Berkeley UNIXi autoriõiguste vaimu", mis lubas "suhteliselt piiramatult UNIXi allikaid levitada".[22] 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.[23] 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[24] 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.[25]
IPFilteri litsentsi sõnastuse muutmine Darren Reedi poolt algatas 2001. aasta juunis OpenBSD portide ja allikate puu koodi litsentsi auditi.[26] 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,[27] 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.[28] 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.[29] OpenBSD projekti seisukoht oli, et kuigi Netscape litsents oli piiratum, oli seda siiski lihtsam järgida.[30] 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.
![]() |
Pildid, videod ja helifailid Commonsis: OpenBSD |