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 dider bazı ticari Linux dadıtımlarındaki gibi dedildir). Bu bölümde BSD'nin yapısına bakıp Linux ile karşılaştıracadı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 dedildir. 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 sadlandı.

4.2. BSD nasıl geliştirildi ve güncellendi?

BSD çekirdedi Açık kaynak geliştirim modeli ile geliştirilmiştir. Her proje erişimi herkese açık olan kaynak kodu adacı altında Concurrent Versions System (CVS) ile dadıtıldı. Bu sistemde BSD ile alakalı doküman ve dider 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:

  • Contributors(Katkıta Bulunanlar) doküman ya da kod yazarlar. Bu grubun direk olarak kod adacına herhangi bir kod eklenmelerine izin verilmez. Bu kişilerin yazdıdı kodlar committer tarafından incelenip ana sistemde dahil edilirler.

  • Committers kaynak adacına kod ekleme yetkisinde sahip geliştiriciler. Committer olabilmek için çalıştıdı alan üzerinde çok yüksek bilgi seviyesine sahip olması gerekir.

    Bazı commiterler bütün kaynak koduna ulaşma yetkisine sahiptirler diderleri ise gerçek koddan ayrı tutulurlar. Dökümantasyonla ilgilenenler normal olarak kernel koduna ulaşma yetkisine sahip dedillerdir. Principal Architect olarak adlandırılan çekirdek takımındaki bazı şahısların ise back out adı verilen kaynak kodu adacındaki kodları silme hakkı vardır. Bütün committer 'lar yapılan her bir commit (işlem) için e-posta alırlar ve böylece gizlice bir kodun kaynak kodu adacına girmesi engellenmiş olur.

  • Core team (Çekirdek Takımı). FreeBSD ve NetBSD kesinlikle bir çekirdek takıma sahiptir. Çekirdek takım projenin gelişimi ve oluşturulması sırasında programlarını yaparlar ve rolleri tam olarak belli dedildir. Çekirdek takımı üyesi olmak için program geliştirici (developer) olma zorunluludu yoktur ve buda son derece normaldir. Çekirdek takım için kurallar bir projeden diderine farklılık gösterebilir ve genel olarak çekirdek takımın projenin gelişme ve gidişat noktasındaki görüş ve fikirleri kesinlikle Çekirdek Takım üyesi olmayan kişilerin görüş ve fikirlerinden daha üstün tutulur.

İşte bütün bu düzenlemeler Linux'ten birçok noktada farklılık gösterir:

  1. Hiç kimse sistem içeridini kontrol edemez. Pratikte bu farklılık göze çok önemli gelebilir. Asıl mimar (Chief Architect) kodun asıl koddan çıkartılması istedinde bulunabilir ve hatta Linux projelerinde birçok kişi dedişiklikler yapabilir.

  2. Dider 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 dedil 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ı dedildir. Ve bu programlar Linux altında BSD altında kullanıldıdı gibi kullanılır.

  4. CVS kod adacı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. Örnedin FreeBSD deposu ortalama günde 100 kez güncellenir ancak bu güncellemeler çodu 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. Örnedin 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 dedişiklidi ifade eder. Örnedin 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). Örnedin 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) Örnedin NetBSD 1.4.2 gibi. Bu sürümler üç basamaklıdır.

  3. RELEASE versiyonlarda her hangi bir hata (bug) bulundunda hatalar düzeltilir ve CVS kaynak kodu adacına (source tree) dahil edilir. FreeBSD 'de son elde edilen sürüm STABLE (sadlam 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 adacı (code tree) vardır: Stable (Sadlam) 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 dedişik Linux dadı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 adacı (source tree) ve çekirdedine 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:

  • FreeBSD yüksek performans ve son kullanıcılar için kullanım kolaylıdı amacını güder. Ve ISP firmaları için favori işletim sistemdir. PCler ve Compaq'ın Alpha işlemcileri üzerinde çalışır. FreeBSD açık bir farkla dider projelere oranla daha fazla kişi tarafından kullanılır.

  • NetBSD azami seviyede taşınabilirlilik hedefler. NetBSD üzerinde elbette çalışır! ile de bu belirtilmiş olur. Ek olarak sade dizayna sahip olmak önemlidir. NetBSD palmtoplardan büyük serverlara kadar her yarde çalışır ve NASA'nın uzay çalışmalarında da kullanılmıştır.Özel olarakda Intel-olmayan donanımlar için iyi seçimdir.

  • OpenBSD kod temizlidini ve güvenlidini hedef alır. Açık kaynak kod geliştirim modeli ve sıkı kod incelemesini içerir ve banka ABD hükümet bakanlıkları, hisse senedi kurumları gibi güvenlik temelli işletmeler için bir işletim sistemi olmayı hedefler. NetBSD gibi birçok platformda çalışabilir.

Bunlardan başka açık kod olamayan iki dedişik ki dedişik iki BSD UNIX® işletim sistemi mevcuttur. Bunlar BSD/OS ve Apple'ın geliştirdidi Mac OS® X:

  • BSD/OS 4.4 BSD türetilmiş en eski sürümdür. Açık kaynak kodlu dedildir ve bu sebeble kod çok küçük bir maliyetle satın alınabilir. Bir çok açıdan FreeBSD'ye benzer ve bir çok geliştirici iki sistemlede çalışır.

  • Mac OS® X Apple Computer Inc.'in Macintosh® serisinin en son üyesidir. Bu işletim sisteminin çekirdedi BSD tabanlıdır ve Darwin, olarak adlandırılır. Dider versiyonların aksine işletim aksine çekirdek açık kaynak kodludur. Bu gelişimin bir neticesi olarakda Apple geliştiricileri FreeBSD committer 'ıdır. Bu çekirdedin üzerinde Aqua/Quartz grafik arabirimi ve Mac OS® 'un dider ürünleri vardır. Fakat bu X arabiriminin kodu kapalıdır. Bu işletim sistemi x86 and PPC mimarilerinde çalışır.

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 dadıtılır. GPL lisanslı bir ürün kullanarak geliştirilen bir yazılımda mutlaka GPL lisansı ile dadıtılmalıdır. Fakat BSD lisansı daha az kısıtlayıcıdır ve binary dadı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 üretildidi zamanlarda BSD geliştiricileri Linux programlarını BSD altında çalıştırmayı sadlayan Linux uyumluluk paketini ortaya çıkardılar. Bu Paket, Linux sistem çadrılarını düzgün yapabilmek için her iki çekirdek dediş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 deder fark yoktur.

BSD 'nin All from one supplier (Herşey tek elden) mantıdı Linuxlerde aynı sıklıkla yapılan güncelleme işlemlerinin daha kolay oldudu 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:

  • If it ain't broke, don't fix it (Bozulmuyorsa düzeltme). Eder halihazırda açık kodlu bir işletim sistemi kullanıyorsanız ve ondan memnunsanız dedişiklik yapmak için iyi bir sebeb yoktur.

  • BSD sistemi, özellikle FreeBSD dikkate deder bir şekilde Linuxlerden daha fazla performans sadlayabilir. Fakat bu herkesi aynı derecede etkileyen birşey dedildir ve bir çok durumda yok denecek kadar az performans farkı vardır. Ama bazı özel durumlarda da Linux'de FreeBSD'den daha iyi olarak nitelendirilebilir.

  • Genelde BSD sistemi güvenilirlilik açısından daha iyi üne sahiptir. ve bu genelde daha olgun koda sahip oluşundan kaynaklanır.

  • BSD lisansı GPL Lisansından daha dikkat çekicidir.

  • BSD Linux kodlarını çalıştırabilir ama Linux BSD kodlarını çalıştıranilir. Bunun bir neticesi olarakda BSD için Linux'den daha fazla yazılım vardır.

4.8. BSD için kim yardım servis ve editim sadlı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.

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.