Ana içeriğe atla

Özgür Yazılım ve Linux

Not : Aşağıdaki yazı İzmir EMO-GENÇ Bülteninde yayınlanan yazımdır.

Özgür Yazılım ve Linux
Özgür Yazılım
Yazılım endüstrisinin henüz donanıma bağlı olduğu dönemlerde, bilgisayar kullanıcılarının yazılımları üzerinde her türlü özgürlüğe sahip olmaları oldukça normal karşılanan bir durumdu. Yazılımların gittikçe karmaşıklaşması üretici firmaların yazılım üzerindeki yatırımlarını telif haklarıyla korumaya yöneltti. Yazılımlarını korumak için sadece çalıştırılabilir sürümü dağıtmak gibi teknik çözümler üretmeye başladılar. Bu şekilde kullanıcıların yazılım üzerindeki haklarını kısıtlamış oldular.
1983 yılında Richard Stallman, bilgisayar endüstrisindeki ve kullanıcılardaki kültür değişiminden rahatsız olduğu için GNU projesini başlattı. GNU işletim sistemi geliştirme Ocak 1984 yılında başlarken, Ekim 1985 yılında Özgür Yazılım Vakfı kuruldu. Richard Stallman bu vakfın kuruluşuyla birlikte, Özgür Yazılım tanımını [1] ve "Copyleft" kavramını, herkes için yazılım özgürlüğü görüşünü ortaya attı. Özgür yazılım, özgürlükleri korumaya yönelik bir akımın adıdır. Özgür yazılım denildiği zaman, İngilizce'deki "Free Software" ifadesinin ilk kelimesinin ("free") çift anlamlı olması dolayısıyla oluşan yanlış anlamayı önlemek için özellikle vurgulanması gereken, "Free software" denildiği zaman "free beer" (bedava bira) değil "free speech" (ifade özgürlüğü)'nün akla gelmesi gerektiğidir [2].

Özgür yazılımın temelinde kullanıcının bir yazılımı çalıştırma, kopyalama, dağıtma, inceleme, değiştirme ve geliştirme özgürlükleri yatar. Daha kesin ve açık bir ifadeyle, özgür yazılım kullanıcılar için aşağıdaki özgürlükleri tanımlar[2]:
  • Her türlü amaç için programı çalıştırma özgürlüğü (özgürlük 0)
  • Programın nasıl çalıştığını inceleme ve kendi gereksinimleri doğrultusunda değiştirme ve uyarlama özgürlüğü (özgürlük 1). Program kaynak koduna erişim bunun için bir ön şarttır.
  • Yeniden dağıtma ve toplumla paylaşma özgürlüğü, böylece komşularınıza yardım edebilirsiniz (özgürlük 2).
  • Programı geliştirme ve gelişmiş haliyle topluma dağıtma özgürlüğü, bu özgürlüğün amacı tüm topluluğun geliştirmelerden yararlanmasını sağlamaktır (özgürlük 3).Program kaynak koduna erişim bunun için de bir önşarttır.
Bir program bütün kullanıcılara yukarıdaki hakları tanıdığı zaman, özgür bir yazılım olur. Özgür bir yazılıma sahip olduğunuz zaman kopyalarını aynen ya da değiştirerek, ücret karşılığı veya ücretsiz, herkese ve her yerde dağıtma özgürlüklerine sahip olursunuz. Bu özgürlüklere sahip olmak, kimseden izin almamayı ve izin için hiçbir bedel ödememeyi de içerir.
Copyleft, bir programı veya başka bir çalışmayı özgür yapmak için genel bir yöntemdir. Bu yöntemle, özgürleştirilmiş bir çalışmanın tüm değiştirilmiş ve genişletilmiş sürümlerinin de özgür olması garanti altına alınmış olur.
Bir programı özgür yazılım yapmanın en kolay yolu, tüm telif haklarından feragat etmektir. Fakat bunu yaptığınız zaman bazı "kötü niyetli", "işbirliğini sevmeyen" insanların bu yazılımı değiştirerek mülkiyetli bir hale getirmesine yol açmış olursunuz. Değişiklik yaparlar, ve sonuçta elde ettikleri yeni ürünü sahipli bir yazılım şeklinde tekrar yayınlarlar. Sahipli olarak yayınlanan bu yazılımı kullanmak isteyen yeni kullanıcılar yazılımın ilk üreticisinin sağladığı özgürlükten yararlanamazlar. Tüm kullanıcılara özgürlük sağlamak isteyen GNU projesinin "copyleft" yöntemini kullanması bu yüzdendir. GNU yazılımlarının tüm haklarından feragat etmek yerine, o yazılımları "copyleft" yöntemiyle özgürleştirmektedirler. Yazılımlar için Copyleft örneği olarak Genel Kamu Lisansı ("General Public License") (GNU GPL) örnek olarak verilebilir [3]. Yazılım geliştiriciler, ürettikleri yazılımı GNU GPL lisansı altında yayınlayabilirler. Bu şekilde yayınladıkları yazılımlar özgür bir yazılım olur ve bu yazılımlar kimin değiştirdiğinin veya dağıttığının önemi olmadan özgür bir yazılım olarak kalır. İşte bu yazılımlar için Copyleft kavramıdır. Yazılımın hakları korunmuştur, ama sahipli yazılımların yaptığı gibi kullanıcıları kısıtlamak yerine, her kullanıcının haklara sahip olması şeklinde korunmuştur.
Özgür yazılım, geniş bir coğrafyaya yayılmış uluslararası bir çabadır. Bu ortaklaşa çaba sonucunda, son kullanıcılar, geniş organizasyonlar ve idari yönetimler tarafından kullanılan yazılımlar üretilmektedir. Sunucu tabanlı yazılım pazarı incelendiği zaman Apache web sunucusu, MySQL veritabanı ve PHP betik dili gibi pazara hakim yazılımların özgür yazılımlar olduğu görülebilir. Ayrıca tamamen özgür yazılımlardan oluşturulmuş, özgür bilgisayar ortamları da (mesela Debian işletim sistemi) oldukça fazladır. Son kullanıcıların kullanabilmesi için çoğu sahipli yazılıma alternatif olan özgür yazılımlar üretilmiştir. Son zamanlarda, donanımların üzerindeki yazılımların (BIOS, Aygıt sürücüleri, vb.) da özgür birer yazılım haline getirilmesi çabası artmıştır. Artık kullanıcılar bir donanıma para verdikleri zaman, içerdiği yazılım üzerinde istedikleri özgürlüğü elde edebilmektedirler.
Özgür yazılımın ekonomik ve toplumsal olarak etkisini gören çoğu büyük firma (IBM, Red Hat, Sun Microsystems), yatırım kaynaklarının önemli bir kısmını bu yazılımların geliştirilmesine aktararak özgür yazılımların gelişmesine oldukça büyük katkı sağlamışlardır.

Açık Kaynak
Her ne kadar Özgür Yazılım ve Açık Kaynak genellikle birlikte anılan kavramlar olsa da, temelde bu iki kavram birbirinden farklı iki akımı temsil etmektedir. Bir yazılımın özgür olabilmesi için kaynak kodlarını paylaşmasının zorunlu olduğunu yukarıdaki özgürlük tanımı içerisinde belirtmiştik. Kaynak kodlarının paylaşılması durumunda bu yazılımın açık kaynak bir yazılım olduğunu söyleyebiliriz. Ancak Açık Kaynak Yazılım(“Open Source Software”) akımı, özgür yazılım akımından farklı olarak üretilen yazılımların etik amaçlarından ziyade, işin teknik boyutuyla ilgilenmektedir. Günümüzde Açık Kaynak Yazılım akımı yüzünden çoğu kullanıcı özgür yazılım akımı ile gelen özgürlük kavramının farkında olmadan kullandıkları yazılımın sadece “açık kaynak” olmasıyla ilgilenmektedir.

Neredeyse tüm açık kaynak yazılımlar aslında özgür yazılımdır, çoğu durumda iki terim aynı yazılım kategorisini tanımlar. Ancak bu iki akım bakış açısı olarak farklıdır. Açık kaynak bir geliştirme yöntembilimidir, özgür yazılım ise sosyal bir harekettir. Özgür yazılım hareketi için, özgür yazılım ahlaki bir zorunluluktur, çünkü sadece özgür yazılım kullanıcıların özgürlüğüne saygı duymaktadır. Diğer taraftan, açık kaynak felsefesi yazılımı pratik olarak “daha iyi” yapmakla ilgilenir. Yazılımın özgür olmaması açık kaynak felsefesine göre ideal olmasa da bir çözümdür. Özgür yazılım hareketi için, özgür olmayan yazılım bir sosyal problemdir ve çözümü özgür yazılıma geçiştir[4]. Bu ayrımın özellikle vurgulanması gerekmektedir. Çünkü bu iki akım bir potada eritilerek “Free/Libre/Open Source Software (FLOSS) (http://en.wikipedia.org/wiki/FLOSS)” adı altında vurgulanmaktadır. Bu akımların birbirinden farkını daha iyi anlayabilmek, özgür yazılımın gerçek amacı olan “kullanıcı özgürlüğü” kavramını anlamak açısından oldukça önemlidir.

Linux
1991 yılında Finlandiyalı Linus Torvalds o zamanlar farkedilmeyen ama sonraları dünya çapında bir köklü değişikliğe yol açacak olan Unix tabanlı (aslen Minix) bir işletim sistemi çekirdeğini Intel'in yeni işlemcisinin korumalı mod mimarisini denemek için geliştirmeye başladı. İnternette yaptığı duyuru sonucunda tüm dünyadan bir çok programcıdan aldığı olumlu etkiler ve destek ile, çekirdek hızlı bir şekilde gelişti. Linux [5] adı verilen bu çekirdek dünyanın dört bir yanındaki programcılar tarafından geliştirilen açık kaynak kodlu, özgür bir yazılım olarak GNU hareketinin önemli üyelerinden biri oldu. GNU tarafından geliştirilmiş olan yazılımlar hızlı bir şekilde Linux çekirdeği ile çalışabilir hale getirilerek GNU/Linux işletim sisteminin temeli atıldı. Varoluş itibariyle GNU/Linux adıyla anılması gereken işletim sistemi, telafuz kolaylığı nedeniyle Linux adıyla anılmaktadır. Yıllardır sunucu tabanlı makinelerde egemenliğini göstermiş olan GNU/Linux işletim sistemi, günümüzde masaüstü bilgisayarlarda Microsoft işletim sistemlerinin egemenliğini tehdit eder bir hale gelmiştir. Son kullanıcıdan, uzman kullanıcıya ve gömülü sistemlerden süper bilgisayarlara kadar geniş bir yelpazede farklı dağıtımları bulunan GNU/Linux, bilişim alanında kullanıcıların özgürlükleri açısından önemli bir ilerleme niteliğindedir.
Günümüzde GNU/Linux dağıtımları artık her kullanıcının dilediği şekilde kullanabileceği bir durumdadır. Bir çok nedeni olsa da, kullanıcılar aşağıda özetlenmiş olan nedenlerden dolayı Microsoft işletim sistemlerine (özellikle Windows Vista) karşı GNU/Linux dağıtımlarını özellikle tercih etmelidir [6];

  1. Yenilikçilik: Microsoft'un Vista işletim sisteminde yeni olarak duyurduğu bir çok yeniliği (3B Masaüstü, saydam pencereler, güvenlik, vb. ), GNU/Linux dağıtımları çok önceden gerçekleştirmişti. Yenilikçilik açısından bakıldığı zaman, GNU/Linux dağıtımlarının Microsoft işletim sistemlerinin oldukça önünde olduğunu görebiliriz.
  2. Özgürlük: Bu yazıda vurgulanan en önemli kavram özgürlüktür. Siz bir yazılımı kullanmak istediğiniz zaman üzerinde her hakka sahip olmanız gerekir. Bunu size özgür yazılımlar ve GNU/Linux sağlar. Kullanıcı dostu bir dağıtım (Kubuntu, Ubuntu, Fedora, vb. ) indirip bir CD'ye çekip kullanabilirsiniz. Bunu özgür bir şekilde yapabilirsiniz. Ayrıca bunu ücretsiz olarak, sadece boş CD parasını ödeyerek (elbette bir de internete ödediğiniz ücret vardır) yapabilirsiniz. Tamamen özgür bir şekilde bu CD'yi dilediğiniz arkadaşınıza verebilirsiniz. Kimse sizi bu CD'yi kopyaladığınız veya arkadaşlarınıza dağıttığınız için durdurmayacaktır, hatta çoğu kişi destekleyecektir.
  3. Topluluk: Geleneksel olarak işletim sistemleri ve yazılımlar kullanıcı rehberi ve yardım masası desteği ile gelir. GNU/Linux bunlara ek olarak geniş bir kullanıcı ve geliştirici topluluğu ile gelir, böylece canınızı sıkan telefon görüşmeleri veya eksik belgeler olmaz. Elbette GNU/Linux ile birlikte uygulamaların kullanım rehberleri dağıtılmakta ama takıldığınız bir şeyi internet üzerinde IRC veya forumlarda sorup öğrenme şansınız daha yüksek.
  4. Sorumluluk: Sahipli yazılım aldığınızda yazılımınız belli derecede (kaçak olarak kullanmıyorsanız) garantili olarak gelir. Ama GNU/Linux dağıtımları açıkça herşeyden sorumlu olduğunuzu belirtirler. Yaptığınız her hata, her değişiklik, her deneme sizin sorumluluğunuzdadır. Bu nedenle bir şey yapmadan önce yedeklemek, vb. eylemleri gerçekleştirmeniz yine sizin sorumluluğunuzda olacaktır. Özetle GNU/Linux yetişkinler içindir. (Bkz: 5. neden)
  5. Güvenilirlik: GNU/Linux dağıtımları yeterince güvenilirdir. Siz deneme sürümü veya yeni yazılmış bir uygulama kullanmıyorsanız genellikle sisteminiz kolay kolay çökmez. Çökmesi için bayağı uğraşmanız gerekmektedir. Çökse bile bir parçası çöker, tüm sistem çökmez. Windows sistemlerle karşılaştırıldığı zaman virüs ve solucanlara karşı "doğuştan" bağışıklığı olduğu da kaçınılmaz bir gerçektir.

Neden özgür yazılım?
Korsan yazılım kullanımının yaygın olduğu Türkiye bağlamında düşünüldüğü zaman Özgür yazılımın önemi daha fazla ortaya çıkmaktadır. İnsanlar yazılım için bütçelerini aşan paraları vermek yerine, özgür ve ücretsiz olarak diledikleri gibi kullanabilecekleri yazılımlara teşvik edilmelidir. Türkiye'deki bir çok özgür yazılım projesi (Pardus, Labris, vb.) Türkiye'nin bilişim alanındaki gelişmeyi yakalaması açısından özellikle desteklenmesi gereken projeler olarak göze çarpmaktadır. Dünyanın yazılım tekeli firmalarının ürünlerini kullanmaya teşvik etmek, o ürünlere yönelik eğitimleri vermek yerine dünyadaki diğer gelişmekte olan ülkelerin yaptığı gibi kendi ürettiğimiz veya başarılı bir şekilde üretilmiş olan özgür yazılım ürünleri, hem ekonomik kazanç hem de uzmanlaşma amacıyla teşvik edilmelidir. BSA (BSA, dünyada ve Türkiye'de korsan yazılım kullanımıyla mücadele eden uluslararası bir kuruluş, BSA'nın bu konuda hiç bir yetkisi yoktur [7]) gibi yasal olmayan kuruluşların yöntemiyle kaçak yazılım kullanmayı engelleyemeyiz, kaçak yazılım kullanmayı insanları özgür yazılımlara yönelterek önleyebiliriz (Pakistan'dan gelişmekte olan birleşmiş milletler ülkelerine, Afrika'dan Malezya'ya, ve hatta Filipinler, Tayland ve Nepal'e, GNU/Linux ilgiyle takip edilen, araştırılan, üzerinde çalışılan ve kullanılan bir alandır. [8]).
Bu amaçla insanlar özgür yazılım ve kullanımları hakkında bilinçlendirilmelidir. Bilgisayarlar incelendiği zaman, evde bilgisayar kullanan son kullanıcının kullanışlı bir bilgisayar sistemi elde etmesinin maliyetinde iyice ucuzlayan donanımdan ziyade, o donanım üzerinde kullandığı yazılımların (işletim sistemi, ofis yazılımı, grafik yazılımları, araçlar vb.) lisans maliyetleri etkilidir. Düşük maliyetli bilgisayarların üretilebilmesi için öncelikle yazılım maliyetlerinin azaltılması gerekmektedir. Bunun çözümü özgür yazılımlar yüklenmiş olan bilgisayarların üretilmesi, satılması ve son kullanıcıya ulaştırılmasının teşvik edilmesinde yatmaktadır.

Kaynaklar
[1] http://en.wikipedia.org/wiki/Free_software
[2] The Free Software Definition
[3] A Quick Guide to GPLv3
[4] Why “Open Source” misses the point of Free Software?
[5] Linux
[6] Why everybody should use GNU/Linux, and how?
[7] Ethem Derman, BSA, EMO E-Dergi
[8] Open-Source Software Opens New Windows to Third-World

Yorumlar