GNU Projesi Nasıl Başladı?-II

“Free Software”’deki “Free” Özgürlük Anlamındadır

“Free Software” (İngilizce’de “Free” hem özgür hem de ücretsiz anlamlarına gelmektedir) ifadesi bazen yanlış anlaşılmaktadır, buradaki “free” ifadesinin ücretle bir ilgisi yoktur. Burada “free” ifadesi özgürlükle ilgilidir. Bu nedenle,burada özgür yazılımın tanımı: Aşağıdaki şartlar yerine getirildiğinde, sizin gibi belirli bir kullanıcı için, bir program özgür bir yazılımdır:

•     Herhangi bir amaçla programı çalıştırma özgürlüğüne sahipseniz. •     İhtiyaçlarınıza uygun olacak şekilde programı değiştirme özgürlüğü- ne sahipseniz (Bu özgürlüğü, uygulamada etkin hale getirmek için, kay- nak koduna erişebilmelisiniz çünkü kaynak kodu olmaksızın bir prog- ramda değişiklikler yapmak aşırı zordur). •     Kopyaları ücretsiz olarak ya da belirli bir ücret karşılığında yeniden dağıtma özgürlüğüne sahipseniz. •     Toplumun gelişmelerden faydalanmasını sağlamak için, programın değiştirilmiş sürümlerini dağıtma özgürlüğüne sahipseniz. “Özgür”, (Free) özgürlüğe atıf yaptığı ve fiyata atıf yapmadığı için, kopyaların ve özgür yazılımın satılması arasında bir çatışma yoktur. Gerçekte,kopyaları satma özgürlüğü çok önemlidir: CD-ROM’larda satılan özgür yazılım koleksiyonları, toplum için önemlidir ve bunların satılması, özgür yazılımın gelişimi için gerekli paranın toplanması için önemlidir. Bu nedenle,insanların bu kolleksiyonlara ekleyemediği bir program özgür yazılım değildir. “Özgür”ün (Free kelimesinin İngilizce’deki) anlam belirsizliğinden dolayı, insanlar uzun süre alternatif bir ifade arayışına girmiştir ancak hiç kimse uygun bir alternatif bulamamıştır. İngiliz Dili, başka herhangi bir dilden daha fazla sözcüğe ve nüansa sahiptir ancak özgürlükteki gibi “özgür” anlamına gelen basit, belirsizlikten uzak bir sözcüğü içermemektedir , “zincirsiz” anlamca en yakın gelen sözcüktür. “Özgür bırakılmış”, “özgürlük” ve “açık” yanlış bir anlama ya da başka bazı dezavantajlara sahiptir.

GNU Yazılımı ve GNU Sistemi

Bütün bir sistem geliştirmek çok büyük bir projedir. Sonuca ulaşmak için, her mümkün olduğunda, özgür yazılımın mevcut parçalarını uyarlamaya ve kullanmaya karar verdim. Örneğin, başlangıçta temel metin biçimlendirici olarak TeX’i kullanmaya karar verdim, GNU için başka bir pencere sistemi yazmak yerine X Window sistemini kullanmaya karar verdim.Bu karardan dolayı, GNU sistemi, tüm GNU yazılımının koleksiyonuyla aynı değildir. GNU sistemi, GNU yazılımı olmayan, kendi amaçları için diğer insanlar ve projeleri tarafından geliştirilen ancak özgür yazılım oldukları için kullanabildiğimiz programları içerir.

Projenin Başlatılması

1984 yılının Ocak ayında MIT’deki görevimden ayrıldım ve GNU yazılımını geliştirmeye başladım. MIT’den ayrılmam gerekliydi, çünkü MIT’nin GNU’nun özgür yazılım olarak dağıtımını kısıtlamasını istemiyordum. Ekipte kalsaydım, MIT bu çalışmayı sahiplenebilirdi ve kendi dağıtım kurallarını dayatabilirdi ve hatta bu çalışmayı özel mülk yazılım paketine dönüştürebilirdi. Çalışmaların sonuçsuz kalmasını ve başarısız olmasını istemiyordum, amacım yeni bir yazılım paylaşım topluluğu oluşturmaktı. Bununla birlikte, o zamanlarda MIT YZ Laboratuvarı’nın başında bulunan Profesör Winston, beni, kibarca laboratuvarın olanaklarını kullanmaya devam etmem yönünde teşvik etti.

İlk Adımlar

GNU Projesi’ne başlamadan kısa süre önce, VUCK olarak da bilinen Özgür Üniversite Derleyici Kiti’ni duymuştum. (Hollanda dilinde “özgür”e ilişkin kelime V harfi ile yazılmaktadır) Bu, C ve Pascal dahil olmak üzere çok sayıda dili kontrol etmek ve çok sayıdaki hedef makineyi desteklemek için tasarlanmış bir derleyiciydi. GNU’nun bunu kullanıp kullanamayacağını sormak için yazarına yazdım.Alaycı bir yanıt yazdı, üniversitenin özgür olduğunu ancak derleyicinin özgür olmadığını söyledi. Bu nedenle, GNU projesi için ilk programımın çok-dilli çok platformlu bir derleyici olmasına karar verdim. Tüm derleyiciyi kendi kendime yazma ihtiyacımı önleme umuduyla, Pastel derleyicisine ilişkin kaynak kodu edindim, Pastel derleyicisi, Lawrence Livermore Laboratuarı’nda geliştirilmiş çok-platformlu bir derleyiciydi. Kendisinin de yazılmış olduğu, Pascal’ın sistem programlama dili olarak tasarlanmış genişletilmiş bir sürümünü destekliyordu. Bir C ön ucu [:front-end] ekledim ve Motorola 68000 bilgisayarına yüklemeye başladım. Derleyicinin megabaytlarca yığıt [:stack] alanına ihtiyaç duyduğunu ve mevcut 68000 Unix sisteminin yalnızca 64k’ya izin verdiğini fark ettiğimde bundan vazgeçtim. Daha sonra, Pastel derleyicisinin tüm giriş dosyasını bir sözdizim ağacına ayrıştırarak çalıştığını, tüm sözdizim ağacını bir “yönerge” zincirine dönüştürdüğünü ve daha sonra, herhangi bir depolama alanını boşaltmaksızın tüm çıkış dosyasını ürettiğini fark ettim. Bu noktada, yeni bir derleyici yazmam gerektiği sonucuna vardım. Bu yeni derleyici şimdi GCC olarak bilinmektedir; içinde Pastel derleyicisi kullanılmamaktadır ancak yazmış olduğum C ön ucunu uyarlamayı ve kullanmayı sağladım. Ancak bunu birkaç yıl sonra gerçekleştirdim; ilk olarak GNU Emacs üzerinde çalıştım.

GNU Emacs

1984 yılının Eylül ayında GNU Emacs üzerinde çalışmaya başladım ve 1985 yılında, GNU Emacs kullanılabilir olmaya başladı. Bu, düzenleme işlemleri için Unix sistemlerini kullanmaya başlamamı olanaklı kıldı; vi ya da ed’i kullanmayı öğrenme konusunda bir ilgim yoktu, o zamana kadar düzenleme işlemlerimi diğer makineler üzerinde gerçekleştirmiştim.

Bu noktada insanlar, GNU Emacs’i kullanmayı istediler, bu durum da GNU Emacs’in nasıl dağıtılacağı sorusunu gündeme getirdi. Tabi ki, GNU Emacs’i,kullandığım MIT bilgisayarındaki ftp sunucusuna, anonim olarak erişilebilecek şekilde koydum. (Bu bilgisayar, başka bir deyişle, prep.ai.mit.edu, bu nedenle temel GNU ftp dağıtım bölgesi haline geldi; birkaç yıl sonra devreden çıkarıldıktan sonra, alan adını yeni sunucumuza yönlendirdik) Ancak, bu zaman zarfında, ilgili insanların birçoğu İnternette değildi ve ftp ile bir kopyasını alamadı. Bu nedenle, şu soru ortaya çıktı: Onlara ne diyecektim? Şöyle diyebilirdim: “Ağ üzerinde olan ve sizin için bir kopya alacak olan bir arkadaşınızı bulun”. Ya da orijinal PDP-10 Emacs’ta yaptığımı yapacaktım: “Bana bir bant ve SASE gönderin ve ben de size üzerinde Emacs olacak şekilde bunu size geri göndereyim”. Ama işsizdim ve özgür yazılımdan para kazanmanın yollarını arıyordum. Bu nedenle, $150 karşılığında isteyen herkese bir bant gönderebileceğimi anons ettim. Bu şekilde, özgür yazılım dağıtım işine başladım, böylece günümüzde Linux-tabanlı GNU sistemlerini dağıtan firmalar için öncü oldum.

Bir Program Her Kullanıcı İçin Özgür Müdür?

Bir program yazarının elinden çıktığında özgür yazılımsa bu, programın kopyasına sahip herkes için mutlaka özgür yazılım olacağı anlamına gelmez.Örneğin, kamuya ait yazılım (telif hakkına sahip olmayan yazılım) özgür yazılımdır; ancak herkes bunun özel mülk değiştirilmiş bir sürümünü oluşturabilir. Benzer şekilde, birçok özgür program telif hakkına sahiptir ancak değiştirilmiş özel mülk sürümlere izin veren basit izin lisansları altında dağıtılmıştır.Bu problemin faydacı örneği, X Window Sistemi’dir. Bu sistem, MIT tarafından geliştirilmiş ve bir izin lisansıyla özgür yazılım olarak yayınlanmış olup,çeşitli bilgisayar firmaları tarafından benimsenmiştir. Bu firmalar, yalnızca ikili [:binary] biçimde özel mülk Unix sistemlerine X’i eklemiş ve aynı anlaşma ile kapsanmıştır. X’in bu kopyaları, bundan böyle Unix’in olduğundan daha fazla özgür yazılım değildir. X Window Sistemi’nin geliştiricileri bunu bir problem olarak görmemişler , bu durumun meydana gelmesini beklemişlerdir. Hedefleri özgürlük değildi, yal- nızca “başarıydı” ve başarı “fazla sayıda kullanıcıya sahip olmak” olarak tanımlanmaktaydı. Kullanıcıların özgürlüğe sahip olup olmamaları umurlarında değildi, tek istedikleri çok sayıda kullanıcıya sahip olmaktı. Bu durum, “Bu program özgür mü?” sorusuna farklı yanıtlar veren iki farklı özgürlük derecesi hesaplama yönteminin olduğu bir paradoks durumuna neden olmaktadır. MIT sürümünün dağıtım terimleri cinsinden sağlanan özgürlük derecesini esas alarak değerlendirme yaptıysanız, X’in özgür yazılım olduğunu söyleyebilirsiniz. Ancak, X’in ortalama kullanıcısının özgürlüğünü ölçerseniz, o zaman özel mülk yazılım olduğunu söylemeniz gereklidir. Birçok X kullanıcısı, Unix sistemleriyle birlikte verilen özel mülk sürümleri kullanmaktadır, özgür sürümü kullanmamaktadır.

Bu yazı dizisi  “EMO” tarafından basılan Richard Stallman’ın “Özgür Yazılım,Özgür Toplum” kitabından alınmıştır.

Comments