1.3. FreeBSD projektist

Järgnev osa tekstist annab projekti kohta mõningast taustinformatsiooni, muuhulgas lühikese ülevaate ajaloost, projekti eesmärkidest ja arendustmudelist.

1.3.1. Lühike ülevaade FreeBSD ajaloost

Autor: Jordan Hubbard.

FreeBSD projekt sai alguse 1993.a alguses, osaliselt ``Mitteametlikust 386BSD paranduste komplektist'', osalisteks tolle viimased 3 koordinaatorit Nate Williams, Rod Grimes ja mina.

Meie algne eesmärk oli luua vahepealne tõmmis 386BSDst, et parandada hulk probleeme, mida paranduste komplektide süsteem lihtsalt ei suutnud lahendada. Mõned teist võivad veel mäletada, et projekti algsed nimed oli ``386BSD 0.5'' ja ``386BSD Interim'', mis sellele eesmärgile ka viitasid.

386BSD oli Bill Jolitzi operatsioonisüsteem, mis oli peaaegu aastaks hooletusse jäetud ja kannatas selle tulemusena tõsiselt. Kuna paranduste komplekt kasvas iga päevaga üha enam ja see valmistas järjest suuremat ebamugavust, jõudsime üksmeelse järelduseni, et midagi peab ette võtma, niisiis otsustasime Billi aidata, pakkudes välja selle vahepealse ``puhastus''tõmmise. Need plaanid said aga järsu lõpu, kui Bill Jolitz otsustas ootamatult lõpetada projekti toetamise, ilma selgelt ütlemata, mida peaks selle asemel tegema.

Me jõudsime üsna kiirelt otsusele, et isegi ilma Billi heakskiiduta on meie eesmärk vaeva väärt, niisis võtsime kasutusele nime ``FreeBSD'', mille mõtles välja David Greenman. Meie algsed eesmärgid pandi paika pärast olukorra arutamist süsteemi tolleaegsete kasutajatega. Niipea kui sai selgeks, et projektil on lootust saada tegelikkuseks, võtsin ma ühendust Walnut Creek CDROMiga, lootuses parandada FreeBSD levituskanaleid suure hulga kasutajate jaoks, kellel polnud lihtsat ligipääsu internetile. Walnut Creek CDROM mitte ainuüksi ei toetanud FreeBSD CDde levitamise ideed, vaid firma läks koguni niikaugele, et andis projektile masina, millel töötada, ja kiire internetiühenduse. Ilma Walnut Creek CDROMi peaaegu pretsedenditu usuta tollal veel täiesti tundmatusse projekti, ei oleks FreeBSD jõudnud nii kiiresti nii kaugele nagu ta täna on.

Esimene CDROM (ja üldine internetis levitatav) versioon oli FreeBSD 1.0, mis lasti välja 1993. aasta detsembris. See põhines 4.3BSD-Lite (``Net/2'') lindil U.C. Berkeleyst, koos mitmete muude komponentidega 386BSD ja Free Software Foundationi projektidest. Esimest versiooni saatis esimese väljaande kohta üsna hea edu ja tema järglaseks sai äärmiselt edukas FreeBSD 1.1 väljaanne 1994. aasta märtsis.

Umbes sellel ajal moodustusid silmapiirile üsna ootamatud tormipilved, kui Novell ja U.C. Berkeley lahendasid oma pikaajalise kohtuprotsessi Berkeley Net/2 lindi seaduslikkuse üle. Selle protsessi üheks tingimuseks oli U.C. Berkely mööndus, et suur osa Net/2 koodist on ``piiratud'' kood ja kuulub Novellile, kes on selle omakorda omandanud AT&T käest. Vastutasuks andis Novell 4.4BSD-Lite'ile ``õnnistuse'' ja lubaduse, et kui 4.4BSD-Lite välja tuleb, saab ta olema ilma litsentsipiiranguteta ja kõigil Net/2 kasutajatel soovitatakse tungivalt sellele üle minna. See käis ka FreeBSD kohta ja projektile anti aega 1994.a juuli lõpuni, et lõpetada Net/2-põhise toote levitamine. Lepingu põhjal lubati projektil enne toda tähtaega üllitada veel üks väljaanne ja selleks sai FreeBSD 1.1.5.1.

Seejärel võttis FreeBSD projekt ette raske, sõna otseses mõttes iseenda uuestileiutamise töö täiesti toorest ja üsna mittetäielikust 4.4BSD-Lite koodist. ``Lite''-väljaanded olid kesisemad osaliselt sellepärast, et Berkeley CSRG oli eemaldanud suure osa koodist, mis on vajalik reaalse laadiva süsteemi loomiseks (põhjuseks mitmesugused õiguslikud nõuded) ja teisalt oli põhjuseks see, et 4.4 port Inteli arhitektuurile oli üsna mittetäielik. Selle ülemineku teostamiseks läks projektil aega kuni 1994. aasta novembrini, mil anti välja FreeBSD 2.0 nii internetist alla laadimiseks kui ka CDROM-ina (detsembri lõpus). Hoolimata sellest, et see väljaanne oli enamgi kui veidi toores, kujunes ta siiski üsna edukaks ja 1995. aasta juunis järgnes sellele robustsem ja lihtsamini paigaldatav FreeBSD 2.0.5.

Augustis 1996 lasime välja FreeBSD versiooni 2.1.5 ja see oli ISPde ja kommertsringkondade hulgas piisavalt populaarne, et lasta välja veel üks väljaanne harust 2.1-STABLE. Selleks sai FreeBSD 2.1.7.1, mis lasti välja 1997. aasta veebruaris ja see väljaanne märkis ka haru 2.1-STABLE arenduse lõppu. Nüüd on see haru hooldusrezhiimis ja sellele tehakse ainult elutähtsaid vigade ja turvaparandusi (RELENG_2_1_0).

FreeBSD haru 2.2 eraldati 1996. aasta novembris peamisest arendusharust (``-CURRENT'') ja nimetati RELENG_2_2. Esimene täielik väljaanne (2.2.1) tuli 1997. aasta aprillis. Järgnevad väljaanded harust 2.2 tulid välja 97. aasta suvel ja sügisel ning viimane (2.2.8) nägi ilmavalgust 1997.a novembris. Esimene ametlik väljaanne 3.0 ilmus 1998.a oktoobris ja kuulutas oma ilmumisega ka haru 2.2 lõppu.

Uuesti lahknes kood 20. jaanuaril 1999 ning see viis harudeni 4.0-CURRENT ja 3.X-STABLE. Harust 3.X-STABLE lasti versioon 3.1 välja 15. veebruaril 1999, 3.2 - 15. mail 1999, 3.3 - 16. septembril 1999, 3.4 - 20. detsembril 1999 ja 3.5 - 24. juunil 2000, millele järgnes mõned päevad hiljem 3.5.1, mis lisas sisuliselt mõned viimasel hetkel tulnud Kerberose turvaparandused. Sellest sai ka haru 3.X viimane väljaanne.

Järgmine hargnemine toimus 2000. aasta 13. märtsil ning siit sai alguse 4.X-STABLE haru. Siiani on selles harus olnud mitu väljaannet: 4.0-RELEASE tuli välja märtsis 2000 ning viimane 4.11-RELEASE ilmus Jan 2005.

Kauaoodatud 5.0-RELEASE kuulutati välja 19 Jaanuaril 2003. Pea 3 aasta töö tulemusena pani see väljaanne aluse FreeBSD paremale mitmeprotsessori ja rakenduste lõimede toele ja lisaks tõi juurde UltraSPARC® ja ia64 platvormidele. Sellele järgnes 2003. aasta juunis versioon 5.1. Viimane -CURRENT haru 5.X väljalase oli 5.2.1-RELEASE, mis nägi ilmavalgust 2004. aasta veebruaris.

2004. aasta augustis loodi haru nimega RELENG_5, ning sellele järgnes ka 5.3-RELEASE ilmumine; viimane märgib 5-STABLE haru väljalasete algust. Uusim 5.3-RELEASE saabus November 2004. RELENG_5 harust tuleb väljalaskeid ka edaspidi.

Hetkel on pikaajalised arendusprojektid teoksil harus 6.X-CURRENT (tüviosas) ja väljavõtted harust 6.X on pidevalt saadaval CDROMil (muidugi ka internetis) väljavõtete serveris.

1.3.2. FreeBSD projekti eesmärgid

Autor: Jordan Hubbard.

FreeBSD projekti eesmärgiks on pakkuda tarkvara, mida saab kasutada ükskõik millisel eesmärgil ilma mingite lisatingimusteta. Paljud meist on sellesse koodi (ja projekti) investeerinud suure hulga tööd ja kahtlemata ei ütleks me ära väikesest rahalisest tasust, kuid mingil juhul ei nõua me seda. Usume, et meie peamine ``ülesanne'' on pakkuda koodi kõigile soovijatele, kasutamiseks ükskõik millisel eesmärgil, et see leiaks kõige laiemat võimalikku rakendust ning tooks ka suurimat võimalikku kasu. Viimast pean Free Software`i üheks põhiliseks eesmärgiks ja seda me ka entusiastlikult toetame.

Meie lähtekoodi puus olev kood, mis on GNU GPL või LGPL litsentsi all, on kaitstud veidi karmima litsentsiga, kuigi surutakse peale just vaba ligipääsu tavapärase vastupidise variandi asemel. Kuna GPL litsentsi all oleva tarkvara kasutamine võib kommertskasutuses kaasa tuua raskusi, siis soovitame koodi meile annetada vabama BSD litsentsi all, kui see vähegi võimalik on.

1.3.3. FreeBSD arendusmudel

Autor: Satoshi Asami.

FreeBSD arendamine on väga avatud ja paindlik protsess. FreeBSDd ehitatakse sõna otseses mõttes sadade, üle terve maailma paiknevate inimeste annetustest, nagu võib näha meie toetajate nimekirjast. FreeBSD arendusinfrastruktuur võimaldab kõigil neil sadadel arendajatel omavahel interneti teel suhelda. Me otsime koguaeg uusi arendajaid ja ideid ning need, kes on huvitatud enda sidumisest projektiga, peaksid lihtsalt meile sellest teada andma meililisti FreeBSD technical discussions mailing list. Teiste FreeBSD kasutajate teavitamiseks suurtest tööaladest tuleks kasutada meililisti FreeBSD teadete meililist.

Sõltumata sellest, kas töötad iseseisvalt või koostöös, on kasulik FreeBSD projektist teada järgnevaid asju:

CVS hoidla

Keskset FreeBSD lähtekoodi puud hoitakse CVS-is, mis on vabalt saadaolev lähtekoodi kontrollimise vahend ja on ka FreeBSDga kaasas. Peamine hoidla paikneb USAs Kalifornias Santa Claras asuvas masinas, kust seda peegeldatakse paljudesse peegelmasinatesse üle terve maailma. Nii CVSi puu kui ka -CURRENT ja -STABLE puud, mis on selle alamhulgad, saab lihtsa vaevaga ka oma masinasse paljundada. Lähemalt võid sellest lugeda oma lähtekoodi puu sünkroniseerimise sektsioonist.

Committerite nimekiri

Committerid on inimesed, kellel on kirjutamise õigus CVSi puus ja kes on seega volitatud tegema muudatusi FreeBSD lähtekoodi (termin ``committer'' tuleneb cvs(1) käsust commit, mida kasutatakse CVSi hoidlasse muudatuste tegemiseks). Parim meetod oma koodiannetust committeritele ülevaatamiseks saata on käsu kasutamine. Kui miski tundub süsteemis valesti olevat, võid committeritega ühendust saada, saates meili aadressile FreeBSD committer'ite meili list.

FreeBSD tuumikrühm

FreeBSD tuumikrühm (core team) oleks samaväärne juhatusele, kui FreeBSD projekt oleks firma. Rühma liikmete peamiseks ülesandeks on tagada, et FreeBSD projekt tervikuna on heas seisus ja areneb õiges suunas. Nende ülesandeks on näiteks pühendunud ja vastutustundlike arendajate kutsumine committerite hulka ja ka näiteks uute tuumikrühma liikmete juurde võtmine, kui mõned vanadest otsustavad edasi liikuda. Praegune tuumikrühm valiti committerite hulgast 2004. aasta juulis. Valimised toimuvad iga 2 aasta tagant.

Osal tuumikrühma liikmetest on ka mingi spetsiifiline vastutusala, mis tähendab, et nad on pühendunud selle, et tagada mingi suure süsteemi osa töö sellisena nagu lubatud. Täielikku nimekirja FreeBSD arendajatest koos nende vastutusalaga võite näha toetajate nimekirjas.

Note: Enamik tuumikrühma liikmeid on FreeBSD arenduses vabatahtlikult ja ei saa sellest projektist mitte mingisugust rahalist tulu, niisiis ei tohiks ``pühendumust'' väärkäsitleda ``garanteeritud toena''. Eelpooltoodud võrdlus ``juhatusega'' ei ole tegelikult väga täpne ja võib-olla oleks õigem öelda, et tegu on inimestega, kes otsustasid loobuda oma elust, et tegelda FreeBSDga!

Välised toetajad

Viimasena, kuid kindlasti mitte kõige vähemolulisena tuleb mainida, et suure arendajate hulga moodustavad kasutajad ise, saates meile tagasisidet ja vigade parandusi peaaegu konstantselt. Peamine võimalus olla kursis FreeBSD rohkem hajutatud arendusega on tellida endale FreeBSD technical discussions mailing list list (loe meililoendite infot), kus sääraseid asju arutatakse.

> FreeBSD toetajate nimekiri on pikk ja üha kasvav, nii et miks mitte ka ise sellega liituda ja aidata nii FreeBSD projekti?

Koodi saatmine pole kaugeltki mitte ainus projektile kaasa aitamise viis; põhjaliku nimekirja asjadest, mida on vaja teha, leiad FreeBSD veebisaidilt.

Kokkuvõttes on meie arendusmudel organiseeritud vabalt paiknevate kontsentriliste ringidena. Tsentraliseeritud arendusmudel on disanitud kasutajate mugavust silmas pidades, kelle kasutuses on tsentraalne koodibaas, ning mitte selleks, et potentsiaalseid arendajaid eemale hoida! Meie sooviks on pakkuda stabiilset operatsioonisüsteemi suure hulga koherentsete programmidega, mida kasutajad saavad lihtsalt paigaldada ja tarvitada ning antud mudel sobib selle saavutamiseks hästi.

Ootame inimestelt, kes soovivad FreeBSD arendajatega liituda, vaid samasugust pühendumust, nagu on praegustel arendajatel!

1.3.4. Praegune FreeBSD väljaanne

FreeBSD on vabalt saadaolev, täieliku lähtekoodiga 4.4BSD-Lite põhine süsteem Intel i386, i486, Pentium®, Pentium Pro, Celeron®, Pentium II, Pentium III, Pentium IV (ja ühilduvate), Xeon™, DEC Alpha™ and SUNi UltraSPARC põhiste arvutisüsteemide jaoks. Peamiselt põhineb see U.C Berkeley CSRG grupi poolt loodud tarkvaral, millele on lisatud mitmed täiendused NetBSD, OpenBSD, 386BSD ja Free Software Foundationi poolt.

Alates FreeBSD 2.0 väljaandmisest 94. aasta lõpus on FreeBSD jõudlus, funktsionaalsus ja stabiilsus märkimisväärselt paranenud. Suurim muudatus on uus virtuaalmälu süsteem, milles on VM/faili puhver-vahemälu, mis mitte ainuüksi ei paranda jõudlust, vaid vähendab ka mälu nõudlust, tehes omakorda 5MB mäluga süsteemi paremini aktsepteeritavaks miinimumiks. Teised täiendused on näiteks täielik NIS kliendi ja serveri tugi, transaction TCP tugi, nõdmisel helistamine PPPga, integreeritud DHCP tugi, edasi arendatud SCSI alamsüsteem, ISDN tugi, tugi ATM-ile, FDDI-le, Fast and Gigabit Ethernet (1000 Mbit) adapteritele, parandatud tugi uusimatele Adaptec kontrolleritele ning sadu vigade parandusi.

Lisaks baasdistributsioonidele pakub FreeBSD ka porditud tarkvara kollektsiooni, kust võib leida tuhandeid tihedamini vajaminevaid programme. Selle dokumendi kirjutamise hetkel oli kollektsioonis üle 12,300 portsu. Portsude nimekiri ulatub http (WWW) serveritest mängude, keelte, redaktorite ja peaaegu kõigeni, mis sinna vahepeale mahub. Kogu portsude kollektsioon vajab umbes 400 MB ruumi, kus kõik portsud on oma lähtekoodi ``deltad''. See muudab meile portsude uuendamise lihtsamaks ja vähendab tunduvalt kõvakettal võetavat ruumi, võrreldes näiteks vanema 1.0 portsude kollektsiooniga. Portsu kompileerimiseks mine lihtsalt selle programmi kataloogi, mida sa soovid paigaldada, ja sisesta käsk make install ja lase süsteemil muu eest ise hoolt kanda. Täielik algtarnepakett laetakse igale ehitatavale portsule dünaamiliselt CDROMilt või kohalikust FTP saidist, niisiis vajad sa oma soovitud portsu ehitamiseks ainult küllaldaselt ruumi kõvakettal. Rohkem infot portsude ja pakkide kohta annab peatükk Chapter 4. Peaaegu iga ports on saadaval ka eelkompileeritud ``pakina'', mida saab paigaldada lihtsa käsuga (pkg_add) - see on mõeldud neile, kes ei soovi omale ise portsusid lähtekoodist kompileerida.

Hulk lisadokumente, mis võivad olla väga kasulikud FreeBSD paigaldamisel ja kasutamisel, on olemas ka iga uuemat sorti FreeBSD süsteemi kataloogis /usr/share/doc. Võid kohalikus masinas olevaid juhendeid vaadata suvalise HTMLi toetava brauseriga järgnevatelt aadressidelt:

Võid vaadata ka peamist (ja kõige tihedamini värskendatavat) koopiat aadressil http://www.FreeBSD.org/.