GNU Felsefesi ve Linux İşletim Sistemi
Özet: Gün geçtikçe kalabalıklaşan bir topluluğa yön veren GNU Felsefesini ve Özgür Yazılım Akımı’nı duymadı iseniz bu yazıya bir göz gezdirmenizde fayda var; bu yazıda GNU ve Linux’un ne olduğu anlatılmaya çalışılmıştır.
Bu yazıyı okumak ve bahsedilen düşünceleri özümseyebilmek için bilgisayar konusunda uzman olmanız kesinlikle gerekmemektedir fakat, başlamadan önce, kavramların aynı anlamlarını kullandığımızdan emin olmak için aşağıdaki bazı bilgisayar terimlerin tanımlarını yapmak yerinde bir hatırlatma olacaktır:
Donanım (Hardware): Bir bilgisayarın veya başka bir benzer sistemin fiziksel, dokunulabilir, gerçek parçaları (ses kartınız, işlemciniz, disk sürücüleriniz, monitörünüz, yazıcınız gibi).
Yazılım (Software): Donanımlar üzerinde elektronik olarak saklanabilen bilgisayar programları ya da verilerin tümüne verilen isim (işletim sisteminiz, mp3 dosyalarınız, mp3 çalıcı programınız, metin belgeleriniz gibi).
Kaynak Kod (Source Code): Bir programın, herhangi bir programlama dili ile yazılmış, insana yakın orjinal formu. Programlar, kaynak kodların çeşitli derleyicilerden geçirilerek bilgisayarın anlayabileceği bir forma dönüştürülmüş halleridir. Örneğin mp3 çalıcı programınızı bilgisayarınızda çalıştırabilirsiniz fakat onun nasıl çalıştığını anlayabilmeniz için kaynak koduna bakmanız gerekir. En ilkel hali ile kaynak kod için, ait olduğu programın bilgisayara ne yaptırdığını ve nasıl çalıştığını tam olarak anlayabilmemizi sağlayan yazılı halidir diyebiliriz.
Bu çok kısa ve genel bilgilendirmenin ardından, “Bilim ancak kollektif olarak gelişir ve bilgi paylaşılmalıdır” diyen Richard M. Stallman ‘ın öncülüğünü gerçekleştirdiği GNU’nun ne anlama geldiğini açıklayarak başlayalım ve Stallman’ın söylediği ve kimsenin hayır diyemeyeceği bu söz ile 1984 yılında başlayan GNU hareketinin arasında nasıl bir bağ olduğundan bahsedelim.
GNU’nun açılımı, GNU is Not Unix’tir. Yani GNU, ‘GNU, Unix değildir’ anlamına gelmekte olan özyinelemeli (rekürsif) bir kelimedir. Richard M. Stallman, 1970′li yıllarda MIT (Massachusetts Institute of Technology)’nin Yapay Zeka laboratuvarlarında serbest yazılımı bir yaşam şekli olarak benimsemiş bir grupla beraber 1980′li yılların başına kadar yazılım geliştirici olarak çalışmıştır. Bu grup ile olan birlikteliğinin sona erişinin ardından kendisini o dönemlerde ivme kazanan bazı akımlardan dolayı benimsenmeye başlanılmış yeni bir sosyal sistem içerisinde bulmuştur, Stallman bir röportajında o günleri şu şekilde nitelendirmekte: “Kendimi özgür olmayan (kaynak kodu kapalı olan) yazılımların hakim olduğu ve kullanıcıların yardımsız bırakıldığı, parçalanmış ve birlikte çalışmanın korsanlık olarak nitelendirildiği çirkin bir sosyal sistemin içinde buldum. Bu tür bir yaşantıyı reddettim. Ancak işimi özgürlüğe ve birlikte çalışmaya adadığım zaman yaptıklarımdan gurur duyabileceğime karar verdim.” Ve 1984 yılında tamamen özgür yazılımların meydana getirdiği bir işletim sistemi ve işletim sisteminin araçlarının geliştirilmesi çalışması böylece başlamış oldu, işte bu çalışmanın adı GNU idi. Yazılan özgür yazılımların bir şemsiye altında toplanması için 1985 yılında yine Stallman tarafından FSF (Free Software Foundation) kuruldu ve GNU yazılımları korumak üzere GPL (General Public Licence) adı verilen yazılım lisansı duyuruldu. GPL lisansı ile lisanslanan özgür yazılımların amaçları özgürlüklerini korumaktan başka bir şey değildir.
Özgür yazılımlar hakkında sık rastlanan bir yanlış anlama, özgür yazılımların ücretsiz olduğudur; genellikle böyle olmakla beraber, özgür yazılımlar ücretli olabilirler, fakat kaynak kodları ücretlendirmelerinden bağımsız olarak açıktır. Bir yazılımın, ‘özgür yazılım’ olarak değerlendirilebilmesi için yazılımın kullanıcısına neleri sağlaması gerekir?
- Yazılımı kullanan kişi onu her türlü amaç için çalıştırmakta özgürdür. Özgür yazılımlar kullanıcıları kısıtlamazlar.
- Yazılımı kullanan kişi yazılımın nasıl çalıştığını incelemekte ve kendi özel ihtiyaçlarına daha iyi cevap verebilmesi için yazılım üzerinde değişiklik yapmakta özgürdür. Kendisi yeterli bilgiye sahip değilse bunu bir başkasına da yaptırabilir.
- Yazılımı kullanan kişi elindeki yazılımı dağıtmakta ve toplum ile paylaşmakta özgürdür.
- Yazılımı kullanan kişi yazılımı geliştirmekte ve geliştirdiği yeni halini toplum ile paylaşmakta özgürdür.
GPL’nin bu hükümlerine bakıldığında ‘yazılımı yazan’ kişi ile ‘yazılımı kullanan’ kişi sanki birbirine karıştırılmış gibi görünüyor. İnsanın, -özellikle günümüz koşullarında- bir yazılımı kullanan kişinin, kullandığı yazılım üzerinde, yazılımı üreten kişi kadar hakka sahip olmasını kabul etmekte güçlük çekmesi çok doğal… Özgür yazılım akımı ile beraber, GPL şemsiyesi altında geliştirilen bir yazılım özel bir çaba sarfetmeye gerek bırakmadan, başlangıcından sonuna değin toplumun ve bilimin yararına geliştirilmiş olur. Çünkü bu lisans ve yaklaşım sayesinde,
- Yazılım geliştiricileri tekerleği yeniden keşfetmekle vakit harcamaz, daha önceden üretilmiş olan araçları yazılımlarına ekleyerek bunlar üzerine yeni şeyler inşa edebilir.
- Aynı işi yapan yazılımların en iyi yönleri alınarak kullanıcılara optimum çalışan, kaliteli yazılımlar hızla sunulabilir. Kullanıcılar var olan yazılımlar arasından istediğini deneyerek kendi ihtiyacını rahatça seçebilir.
- Kullanıcılar özgür yazılımlara çok makul fiyatlar ile ya da -çoğunlukla- 0 maliyetle sahip olabilir, dolayısı ile yazılım ücretlerine ayırdıkları kaynaklarını donanıma ya da diğer ihtiyaçlarına ayırabilir, yaşam ve çalışma standartlarını yükseltebilirler.
- Yazılımın kaynak koduna da sahip olduklarından dolayı kullanıcılar kritik yazılımların nasıl çalıştığını anlamak için kaynak kodlarına bakabilir, isteklerine göre özelleştirebilir ve kaynak tasarrufu sağlayabilir. Elbette kullanıcılar yazılım üretimi konusunda bilgili olmak zorunda değildir, ne bir programcı kiralamak kullanıcı için, ne de var olan bir yazılım üzerinde değişiklik yapmak bir programcı için zordur.
Bütün bunlar göz önünde bulundurulduğunda, özgür yazılım akımı bilişim dünyasının acımasız çarkları arasında açan bir çiçek gibidir. GPL’nin zekice düşünülmüş hükümleri sayesinde bu akımın önü kendi menfaatlerinden dolayı kapalı kaynak kodu savunan, küçük bir kitleyi doyuran egoist yazılım devleri tarafından bir türlü kesilememektedir ve Free Software Foundation’un kurulduğu 1985 yılından bu yana internet teknolojisinin de hızla yayılması ile bu akım bütün ülkelere sıçramış durumdadır. Açık kaynak kodlu özgür yazılımlar yukarda bahsedilen özellikleri ile şu avantajları da beraberinde getirmektedir:
- Güvenilirlik : Açık kaynak kodlu yazılımların belki de en büyük artısı olan güvenilir oluşları, kimi çevreler tarafından doğru olmayan bir mantıkla bir dezavantaj gibi gösterilmeye çalışılmakta ve topluma ‘Açık kaynak kodlu bir yazılımın tam olarak nasıl çalıştığı kaynak koduna bakılarak bilinebildiği için yazılımın barındırdığı güvenlik problemleri saldırganlar tarafından kolaylıkla tespit edilip kullanılabilmektedir’ gibi bir düşünce yerleştirilmeye çalışılmaktadır. Fakat açık kaynak kodlu bir yazılım, doğası gereği geliştirilmesi sürecinden kullanımı zamanına değin onbinlerce göz tarafından denetlenmektedir. Var olması muhtemel bir güvenlik problemi ya da kötü niyetli bir programcı tarafından bilinçli olarak yerleştirilebilecek bir kod parçası yazılım sizin elinize ulaşmadan tespit edilmekte ve hızla düzeltilmekte ya da size ulaşması engellenmektedir. Ayrıca kimse, binlerce insanın kollektif bir şekilde geliştirdiği bir yazılımın güvenilmez olduğunu idda ederken, sınırlı sayıda kişinin geliştirdiği ve kaynak kodunu kapattığı bir yazılımın güvenilirliğini kimin ve nasıl garanti edeceği sorusuna yanıt veremez.
- Sağlamlık : Yine açık kaynak kodlu yazılımların doğal geliştirme süreci içerisinde çok sayıda insan tarafından denenmeleri ve kaynak kodlarının gözden geçirilmesi sonucunca ortaya yüksek kalitede, stabil ve kuvvetli yazılımlar çıkmaktadır.
- Esneklik : Kaynak kodu açık bir yazılım hızla ve kolaylıkla yeni bir sistem üzerinde çalışacak şekilde yeniden yapılandırılabilmekte, bir kısmı çıkarılarak kapsamı daraltılabilmekte ya da eklenen yeni fonksiyonlarla kapsamı genişletilebilmektedir.
- Uygulama Desteği : Çok geniş bir yelpazede ve çeşitlilikteki bir çok açık kaynak kodlu özgür yazılım her gün duyurulmaktadır. Herhangi bir konudaki ihtiyaç açık kaynak kodlu yazılımlarla hızlı ve kaliteli bir şekilde çözüme kavuşturulabilmektedir.
Belki de hepsininden önemlisi, bahsedilen yazılım sizin kendi malınız olmaktadır. Yukarıda da bahsedilen GPL lisansı uyarınca üretilmiş bir yazılım üzerinde, onu hazırlayan kişi kadar hakka sahip olmanız inanılması güç bir şeydir. İnsanların bu durum karşısında şu şekilde bir değerlendirme yapması çok sık rastlanan bir durumdur: ‘Bir yazılımın kaynak kodunun açık ya da kapalı olması, özgür olması ya da olmaması benim için neyi değiştirir?’
Aslında çok şeyi değiştirmektedir.
Bu şekilde düşünen kişilerin bir kısmı, bilgisayarlarında lisans bedelleri ödenmemiş, kopya yazlımlar kullanmaktadırlar, dolayısı ile ellerindeki yazılımların yasal kısıtlamaları ve hükümlerinden dolayı hırsız durumuna düşmekte ve yasaları çiğnemektedirler; sırf ihtiyaçlarını karşılamak istedikleri için hayatları boyunca yapmayı akıllarından bile geçirmeyecekleri suçlarlı işlemiş sayılmaktadırlar.
Bir kısmı da bilgisayarlarında kullandıkları yazılımların lisans bedellerini ödemekte, fakat kullandıkları yazılımın lisans hükümleri uyarınca lisans bedeli ödenmiş yazılımlarının bir kopyasını çok yakın arkadaşları dahi istese ona ‘hayır’ demek durumunda kalmaktadırlar. Demedikleri taktirde de arkadaşlarını ilk kısımdaki insanlar genellemesine itmektedirler. Yani lisans bedelini ödedikleri taktirde dahi bir yazılıma sahip olamamakta, yazılımı özgürce kullanamamakta, özgür olamamaktadırlar. İşte bu durum, Richard M. Stallman’ın “bu yaşam şeklini reddettim” dediği yaşam şeklidir.
Peki bunca koşuşturma arasında Linux ‘un yeri nerededir? (Linux, linuks şeklinde telaffuz edilir 2 )
Linux, Linus Torvalds adında Finlandiya’lı bir bilgisyar mühendisinin 1991 yılında Helsinki Üniversitesi’nde bir öğrenci iken kişisel bilgisayarında kullanmak üzere geliştirmeye başladığı bir işletim sistemi çekirdeğidir (işletim sisteminin çekirdeği, işletim sisteminin beyni diye tabir edebileceğimiz kısmıdır). İnternet’te yaptığı duyuru sonucunda tüm dünyadan bir çok programcının da desteği ile hızla gelişmiş ve halen aynı destek ile gelişmekte olan açık kaynak kodlu, özgür bir yazılımdır. Hızlı bir sürecin sonunda Linus’un geliştirdiği çekirdek, GNU hareketinin bir meyvesi ve aynı zamanda taşıyıcısı haline gelmiştir. GNU için yazılmış özgür yazılımlar çok kısa süre içerisinde Linux çekirdeği ile uyumlu çalışabilecek hale getirilmiş ve ortaya güçlü, esnek ve açık kaynak kodlu bir işletim sistemi çıkmıştır. GNU/Linux olarak anılması gereken işletim sistemi zaman içerisinde telaffuz kolaylıklarından ötürü Linux olarak anılmaya başlanmıştır.
Şu anda GNU yazılımlarını ve diğer özgür yazılımları bir araya getiren ve tüm bunları bir Linux çekirdeği ile beraber toplu, derlenmiş ve kurulumu çok kolay bir işletim sistemi olarak piyasaya süren irili ufaklı bir çok çalışma mevcuttur. Fedora, Debian, SuSe, Mandrake, Slackware bunlardan çok bilinen bir kaçıdır. Her biri, normal bir bilgisyar kullanıcısının biraz dikkat ederek bilgisayarına kurabileceği ve neredeyse hiç yabancılık çekmeden kullanabileceği kadar rahat bir kurulum arayüzüne sahip bir şekilde dağıtılmaktadır. Eğer dağıtımlar hakkında daha fazla bilgi almak istiyorsanız 3 adresini ziyaret edebilirsiniz. Bu dağıtımlar üniversitelerin Bilgi İşlem Dairesi başkanlıklarından, bilgisayar mühendislikleri bölümlerinden ya da sadece dağıtım işini üstlenmiş internet sitelerinden çok cüzzi miktarlar karşılığında temin edilebilmektedirler.
Türkiye’de de dünyanın her yerinde olduğu gibi Linux ile tanışmak isteyen ve yukarda vaad edilen şekilde bir bilgisayar yaşantısına adım atmak isteyen kişileri bir araya getirmek ve desteklemek vazifesini üstlenmiş ciddi ve özverili organizasyonlar mevcuttur. LKD (Linux Kullanıcıları Derneği), tüm Linux camiasının buluşma noktası olmayı hedefleyen ve bütün özgür yazılım hareketlerine kucak açmış bir dernektir. Her yıl düzenlenen ve 4 gün süren Linux Şenlikleri ile 3-4 paralel salonda yapılan seminer oturumları ile insanlar Linux ile ilgili çeşitli konularda bilgilendirilmekte, hiç bilmeyenlerden profesyonel bilgisayar kullanıcılarına kadar herkezin faydalanabileceği etkinliklere Türkiye’nin dört yanından konuşmacılar ve izleyiciler katılmaktadır. E-posta listelerinde özgür yazılım ve linux konusunda yardım almak isteyen kişilere yardım edilmekte, düzenli ve gezici seminerler ile kitleler ücretsiz bilgilendirilmektedir. Türkçeleştirme, yeni özgür yazılımların geliştirilmesi gibi çalışmalara destek verilmektedir.
Şu anda nerede ise tüm üniversite bilgi işlem merkezlerinin yanı sıra, NASA, IBM, HP, Boeing, HSBC, CityBank, SonyEricsson, Nokia, Siemens, Samsung, General Motors, Hyundai, Oracle, EToys gibi çok büyük kuruluşlar Linux kullanmakta ve bir şekilde özgür yazılımlara destek olmaktadırlar.
Peki, şu anda nasıl linux sahibi olabilir ve onu kullanmaya başlayabilirsiniz? Bu sorunun yanıtı da çok basittir:
- En yakın üniversitenin bilgi işlem dairesine 3 adet boş CD ile gidip size tavsiye ettikleri bir Linux dağıtımını çekmelerini rica edin.
- http://liste.linux.org.tr adresindeki e-posta listelerinden linux listesine üye olun ve ‘ben linux kullanmak istiyorum, bana yardim edin’ diyin.
Eğer çaba sarf etmeyi göze almışsanız sonrasının nasıl geldiğine siz de şaşıracaksınız.
Bütün bunlar sanki bir pazarlama şirketinin serzenişleri gibi görünmekte, insanın aklına ‘Peki bunca insan neden bu fikrin peşinden koşturuyor? Bu kişilerin menfaati nedir?’ soruları takılmaktadır.
Siz kabul etmesenizde, özgür yazılımlar ve Linux sizin kullanmanız için hiç bir karşılık beklemeden size sunulmuş birer hediyedir. Sizin malınızdırlar, ve ona sahip çıkmak ya da çıkmamak özgürlüğü de diğer tüm özgürlükleriniz gibi sizin elinizdedir. Bu akım ve bu akımın ürettikleri, toplumların refah seviyesini yükseltmek için çalışan bilime ve gelecek nesillere bir mirastır.
Richard M. Stallman’ın söylediği gibi, ‘Özgür yazılım kullanmayı hak ediyorsunuz’.
Bağlantılar
http://www.lkd.org.tr Türkiye Linux Kullanıcıları Derneği.
https://www.linux.org.tr Özgür yazılım kullanıcılarının buluşma noktası.
http://www.uludag.org.tr Ulusal Dağıtım Projesi
http://www.belgeler.org Linux ve özgür yazılımlar hakkında derlenmiş bir çok Türkçe belge.
http://www.gnu.org GNU resmi web sitesi.
1 Bahsi geçen röportaj, 2000 yılı Aralık ayında Umut Gökbayrak tarafından gerçekleştirilmiştir.
2 http://www.paul.sladen.org/pronunciation/torvalds-says-linux.wav
3 https://www.linux.org.tr/dagitimlar-kilavuzu