'Özgür yazılım' üzerine

'Özgür yazılım' üzerine

07 Şubat

Bilgisayarlar, üzerlerinde çalışan yazılımlar (programlar) olmaksızın, elektronik chip ve devrelerden oluşan boş birer kutudan ibarettirler. Onları kullanabilmek için öncelikle onlarla aynı dilden konuşmamızı sağlayacak yazılımlarla yüklenmeleri gerekir. Bu dil, bilgisayarların tek anladığı dil olan, sadece “0″ ve “1″den ibaret bir “alfabe”den oluşsaydı ne olurdu bir düşünün? Neyseki bizim verdiğimiz, “aç-yok yok kapat”, “kaydet-vazgeçtim sil”, “olmadı-geri al” gibi komutları, bilgisayarların diline çeviren yazılımlar var. Yazılımlar, bizim verdiğimiz komutları ve emirleri, bilgisayara anlayabileceği şekilde iletiyor, onlardan, bilgisayar diliyle aldıkları sonuçları ise bizim anlayabileceğimiz tarzda bize geri döndürüyorlar.

Peki bir bilgisayar ya da benzer herhangi bir aleti kullanabilmemiz için olmazsa olmaz bir öneme sahip yazılımlar neye benziyor? Bir yazılım, belirli bir dil sistematiği kullanılarak yazılan komutlar bütünüdür.

.data
msg:
.ascii “Hello, world!n”
len = . – msg
.text
.global _start
_start:
movl $len,%edx
movl $msg,%ecx
movl $1,%ebx
movl $4,%eax
int $0×80
movl $0,%ebx
movl $1,%eax
int $0×80

Onlarca farklı yazılım dilinden biri olan Assembler ile yazılmış bu “basit” yazılım, bilgisayarınızdan, ekrana “Hello World!” (Merhaba Dünya) yazmasını ister. Tabii bu program bir kez bilgisayarınıza yüklendi mi, sizin artık sürekli aynı şeyleri yazmanıza gerek kalmaz, onu her çalıştırdığınızda size istediğiniz sonucu, yani “Merhaba Dünya!” yazısını verecektir. Tabii bunun için öncelikle bu kodların, bilgisayarın anlayabileceği dile çevrilmesi için gereken “derleme” aşamasından geçmesi gerekiyor.

Bilgisayarların ve bilgisayar yazılımlarının yeni yeni gelişmeye başladığı ‘70′li yılların başlarında, bilgisayar yazılımcıları, yazdıkları her programı, sayıları zaten oldukça sınırlı olan diğer yazılımcılarla paylaşıyordu. Böylece yazılım çok daha hızlı gelişiyor, herkesin katkısı sağlanabiliyordu. Fakat, havadan ve sudan kar elde etmenin arayışındaki kapitalizmin, çiçeği burnunda yazılım şirketlerinin, yazılımların bilgisayar dünyası için ne kadar değerli bir araç olduğunu farketmeleri ve onu da bir kar kapısı haline dönüştürmenin yollarını aramaya başlamaları uzun sürmedi.
Yazılım firmaları, çok geçmeden, bünyelerinde çalışan yazılımcılara, “gizlilik/bağımlılık” sözleşmeleri imzalatmaya başladılar. Bu sözleşmelerden birini imzalayan bir yazılımcı, o firma için çalıştığı sürece yazdığı programların kaynak kodlarını (yukarıdaki örneğimizde verdiğimiz kodlar, Hello World programının kaynak kodlarıdır) açamıyor, en yakın arkadaşları da dahil başkalarıyla paylaşamıyordu. 1980′lere gelindiğinde, hemen hemen bütün yazılımlar, yazılım tekellerinin malı haline gelmişti. Bu tekellerin yaptıkları ilk iş yazılımların kaynak kodlarını kapatmak oldu. Kaynak kodu açık olmayan bir programın nasıl çalıştığını, bize gösterilen sonuç dışında ne iş yaptığını anlamak mümkün değildir. Onu geliştirmek, değiştirmek, başkalarıyla paylaşmak gibi bir şansınız yoktur.

“Özgür Yazılım Hareketi”
Richard M. Stallman da o dönemlerde, hala dünyanın en büyük teknoloji araştırma geliştirme merkezlerinden biri olan MIT’de (Massachusetts Institute of Technology- Massachusetts Teknoloji Enstitüsü) çalışan hackerlardan biriydi. Dayatılan “gizlilik/bağımlılık” sözleşmelerini kabul etmemiş, bu nedenle MIT’deki işinden ayrılmıştı.

“Toplumun neye ihtiyacı vardır? Vatandaşlarının sorunsuzca erişebileceği bilgiye ihtiyacı vardır; örneğin insanların sadece çalıştırabilecekleri değil aynı zamanda okuyabilecekleri, düzeltebilecekleri, geliştirebilecekleri programlar. Ancak yazılım sahiplerinin sunduğu, genellikle inceleyemeyeceğimiz ya da değiştiremeyeceğimiz bir kara kutudan ibarettir.

Toplumun aynı zamanda özgürlüğe ihtiyacı vardır. Bir programın bir sahibi olduğunda insanlar hayatlarının bir bölümü üzerindeki kontrolü kaybetmiş olurlar.

Tüm bunların ötesinde toplumun ihtiyacı olan şey vatandaşlar arasındaki gönüllü işbirliği ruhunun pekiştirilmesidir. Yazılım sahipleri, bizler komşularımıza doğal olarak yardım ederken bu yaptığımız şeyin ‘korsanlık’ olduğunu söylediklerinde toplumumuzun ruhunu kirletmiş olurlar.” (Richard M. Stallman, “Yazılımın Neden Sahibi Olmamalıdır?”)

Stallman, bu temel fikirden hareketle 1983 yılında, ilk özgür yazılım projesi olan GNU (GNU is Not UNIX, GNU UNIX Değildir) işletim sistemi projesini başlattı. 1985 yılında da FSF’ni (Free Software Foundation, Özgür Yazılım Derneği) kurdu. “Özgür Yazılım Hareketi”nin temel hedefi yazılımların sahipli hale gelmesini engellemek, dileyen herkesin özgürce, hiçbir zorunluluk olmadan kullanabileceği, değiştirebileceği, başkalarıyla paylaşabileceği programlar yaratmak:

Ö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, kullanıcılara şu haklar tanınmıştır:

- Her türlü amaç için programı çalıştırma özgürlüğü.
- Programın nasıl çalıştığını inceleme ve kendi gereksinimleri doğrultusunda değiştirme özgürlüğü. Program kaynak koduna erişim bunun için bir önşarttır.
- Yeniden dağıtma ve toplumla paylaşma özgürlüğü.
- Programı geliştirme ve gelişmiş haliyle topluma dağıtma özgürlüğü. Böylece yazılım bütün toplum yararına geliştirilmiş olur. Program kaynak koduna erişim bunun için de bir önşarttır.”

Stallman’ın 1983 yılı sonlarında, internet üzerinden yayınladığı bir mesajla başlattığı GNU projesi ve FSF’ne katılım çok kısa sürede birçok yazılımcı ve kullanıcı tarafından destek gördü. Özgür Yazılım felsefesini benimseyenler, yazılımlarını FSF tarafından hazırlanan, ve yazılımların özgür yazılım olarak kalmasını garanti eden GPL lisansıyla lisanslıyorlar. Şu anda, başta GNU/Linux işletim sistemi olmak üzere onbinlerce Özgür Yazılım, yüz binlerce özgür yazılım geliştiricisi ve milyonlarca özgür yazılım kullanıcısı var.

Başta Microsoft olmak üzere, büyük yazılım tekelleri bu durumdan pek de hoşnut değil. Özgür yazılımın hızlı yükselişinden tedirgin olan bu tekeller birçok karalama kampanyası başlattı. Önceleri oldukça etkili olan bu kampanyalar, IBM, HP, SUN gibi büyük donanım (bilgisayar, bilgisayar parçaları) tekellerinin de Özgür Yazılım ve açık kaynak kodlu yazılımlara verdikleri destekten sonra gittikçe alay konusu olmaya başladı. Donanımları üzerinde çalışacak yazılımları ya satın almak, ya da parayla programcı çalıştırarak yazdırmak zorunda kalan donanım tekelleri için de özgür ve açık kaynak kodlu yazılımlar büyük bir olanak yaratmıştı.

“Yazılım kullanan diğer insanlarla açık açık ve özgür şekilde işbirliğine gitmeyi hak ediyorsunuz. Yazılımın nasıl çalıştığını öğrenmeyi hak ediyorsunuz ve öğrencilere bu bilgiyi öğretmeyi hak ediyorsunuz. Yazılım bozulursa takdir ettiğiniz bir programcıyı kiralayıp onu düzeltebilmeyi hak ediyorsunuz.

Özgür yazılımı hak ediyorsunuz.” (Richard M. Stallman)

Bunun bir de biz farkına varabilsek!

Bu yazı Ufuk Çizgisi dergisinin 5. sayısında yayınlanmıştır.

Yorum yaz