A FreeBSD Képviseleti Projekt
Miközben a BSD projektek (DragonflyBSD, FreeBSD, NetBSD és az OpenBSD) nagyra nőttek, számos mítosz kezdett terjedni róluk. Ezek közül néhányat jó szándékú, ám megfontolatlan személyek indítottak el, másokat pedig önhitt emberek.
Ennek az oldalnak az a célja, hogy a lehető legnagyobb tárgyilagosság mellett eloszlassa ezeket a tévhiteket.
Megjegyzés: Ezen az oldalon a*BSDkifejezés mind a négy BSD projektre vonatkozik. Ahol az adott mende-monda csak az egyik különálló projektre vonatkozik, ott azt külön említjük.
Ha úgy érezzük, hogy az oldal valamely témában hiányos ismereteket közöl, akkor értesítsük az oldal fenntartóját, Tom Rhodes-ot a következő e-mail címen: <trhodes@FreeBSD.org>
Tartalom
- A *BSD rendszerek zárt
fejlesztési modellel rendelkeznek, sokkal inkább
katedrálisok
mintsembazárok
- A *BSD rendszerekről nem készíthető saját disztribúció, vagy nem származtatható egyéb munka
- A *BSD rendszerek remek kiszolgálók, de rossz asztali rendszerek
- A *BSD rendszerek forráskódja régi, elavult és haldoklik
- A *BSD projektek egymással háborúznak, hetente válnak ki újabb felhasználói csoportok
- A *BSD rendszereket nem fürtözni (párhuzamos számításokra)
- Nincs kereskedelmi támogatás a *BSD rendszerekhez
- Nincsenek alkalmazások a *BSD rendszerekhez
- A *BSD rendszerek jobbak, mint más rendszerek
- Más rendszerek jobbak, mint a *BSD a rendszerek
Mítoszok
A *BSD rendszerek zárt
fejlesztési modellel rendelkeznek, sokkal inkább
katedrálisok
mintsem bazárok
Eric Raymond nagy hatású írása A katedrális és a bazár
címmel a Linux fejlesztési modellt (és azt a
modellt, amelyet Eric a fetchmail
kifejlesztéséhez használt) említi mint
a nyílt
fejlesztési modell
példáját. Ezzel szemben a *BSD
fejlesztési modelljét gyakran jellemzik
zártként.
A hallgatólagos bírálat szerint a
bazár
(nyílt) jó, és a
katedrális
(zárt) rossz.
Ha valami, akkor a *BSD rendszerek által alkalmazott
fejlesztési modell még inkább
hasonlít a bazárhoz
, mint a Linux vagy a
fetchmail esetében, amelyeket Eric
említ.
Ehhez elég csupán a következőket figyelembe vennünk:
-
Minden *BSD projekt esetén: A forráskód aktuális változata a FreeBSD, NetBSD, és az OpenBSD esetében is a nap 24 órájában bárki számára elérhető az Interneten keresztül. Nem szükséges arra várni, hogy egy új kiadás jelenjen meg.
FreeBSD, NetBSD: Egy telepíthető
pillanatverzió
24 óránként válik elérhetővé. Ezek a pillanatképek teljesen ugyanúgy telepíthetők mint a közönséges kiadások, és a telepítéshez nem szükséges egy meglévő rendszer.OpenBSD: OpenBSD pillanatképei naponta készülnek, és ha Theo elég jónak találja ezeket, felkerülnek a tükörszerverekre.
Ezzel ellentétben a Linux kernelnek csak alkalmilag válik elérhetővé új verziója, és a különböző disztribúciók kiadási gyakorisága a disztribúció fejlesztőitől függ.
Itt nem kíséri harsonaszó egy új kernel megjelenését, mivel a legtöbb *BSD felhasználó számára ez egy teljesen megszokott esemény.
-
A *BSD projektek mind CVS-t használnak a forráskód karbantartásához.
Minden *BSD projekt esetén: a CVS Repository a nap 24 órájában böngészhető, és a repositoryból az egész rendszer letölthető. A forrás elérhető anonim CVS, CVSup, CVSupit, CTM (e-mail-en keresztül) vagy egyszerű FTP segítségével.
-
Bárki küldhet javításokat, hibajelentéseket, dokumentációt, és egyéb módokon is hozzájárulhat a munkához. Ezt a *BSD rendszerek részét képező send-pr program vagy a webes felület segítségével lehet megtenni.
A dokumentáció hemzseg az erre utaló hivatkozásoktól.
-
Nem mindenki hajthat végre változtatásokat a *BSD rendszerek forráskódjában, ehhez először committerré kell válnia. Általában olyan emberek kapnak
commit jogot
, akik már a send-pr segítségével vagy más hasonló módon beküldtek már pár alapos változtatást a projektnek.Ez a rendszer hasonló a Linux módszeréhez. Egyetlen ember, Linus jogosult megváltoztatni a kernelt, de a különböző területek (mint például a hálózati kód) fejlesztését más emberek tartják karban.
Mellesleg Nik (nik@FreeBSD.org) jó példa erre. Miután számos fejlesztést hajtott végre a FreeBSD Dokumentációs Projekten és a weboldalon, felajánlották neki a
commit jogot
, hogy ne kelljen más committereket zargatnia, hogy hajtsák végre az általa készített fejlesztéseket. Soha nem kérte ezt a jogot, ingyen kapta.
A *BSD rendszerekről nem készíthető saját disztribúció, vagy nem származtatható egyéb munka
Készíthető, csak a dokumentációban és a forrásfájlokban fel kell tüntetni, hogy a forráskód honnan származik. Rengeteg származtatott projekt létezik:
-
A DragonflyBSD a FreeBSD 4.X egy leágazásaként indult, de azóta már van saját felhasználói közössége és vannak fejlesztési céljai.
-
A TrustedBSD a FreeBSD-hez nyújt a megbízható (trusted) operációs rendszerekre jellemző funkciókat képviselő különböző kiterjesztéseket, és ezzel az IT biztonsági minősítést, a Common Criteria-t (CC) célozza meg. Ez a projekt folyamatos fejlesztés alatt áll, a kód nagy része visszakerül a FreeBSD alaprendszerébe, de a fejlesztés külön történik.
-
A Hybrid Cluster egy FreeBSD és ZFS alapokon nyugvó webes klaszter, amely szabványos LAMP alapú honlapok és alkalmazások számára szolgáltat redundáns adatbiztonságot és automatikus terheléskiegyenlítést.
-
A Frenzy egy másik live-CD disztribúció, de elsősorban adminisztrációs feladatokhoz. Egyaránt tartalmaz hardvertesztelő, állományrendszer-ellenőrző, biztonsági ellenőrző, hálózatkonfiguráló és -analizáló szoftvereket.
-
A PicoBSD egy testreszabott FreeBSD disztribúció, amely elfér akár egy floppy lemezen is. Remek eszköz merevlemez nélküli 386-os PC-k útválasztóvá vagy nyomtatószerverré alakításához. A FreeBSD forrásfájának része, lásd a /usr/src/release/picobsd könyvtárat.
-
A NanoBSD egy másik olyan projekt, amely a FreeBSD minimális helyigényű verziójának előállításával foglalkozik. Ez a változat elfér egy Compact Flash kártyán vagy egyéb kisebb méretű adathordozón. Ez a projekt is a FreeBSD forrásfájának része, lásd a /usr/src/tools/tools/nanobsd könyvtárat.
-
A TinyBSD olyan shell szripteket foglal össze, amelyek a FreeBSD 5.X és 6.X verzióin alapuló beágyazott rendszerek fejlesztéséhez használhatóak.
-
A ThinBSD egy kisméretű rendszerindító lemez, amellyel egy egyszerű PC-t használhatunk Microsoft Windows RDP kliensként, vagy X terminálként. Az egész konfiguráció DHCP protokollon végezhető.
-
A PC-BSD egy asztali felhasználásra előkészített FreeBSD leszármazott. A fejlesztés célja, hogy könnyen telepíthető legyen és egy segítőkész közösség alakuljon ki körülötte.
-
A DesktopBSD egy másik asztali felhasználásra szánt FreeBSD alapú operációs rendszer.
-
A Gentoo/FreeBSD a Gentoo Projekt kezdeményezése arra, hogy a Gentoo adminisztrációs adottságait portolják a megbízható FreeBSD rendszermagjára és szoftverkörnyezetére. A projekt befejezetlen, jelenleg kísérleti stádiumban van.
-
A m0n0wall egy FreeBSD alapú tűzfalrendszer. Rengeteg olyan funkcióval rendelkezik, amelyet a drága tűzfalak is nyújtanak, mint például a webes interfész, gyári beállítások visszaállítása, állapottartó csomagszűrés, NAT/PAT átirányítás, DHCP kliens és szerver, gyorstárazó névszerver és még sok minden más.
-
A pfSense egy m0n0wall alapú tűzfalrendszer, de a fejlesztés céljai és a támogatott funkciók különbözőek, mint például az OpenBSD Packet Filter (PF) és a FreeBSD 6.1 támogatása, vagy a kitűnő hálózati ütemezéshez az ALTQ támogatása, valamint a funkcionalitás bővíthetőségét egy integrált csomagkezelő rendszer segítségével valósítja meg.
-
A Whistle Interjet egy
hálózati készülék
, amely útválasztó, webszerver, e-mail szerver és egyéb funkciókat lát el, továbbá webböngészővel konfigurálható. A készülék alapja a FreeBSD operációs rendszer, és a Whistle a fejlesztéseinek nagy részét visszaküldte a FreeBSD Projektnek (miközben eleget megtartott ahhoz, hogy az üzleti versenyben maradhasson).
A DragonflyBSD esetéhez hasonlóan, az OpenBSD sem volt önálló projekt, a NetBSD projekt alapjaitól indult el és azóta kialakult a saját szemléletmódja.
A *BSD rendszerek remek kiszolgálók, de rossz asztali rendszerek
A *BSD rendszerek remek kiszolgálók, de egyben remek asztali rendszerek is. Sok elvárás a kiszolgálók felé (rövid válaszidő nagy terhelés alatt is, stabilitás, az erőforrások hatékony kihasználása) ugyanúgy elvárás az asztali rendszerek esetén is.
A *BSD rendszerek ugyanazokkal az asztali szoftverekkel (KDE, GNOME, Firefox, ablakkezelők) működnek, mint a Linux, és az irodai szoftverek, mint például az OpenOffice csomag is remekül működnek alattuk.
A *BSD rendszerek forráskódja régi, elavult és haldoklik
Noha a BSD rendszerek forráskódjának egyes részei akár több mint 20 évesek is lehetnek, egyáltalán nem jelenti azt, hogy elavult lenne vagy éppen haldokolna. Rengeteg profi felhasználó szereti azt a stabilitást, amelyet ez a többéves tesztelés hozott magával.
Technológiai fejlesztések továbbra is bekerülnek a *BSD rendszerekbe, mint például:
-
SMP: Symmetric Multi-Processing, vagyis a több processzorral rendelkező rendszerek használata.
-
SoftUpdates: A BSD állományrendszert legalább olyan gyorssá teszi mint a Linux által használt állományrendszerek, az aszinkron írási műveletek engedélyezése — és így az ezzel járó kockázat — nélkül.
-
VM rendszer: A VM (Virtuális Memória) alrendszer folyamatosan fejlődik. A VM/cache kialakítása segít a wcarchive.cdrom.com szolgáltatásához hasonló kiszolgálóknak a több ezer (konkrétan több mint 10 000) egyidejű FTP kapcsolat kiesésektől mentes kezelésében.
-
Különböző architektúrák: A FreeBSD jelenleg hét fő architektúrát támogat: Alpha, AMD64, i386, Itanium, PC-98, PowerPC és UltraSPARC. Jelenleg is folynak fejlesztések további architektúrák támogatására. Bővebb információért lásd a Támogatott platformok oldalt.
-
MAC alrendszer: A FreeBSD támogatja a Mandatory Access Controlt, vagyis egy olyan funkciót, amely általában csak drága megbízható (trusted) operációs rendszerekben található meg. A FreeBSD ellenben kiemelkedő biztonságot nyújt ingyen! A témával kapcsolatban a TrustedBSD Projekt kínál további kiegészítéseket.
-
GEOM alrendszer: A GEOM egy moduláris lemezkezelő rendszer, amelynek segítségével összefűzhetünk, tükrözhetünk, csíkozhatunk vagy titkosíthatunk lemezeket. Funkcionalitásban gazdag, és biztonságban tartja az adatainkat.
A *BSD projektek egymással háborúznak, hetente válnak ki újabb felhasználói csoportok
Ez nem így van. Noha időnként heves viták zajlanak a *BSD rendszerek képviselői között, a projektek továbbra is együtt dolgoznak. A FreeBSD Alpha portja kezdetben nagyrészt a NetBSD csapat munkáján alapult. A NetBSD és az OpenBSD is a FreeBSD Portgyűjteményét vette alapul a saját portrendszerének kialakításakor. A FreeBSD és a NetBSD is vesznek át olyan biztonsági javításokat, amelyeket az OpenBSD-ben fedeznek fel először.
A FreeBSD és a NetBSD projektek több mint tíz éve váltak szét, azóta csak az OpenBSD és a DragonflyBSD számítanak újabb BSD projektnek.
A *BSD projektek más területen is együttműködnek. Például a DaemonNews havonta frissülő internetes magazin is a négy projekt tagjainak közös munkája.
A *BSD rendszereket nem fürtözni (párhuzamos számításokra)
A következő (angol nyelvű) linkek pontosan ezt cáfolják:
- http://www.epm.ornl.gov/pvm/ The Parallel Virtual Machine: egy olyan szoftvercsomag, amellyel egyszerűen össze tudunk állítani egy fürtöt. Ez a forráskód szabadon elérhető, és nagyobb problémák nélkül elfut FreeBSD-n.
- http://www.scl.ameslab.gov/Projects/old/ClusterCookbook/
- http://people.freebsd.org/~brooks/papers/bsdcon2003/fbsdcluster/ Brooks Davis leírása egy olyan FreeBSD fürt implementációjáról, amely több, mint 300 processzort tartalmaz.
- http://www.onlamp.com/pub/a/bsd/2004/07/01/freesbie.html Webkiszolgáló fürt létrehozása FreeSBIE-vel (egy FreeBSD alapú live-CD rendszerrel).
- http://www.openbsd.org/faq/pf/carp.html Az OpenBSD Közös cím redudancia protokollja (Common Address Redundancy Protocol, CARP), amellyel redundáns fürtöket hozhatunk létre a tűzfal szintjén.
- http://www.countersiege.com/doc/pfsync-carp Egy jó áttekintés a CARP-ról.
- http://pf4freebsd.love2party.net/carp.html Az OpenBSD CARP implementációjának FreeBSD portja.
Ezeken kívül még a freebsd-cluster levelezési lista is rendelkezésre áll a FreeBSD fürtözésével kapcsolatos kérdések megvitatására.
Nincs kereskedelmi támogatás a *BSD rendszerekhez
FreeBSD: A FreeBSD kereskedelmi oldala felsorolja azokat a cégeket, amelyek kereskedelmi támogatást nyújtanak a FreeBSD-hez.
A FreeBSD Mall szintén kínál kereskedelmi támogatást, illetve ezenkívül árusít pólókat, sapkákat, könyveket, szoftvereket és promóciós tárgyakat.
Tanfolyamok után a BSDMall.com oldalon érdeklődhetünk, de egyéb termékeket is árulnak, mint például pólókat, sapkákat, könyveket és szoftvereket! Egy pillantást megér.
OpenBSD: Az OpenBSD kereskedelmi oldala tartalmazza a cégeket, amelyek kereskedelmi támogatást kínálnak az OpenBSD-hez.
Nincsenek alkalmazások a *BSD rendszerekhez
A nyílt forrású közösség túlnyomórészt BSD rendszereken (SunOS és hasonlók) kezdett el dolgozni. A *BSD rendszerek felhasználói általában módosítás nélkül le tudják fordítani ezeket az alkalmazásokat.
Továbbá minden *BSD projekt tartalmaz egy
ún. portrendszert
, amellyel a portolt
alkalmazások lefordítását igyekszik
megkönnyíteni.
FreeBSD: Jelenleg több, mint 16 000 alkalmazás tölthető le és telepíthető a FreeBSD Portgyűjteményén keresztül. Az i386 és AMD64 platformokon a Linux emulációs réteg képes futtatni a Linux alkalmazások nagy többségét. Az AMD64 és Itanium architektúrákon ezenkívül egy kompatibilitási réteg segítségével futtathatók a 32 bites FreeBSD alkalmazások.
NetBSD: A Linux emulációs réteg futtatja az i386 architektúrára készült Linux alkalmazások nagy többségét, a SunOS4 alkalmazások többsége pedig SPARCStation munkaállomásokon futtatható.
OpenBSD: Jelenleg több, mint 3 700 alkalmazás tölthető le és telepíthető az OpenBSD saját portgyűjteményének segítségével. A Linux emulációs réteg itt is képes futtatni az i386-os Linux alkalmazások nagy többségét, a SunOS4 alkalmazások többsége pedig SPARCStation munkaállomásokon futtatható.
A NetBSD és az OpenBSD is képes némi módosítással használni a FreeBSD Portgyűjteményében található alkalmazásokat, ezt tükrözi a portolt alkalmazásaik kisebb száma is.
Igaz, a legtöbb cég a Linuxot választja először, ha UNIX®-ra akarja portolni a szoftvereit. Szerencsére a *BSD rendszerek Linux emulációs rétege képes futtatni ezeket az alkalmazásokat (Acrobat, StarOffice, Mathematica, WordPerfect, Quake, az Intel ICC fordítója, a Compaq Alpha fordítója stb.) viszonylag gond nélkül, ha nem is problémamentesen.
Történeti példaként megemlítjük, hogy a Netscape Navigator első verziója, amely Java támogatással futott a FreeBSD alatt, a linuxos verzió volt. A rendszer azonban most már futtathatja a Mozilla natív FreeBSD verzióját is, natív Java pluginnal. Mindez a Portgyűjtemény segítségével könnyen és kényelmesen telepíthető.
A *BSD rendszerek jobbak, mint más rendszerek
Ez csak a felhasználó ízlésétől függ.
Más rendszerek jobbak, mint a *BSD rendszerek
Ez csak a felhasználó ízlésétől függ.
Hozzájárulók
A FreeBSD, NetBSD, és OpenBSD projekt tagai, akik hozzájárultak ehhez az oldalhoz:
Nik Clayton <nik@FreeBSD.org> |
Jordan Hubbard <jkh@FreeBSD.org> |
Ian F. Darwin <ian@DarwinSys.com> |
Adrian Filipi-Martin <adrian@ubergeeks.com> |
Tom Rhodes <trhodes@FreeBSD.org> |