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.