4. BSD ve Linux nasýl karþýlaþtýrmasý

Linux (mesela Debian Linux) ile BSD arasýndaki asýl farklýlýk nedir? Normal kullanýcýlar için fark aslýnda çok küçüktür yani ikiside UNIX® benzeri iþletim sistemidir. Her ikiside ticari olmayan amaçlar için geliþtirildi (Tabiki bu diðer bazý ticari Linux daðýtýmlarýndaki gibi deðildir). Bu bölümde BSD'nin yapýsýna bakýp Linux ile karþýlaþtýracaðýz. Genel olarak söylediklerimiz FreeBSD'ye yakýn olacak çünkü yaygýn olarak kullanýlan BSD versiyonu FreeBSD 'dir.

4.1. BSD'nin sahibi kimdir?

Hiç kimse veya hiçbir kuruluþ BSD'nin sahibi deðildir. BSD bütün dünya üzerinde teknik olarak üst düzeyde ve uzman bir çok insan tarafýndan geliþtirildi. ve BSD'nin bazý bileþenleri farklý açýk kaynak kodu geliþtiricileri tarafýndan saðlandý.

4.2. BSD nasýl geliþtirildi ve güncellendi?

BSD çekirdeði Açýk kaynak geliþtirim modeli ile geliþtirilmiþtir. Her proje eriþimi herkese açýk olan kaynak kodu aðacý altýnda Concurrent Versions System (CVS) ile daðýtýldý. Bu sistemde BSD ile alakalý doküman ve diðer dosyalar da bulunmaktadýr. CVS ile herhangi bir kiþi “check out” (yani gerekli dosyalarýn bir kopyasýný sistemine indirerek) yaparak sistemin herhangi bir bolümüne sahip olabilmektedir.

Dünya üzerinde odukça fazla sayýda programcý BSD'nin geliþimine katkýda bulunur. Bu programcý ve geliþtiriciler temelde üç kýsma ayrýlýr:

Ýþte bütün bu düzenlemeler Linux'ten birçok noktada farklýlýk gösterir:

  1. Hiç kimse sistem içeriðini kontrol edemez. Pratikte bu farklýlýk göze çok önemli gelebilir. Asýl mimar (Chief Architect) kodun asýl koddan çýkartýlmasý isteðinde bulunabilir ve hatta Linux projelerinde birçok kiþi deðiþiklikler yapabilir.

  2. Diðer taraftan merkezi bir depo vardýr. Bu depo eski tüm versiyonlarda dahil olmak üzere bir noktada toplanmýþ olarak iþletim sistemine ait tüm kodlarý barýndýrýr.

  3. BSD projeleri yalnýzca kernel(çekirdek) olarak deðil “bütün iþletim sistemi” olarak kabul edilir. Bu özellik yalnýzca marjinal olarak faydalýdýr. Ne BSD nede Linux programlar olmadan yararlý deðildir. Ve bu programlar Linux altýnda BSD altýnda kullanýldýðý gibi kullanýlýr.

  4. CVS kod aðacýnýn (source tree) biçimlendirilmiþ olmasýnýn bir neticesi olarak BSD geliþim evreleri gayet açýktýr ve herhangi bir versiyona ait bilgi versiyon numarasý yada piyasaya sürülme tarihi ile bulunabilir. Hatta CVS güncellemelere izin bile verir. Örneðin FreeBSD deposu ortalama günde 100 kez güncellenir ancak bu güncellemeler çoðu kez çok küçüktür.

4.3. BSD Sürümleri

Her BSD projesi üç tane farklý sürüm içerir. Linuxteki gibi bu sürümler 1.4.1 ya da da 3.5.0 olarak belirlenir. Ek olarak versiyon numaralarý kendi amacýný belirten bir son eke sahiptir:

  1. Geliþtirilmiþ olan versiyon CURRENT (Geçerli En Son) olarak adlandýrýlýr. FreeBSD'de CURRENT'a bir numara atanýr. Örneðin FreeBSD 5.0-CURRENT. NetBSD açýk bir biçimde farklý isimlendirme þemasý kullanýr. Kullanýlan bu þema tek harften oluþan bir son ektir ki bu son ek dahili arayüzdeki deðiþikliði ifade eder. Örneðin NetBSD 1.4.3G gibi. OpenBSD her hangi bir numara atamasý yapmaz (OpenBSD-current). Bütün yeni sürümler sistemde bu þekilde kullanýlýr.

  2. Belirli aralýlarla yýlda iki ila dört defa projeler CD-ROM ile edinme yada ftp sitelerinden ücretsiz olarak download etmek için piyasaya sürülür(RELEASE). Örneðin OpenBSD 2.6 RELEASE. Yada NetBSD 1.4-RELEASE. Piyasaya sürülen Sürüm (RELEASE) versiyonu son kullanýcý için gerekli olan sürümdür ve sistemin normal versiyonudur. Ayrýca NetBSD ayrýca yama sürümleri (patch releases) Örneðin NetBSD 1.4.2 gibi. Bu sürümler üç basamaklýdýr.

  3. RELEASE versiyonlarda her hangi bir hata (bug) bulunðunda hatalar düzeltilir ve CVS kaynak kodu aðacýna (source tree) dahil edilir. FreeBSD 'de son elde edilen sürüm STABLE (saðlam versiyon) olarak adlandýrýlýr ancak OpenBSD ve NetBSD RELEASE versiyon ismini kullanmaya devam eder. CURRENT versiyonun test edilmesi sýrasýnda yeni ama küçük özellikler sisteme dahil edilebilir.

Bütün bunlarýn aksine Linux'te iki ayrý kod aðacý (code tree) vardýr: Stable (Saðlam) versiyon ve Development (Geliþmekte olan) versiyon. Stable versiyon çift sayýlardan oluþan minor versiyon numaralarýna sahiptir. 2.0, 2.2, 2.4 gibi. Development versiyon ise tek sayýlardan oluþan minor versiyon numaralarýna sahiptir. 2.1, 2.3, 2.5 gibi. Bazý durumlarda deðiþik Linux daðýtým firmalarý kendi geliþtirdikleri ürünleri “TurboLinux 6.0 with kernel 2.2.14” þeklinde piyasaya sürebilir.

4.4. BSD'nin in hangi versiyonlarý bulunabilir?

Birçok Linux sürümünün aksine açýk kaynak kodu olan yanlýzca üç tane BSD sürümü vardýr.her BSD projesi kendi kod aðacý (source tree) ve çekirdeðine sahiptir. Ve pratikte kullanýcýlarýn projelere kendi ekledikleri kodlarla Linuxteki kodlar arasýnda daha az farklýlýk vardýr.

Her projenin amacýný gruplamak gerçekten zordur: Farklýlýklar kiþilere özeldir. Genel olarak:

Bunlardan baþka açýk kod olamayan iki deðiþik ki deðiþik iki BSD UNIX iþletim sistemi mevcuttur. Bunlar BSD/OS ve Apple'ýn geliþtirdiði Mac OS® X:

4.5. BSD kullaným lisansýnýn GNU kullaným lisansýndan farký nedir?

Linux kapalý kod (closed source) yazýlýmýný saf dýþý býrakmak için tasarlanmýþ GNU General Public License (GPL) lisansý ile daðýtýlýr. GPL lisanslý bir ürün kullanarak geliþtirilen bir yazýlýmda mutlaka GPL lisansý ile daðýtýlmalýdýr. Fakat BSD lisansý daha az kýsýtlayýcýdýr ve binary daðýtýma izin verir. Bu özellikle gömülü uygulamalar için çekici bir lisans türüdür.

4.6. Daha baþka ne bilmeliyim?

BSDler için Linuxlere oranla daha az programýn üretildiði zamanlarda BSD geliþtiricileri Linux programlarýný BSD altýnda çalýþtýrmayý saðlayan Linux uyumluluk paketini ortaya çýkardýlar. Bu Paket, Linux sistem çaðrýlarýný düzgün yapabilmek için her iki çekirdek deðiþikliklerini ve C Library (C kütüphanesi) gibi Linux uyumluluk dosyalarýný içerir. Linux programlarýný Linux makinesi ile BSD makinesi altýnda çalýþtýrmak arasýnda hýz bakýmýndan her hangi bir kayda deðer fark yoktur.

BSD 'nin “All from one supplier (Herþey tek elden)” mantýðý Linuxlerde ayný sýklýkla yapýlan güncelleme iþlemlerinin daha kolay olduðu anlamýna gelir. BSD kütüphane versiyon güncellemelerini eski versiyon kütüphaneleri ile uyumlu olarak yapar ve bu eski Binary kodlarý çalýþtýrmayý mümkün kýlar.

4.7. BSD'mi Linux'mü kullanmalýyým?

Bunlarýn hepsinin pratikteki anlamý nedir? Kim BSD kim Linux kullanmalý?

Bu hakikatten cevaplanmasý zor bir sorudur. Bir kaç öneri þuþekilde sýralanabilir:

4.8. BSD için kim yardým servis ve eðitim saðlýyor?

BSDi her zaman BSD/OS'u desteklemektedir ve yakýn zaman önce FreeBSD ile bir anlaþma imzalamýþlardýr.

Ek olarak her projenin kendi yardým yada kiralama departmaný vardýr: FreeBSD, NetBSD, and OpenBSD.