Richard Stallman ve GNU Projesi

Bu konuyu okuyanlar

realmanager

Profesör
Katılım
31 Eki 2009
Mesajlar
3,927
Reaksiyon puanı
94
Puanları
0
NOT: Yazı uzun olduğu için tarayıcınız birkaç saniye cevap vermeyebilir. Şaşırmayın :)
Arkadaşlar bu konunun tamamını okumayanlar bir daha benimle özgür yazılım ve açık kaynak tartışmasına girmesinler.
Bilgisayar ve yazılımlardaki Stallman'in içinde bulunduğu bu kırılma noktaları şu an bu foruma üye 100.000 küsür kişi, daha da geniş çapta bu ülke, en geniş çapta bu dünyadaki milyonlarca bilgisayar kullanıcısının hayatını etkiledi. Tarih dersinde okutulmalı. :)

stallman.jpg


Richard Stallman’ın Özgür Yazılım Özgür toplum: Seçilmiş Makaleler kitabından çevirdiğim ilk makale olan “GNU Projesi” ni sizlerle paylaşmak istiyorum:


1.GNU Projesi*
İlk Yazılım Paylaşımı Topluluğu

1971 yılında MIT Yapay Zeka laboratuvarında çalışmaya başladığımda yıllardır varlığını sürdüren bir yazılım paylaşımı topluluğunun parçası oldum. Yazılım paylaşımı bizim özel topluluğumuzla sınırlı değildi;Nasıl yemek tariflerinin paylaşımı aşçılığın tarihi kadar eski ise, yazılım paylaşımı da bilgisayarların tarihçesi kadar eski idi. Ama biz bundan fazlasını yaptık.
Yapay Zeka (AI) Laboratuvarı, laboratuvar çalışanlarının o devrin en büyük bilgisayarlarından biri olan PDP-10 için tasarlayıp assambler dili ile yazdıkları Uyumsuz Zaman Paylaşım Sistemi (ITS) adı verilen zaman paylaşım programını kullanıyordu. Bu topluluğun bir üyesi, bir AI Laboratuvarı çalışanı sistem hackerı olarak benim işim bu sistemi geliştirmekti.
Yazılımımıza “Özgür Yazılım” adını koymadık çünkü o zamanlar bu terim henüz yoktu; ama yazılımımız tam anlamı ile buydu. Başka üniversitelerden veya şirketlerden gelenler bir yazılımı uyarlamak ve kullanmak istediğinde buna memnuniyetle müsaade ettik. Size yabancı gelen ilginç bir program kullanan birisini gördüğünüzde okumak, değiştirmek ve parçalayıp yeni bir program yapabilmek için programın kaynak kodunu görmeyi isteyebilirdiniz.
Hacker kelimesinin “Güvenlik İhlalcisi” olarak kullanılması, kitle iletişim araçlarının bir kısmı tarafından yapılan bir hatadır. Biz hackerlar bu türlü bir kullanımı tanımıyoruz ve bu kelimeyi “Program yazmayı seven ve bu konuda zekasını sergilemekten hoşlanan kişi” anlamında kullanmaya devam edeceğiz.1


Topluluğun Dağılması

1980′lilerin başında AI Laboratuvarı hacker topluluğunun dağılmasını müteakip PDP-10 bilgisayarlarının kullanımdan kaldırılması ile tablo hızlı bir biçimde değişti. 1981 yılında bir yan şirket olan Symbolics’in AI Laboratuvarındaki neredeyse tüm hackerları işe almasıyla mevcudu azalan topluluk kendini devam ettiremez hale geldi. (Steven Levy‘nin yazdığı Hackers adlı kitap, topluluğun genel tablosunu ilk ağızdan anlatmanın yanı sıra bu olayı da tasvir eder.) AI Laboratuvarına 1982 yılında yeni bir PDP-10 alındığında bu bilgisayarın yöneticileri yeni makinede ITS yerine Digital’in özgür olmayan zaman paylaşımı sistemini kullanmaya karar verdiler.
Çok geçmeden Digital, PDP-10 serisi bilgisayarların üretimini durdurdu. Mimarisi 1960′lı yıllarda güçlü ve şık olan bu makine, doğal olarak 1980′lilerde kullanımı artan geniş adres yeri ihtiyacına karşılık veremedi. Bu da ITS’yi meydana getiren tüm programların modasının geçmesi anlamına geliyordu. Bu olay, ITS’nin tabutuna son çiviyi çaktı; 15 yıllık emek buharlaştı gitti.
O devrin VAX ve 68020 gibi modern bilgisayarlarının kendi işletim sistemleri vardı ve bunların hiç biri özgür değildi;Çalıştırılabilir bir kopyasını alabilmek için bir beyan imzalamanız gerekiyordu.
Bu da demek oluyordu ki bilgisayar kullanmanın ilk adımı komşunuza yardım etmeyeceğinize dair söz vermekti. Topluluğun kendi arasında yardımlaşması yasaktı. Sahipli yazılımcıların koyduğu kural şu idi: “Komşunla paylaşırsan, korsansın. Değişiklik yapmak istiyorsan yapmamız bize yalvarırsın”
Sahipli yazılım toplumsal sisteminin-yazılımları paylaşmanıza ve değiştirmenize izin vermeyen sistem-toplum karşıtı, gayrı ahlaki ve kısaca yanlış olduğu fikri bazı okuyucuları şaşırtabilir. Ama toplumu bölüp kullanıcılarını çaresiz bırakan bir sisteme başka ne denebilir ki? Bu fikri şaşırtıcı bulan okurlar belki sahipli yazılım toplumsal sistemini doğal olarak kabul etmekte belki de yargılarına sahipli yazılım endüstrisinin önerdiği terimlerle varmaktadırlar. Yazılım yayıncıları,toplumu meseleye tek bir bakış açısı ile bakılabileceğine ikna etmek için uzun süre sıkı çalışmışlardır.
Yazılım yayıncıları “haklarını güçlendirmek”ten veya “korsanlığı durdurmak”tan bahsettiğinde “söyledikleri şey” başkadır. Bu ifadelerin verdiği gerçek mesaj sorgulamadan kabul edilen varsayımlarıdır; Toplum bunları eleştirmeden kabul etmelidir. Öyleyse buna bir göz atalım.
Bu varsayımlardan biri, yazılım şirketlerinin yazılımlarına sahip olmak gibi sorgulanamayan doğal bir hakka sahip olduğu ve bu yüzden kullanıcılar üstünde güçleri bulunduğudur. (Bu doğru olsaydı, topluma ne kadar zarar verirlerse versinler itiraz edemezdik) Amerikan Anayasası ve hukuki gelenekler bu bakış açısını reddeder; Telif hakkı bir doğal hak değil, kullanıcının doğal hakkı olan kopyalama hakkını kısıtlayan suni ve devlet tarafından dayatılan bir tekeldir.
Bir diğer sorgusuz sualsiz varsayım yazılım hakkındaki tek önemli şeyin bize hangi işleri yapmamızı sağladığıdır. Bu yüzden biz bilgisayar kullanıcılarının ne tür bir toplumumuz olmasına müsaade edildiğine önem vermememiz gerektiğidir.
Üçüncü varsayım ise şirketlerin kullanıcı üzerinde uyguladıkları güç olmasa adam gibi yazılımlara(veya şu veya bu işi yapmak için gereken programlara) asla sahip olamayacağımızdır. Bu varsayım ,özgür yazılım hareketinin yazılımlara zincir vurmadan bir sürü faydalı yazılıma sahip olabileceğimizi göstermesinden önce inandırıcı olabilirdi.
Bu varsayımları kabul etmeyi reddediyorsak ve kullanıcıları ilk sıraya koyarak bu konuyu sıradan kamuoyu ahlakı ile yargılıyorsak çok değişik yerlere varırız. Bilgisayar kullanıcıları programları kendi ihtiyaçlarına uydurmakta özgür olmalıdır çünkü diğer insanlara yardım etmek toplumun temelidir.


Kesin Ahlaki Bir Seçim

Topluluğum olmayınca eskisi gibi devam etmek imkansızdı. Bu yüzden kesin ahlaki bir seçim ile yüz yüze geldim.
Seçeneklerden kolay olanı, hacker dostlarıma yardım etmeyeceğime dair beyanı imzalayarak sahipli yazılım dünyasına katılmaktı. Muhtemelen, bu beyan anlaşmaları ile dağıtılan ve insanların dostarına ihanet etmesi için yaratılan baskıyı artıran yazılımlar da geliştirecektim.
Bu yolla iyi para kazanabilirdim ve program yazarak kendimi de eğlendirebilirdim. Ama şundan emindim ki kariyerimin sonuna geldiğimde insanları birbirinden ayıran duvarlar örmekle geçirdiğim yıllara bakıp dünyayı daha kötü bir yer haline getirdiğimi hissedecektim.
Birileri bana ve MIT AI Laboratuvarına yazıcı denetleme programının kaynak kodunu vermeyi reddedince bu anlaşmanın bitmekte olduğunu anladım.(Programdaki bazı özelliklerin eksiklikliği, yazıcının kullanımını oldukça sinir bozucu bir hale sokuyordu.)Kendimi, beyan anlaşmalarının masumiyetine inandıramazdım. Bu kişi kaynak kodunu bizimle paylaşmak istemediğinde çok öfkelenmiştim ve tükürdüğümü yalayıp aynı şeyi başkalarına yapamazdım.
Kestirme ama nahoş olan diğer seçenek ise bilgisayar alanını bırakmaktı. Bu şekilde yeteneklerim kötüye kullanılmazdı ama boşa giderdi. Kullanıcıları böldüğüm ve kısıtladığım konusunda beni kimse suçlayamaz ise de bunların yapılmasına da engel olamayacaktım.
Böylece bir programcının iyi olan için bir şey yapabileceği bir yol aramaya koyuldum. Kendi kendime bir yazılım topluluğunu yeniden hayata döndürebilmek için yazabileceğim programlar olup olmadığını sordum.
Cevap açıktı: ilk başta lazım olan olan şey, bir işletim sistemi idi. Bu, bilgisayar kullanmaya başlamak için elzem olan yazılımdı. Bir işletim sistemi ile bir sürü şey yapabilirdiniz ama onsuz hiç bir şey yapamazdınız. Bir işletim sistemimiz olursa, işbirliği içinde olan bir hackerlar topluluğumuz olabilirdi ve herkesi katılmaya davet edebilirdik. Arkadaşlarını haklarından mahrum etmek için tuzak kurmadan bilgisayar kullanmak niyetinde olan herkesi.
Bir işletim sistemi geliştiricisi olarak bu iş için biçilmiş kaftandım. Başarılı olma garantim yoksa da bu işi yapmak için seçildiğimi anladım. Uyarlaması ve diğer Unix kullanıcılarının geçişi kolay olsun diye Unix’e uyumlu bir sistem yapmayı seçtim. GNU ismi, hacker geleneğine uyarak “GNU Unix Değildir” özyinelemeli cümlesinin baş harflerinin kısaltılmışı olarak seçildi.
İşletim sistemi, kendi başına diğer programları çalıştırmaya yeten kernel(çekirdek) demek değildir. 1970′li yıllarda isminin hakkını veren her işletim sisteminde komut işlemcileri, assemblerlar, derleyiciler, yorumlayıcılar, hata ayıklayıcılar, metin düzenleyicileri, posta programları vs. vardı. ITS’de, Multics’de, VMS’de, Unix’te bunların hepsi vardı. GNU işletim sisteminde de olacaktı.
Daha sonra Hillel’den alıntı olan şu sözleri duydum:
“Kendimden yana değilsem, kim benden yana olur? Sadece kendimden yanaysam ben kimim? Şimdi değilse ne zaman?”
GNU projesine başlama kararı aynı ruhtan kaynaklanıyordu.
Bir ateist olarak dini liderlerin takipçisi olmasam da bazen söyledikleri şeylere hayranlık duyardım.


Özgürlükte olduğu gibi “Özgür”

Özgür yazılım terimi bazen yanlış anlaşılır- Bunun fiyat ile alakası yoktur. Özgürlük ile alakası vardır. Özgür yazılımın tanımı şudur: Bir kullanıcı için herhangi bir program ancak aşağıda aşağıdaki şartları taşıdığı zaman özgür yazılım olur:

  • Programı her hangi bir amaç için çalıştırma özgürlüğüne sahipseniz
  • Programı ihtiyaçlarınıza göre değiştirme özgürlüne sahipseniz.(Bu özgürlüğün fiiliyatta etkin hale gelebilmesi için kaynak koduna erişebilmeniz gerekir. Aksi halde kaynak kodunu görmeden program üzerinde değişiklik yapmak oldukça zordur.)
  • Programın kopyalarını bedavaya veya belli bir ücret karşılığında dağıtma özgürlüğüne sahipseniz
  • Topluluğun sizin yaptığınız katkılardan faydalanabilmesi için programın değiştirilmiş kopyalarını dağıtma özgürlüğüne sahipseniz
Özgür sözcüğü, fiyata değil özgürlüğe karşılık geldiğine göre programın kopyalarını satmanın özgür yazılım ile ters düşen tarafı yoktur. Aksine, kopyaları satma özgürlüğü elzemdir. CD ROM’larda satılan özgür yazılım derlemeleri toplum için önemlidir ve bunları satmak, özgür yazılım geliştirmek için harcanan bütçeyi artırmanın önemli bir yoludur. Öyleyse insanların bu derlemeler içinde yer veremediği programlar özgür yazılım değildir.
“Free” kelimesinin iki anlamlı olması yünden(“bedava” ve “özgür”-Ç.N.) insanlar uzun süre başka alternatifler bulmak için uğraştıysa da hiç biri uygun bir alternatif bulamadı. İngilizce bir sürü sözcüğe sahip olduğu halde “free” sözcüğünün anlamını verecek çift anlamlı olmayan bir sözcükten yoksundur- “unfettered” (serbest) sözcüğü buna en yakın anlama sahiptir. “özgürleşmiş”, “özgürlük” ve “açık” gibi sözcükler ya yanlış anlama ya da başka dezavantajlara sahiptir.


GNU Yazılımı ve GNU Sistemi

Ekisiksiz bir sistem geliştirmek oldukça büyük bir projedir. Buna ulaşabilmek için mümkün olan tüm özgür yazılım parçalarını kullanmaya ve onları uyarlamaya karar verdim. İşin en başlarında temel metin biçimleyicisi olarak TeX’i kullanmaya karar verdim; Birkaç yıl sonra GNU için yeni bir pencere sistemi yazmaktansa X pencere sistemini kullanmaya karar verdim.
Bu karardan ötürü GNU sistemi, bir GNU yazılımları derlemesinden farklıdır. GNU sistemi, GNU yazılımı olmayan ve diğer kişi ve projeler tarafından kendi amaçları için geliştirilmiş programlar içerir ama bunları özgür yazılım oldukları için kullanabiliriz.


Projeye Başlarken

1984 haziranında MIT’deki işimi bırakıp GNU yazılımını yazmaya başladım. GNU’yu özgür yazılım olarak dağıtmama engel olmasınlar diye MIT’ten ayrılmam gerekliydi. Orada çalışmaya devam etseydim MIT, çalışmamı sahiplenmeye çalışacak, kendi dağıtım şartlarını dayatacak ve hatta onu sahipli bir yazılıma dönüştürecekti. Oldukça büyük bir çalışmanın amaçlarından-yeni bir yazılım paylaşımı topluluğu kurma amacından- sapmasını izlemeye hiç niyetim yoktu.
Ama Prof. Winston, MIT AI Laboratuvarının yöneticisi, nazik bir biçimde laboratuvar tesislerini kullanmaya devam etmemi istedi.


İlk Adımlar

GNU projesine başlamadan hemen önce VUCK olaran tanınan(Hollandaca “Özgür” kelimesine kaşılık gelen sözcük “V” ile yazılır) Özgür Üniversite Derleyici Takımı’ndan bahsedildiğini duydum. Bu derleyici, C dahil pek çok dil üzerinde çalışmak için çoklu bilgisayarlar hedeflenerek tasarlanmıştı. Programın geliştiricisine GNU’nun bu programı kullanıp kullanamayacağını sordum.
Verdiği cevap “Üniversite özgürdür ama derleyici değil” şeklinde evlere şenlik bir cevaptı. Böylece GNU projesinde yazmam gereken ilk programın çok dilli ve çok platformlu bir derleyici olması gerektiğine karar verdim.
Tüm bir derleyiciyi kendi başıma yazmaktan kurtulacağımı umarken Lawrence Livermore Laboratuvarında geliştirilen çok platformlu Pastel derleyicisinin kaynak kodunu buldum. Pascal’ın geliştirilmiş versiyonuyla yazılan ve bu dili destekleyen derleyici, bir sistem programlama dili olmak üzere tasarlanmıştı. Buna bir C önucu ekledim ve Motorola 68000 bilgisayarına uyarlamaya başladım. Ama bunun için megabaytlarca belleğe ihtiyacım olduğunu ve 68000 Unix bilgisayarının sadece 64k belleği olduğunu farkettiğimde vazgeçmek zorunda kaldım.
Sonra Pastel derleyicisinin girdi dosyasını sentaks ağacına ayrıştırdığını, tüm sentaks ağacını bir talimatlar zincirine dönüştürdüğünü ve çıktı dosyasını oluşturduğunu ve tüm bunları yaparken bellek yeri boşaltmadan işlem yaptığını anladım. Bu noktada derleyiciyi sıfırdan yazmam gerektiği sonucuna vardım. GCC olarak bilinen bu derleyicide Pastel derleyicisinin hiçbir parçası kullanılmadı ama kendi yazmış olduğun C önucunu uyarlamayı başarmıştım. Ama bu birkaç yıl sonra olacaktı; Önce GNU Emacs üzerinde çalıştım.


GNU Emacs

1984 Eylülünde GNU Emacs üzerinde çalışmaya başladım ve 1985′in başlarında Emacs kullanılabilir hale gelmeye başladı. Bu sayede düzenleme için Unix sistemlerini kullanmaya başladım, o vakte kadar düzenlemelerimi vi ve ed yazılımlarını öğrenmeye ilgi duymaksızın başka tip makineler üzerinde yapmıştım.
Bu noktada insanların GNU Emacs yazılımını kullanmak istemesi bu yazılımı nasıl dağıtacağım konusunun gündeme gelmesine sebep oldu. Tabi ki MIT’de kullandığım bilgisayarın anonim ftp sunucusuna koymuştum. (prep.ai.mit.edu adlı bilgisayar böylece ana GNU ftp dağıtım sitesi oldu; Birkaç yıl sonra bu bilgisayar devreden çıkarılınca aynı adı yeni ftp sunucumuza taşıdık.) Ama bu sıralarda çoğu kullanıcı internete bağlı değildi ve ftp yolu ile bir kopya edinemezdi. Mesele şuydu: Onlara ne cevap verecektim?
“İnternete bağlı olan bir arkadaş bulun, o size bir kopyasını indirsin” diyebilirdim. Veya orijinal PDP-10 Emacs programı için yaptığım şeyi yapıp “Bana bir teyp bandı gönderin bende üzerine Emacs’ı kaydedip size geri postalayayım” diyebilirdim. Ama işsizdim ve özgür yazılımdan para kazanmanın yollarını arıyordum. Daha sonra 150$ karşılığında isteyen herkese Emacs yüklü teyp bandı göndereceğimi duyurdum. Bu şekilde bugün tüm Linux tabanlı GNU sistemlerinin dağıtımını yapan şirketlere öncülük ettim.


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

Bir programın yaratıcısının elinden çıktığı zaman özgür yazılım olması bir kopyasına sahip olan tüm kullanıcılar için de özgür olacağı anlamına gelmez. Mesela kamuya açık olan yazılımlar(telif hakkı olmayan yazılımlar) özgür yazılımlardır: Ama birileri bunları değiştirip sahipli yazılım haline getirebilir. Aynı şekilde çoğu özgür programın telif hakkı vardır ama sahipli program haline gelmelerine izin veren basit lisanslarla dağıtılırlar.
Bu sorunun en çarpıcı örneği X Pencere Sistemidir. MIT’de geliştirilen ve basit izin lisansı altında dağıtılan bu yazılım çok geçmeden pek çok bilgisayar şirketi tarafından sahiplenildi. Şirketler X Pencere Sistemini sahipli Unix sistemlerine kaynak kodsuz bir biçimde dahil ettiler ve beyan anlaşması kapsamına soktular. X’in bu kopyaları Unix’in olduğundan daha “özgür” bir yazılım değildi artık.
X Pencere Sistemi’nin geliştiricileri bunu sorun olarak görmediler-Zaten bunun olmasını umuyorlardı ve bunu amaçlamışlardı. Onların amacı özgürlük değil “daha çok kullanıcıya sahip olma” şeklinde tanımlanan “başarı” idi. Kullanıcıların özgür olmasını değil onların sayılarının çok olmasını önemsediler.
Bu da “Bu program özgür mü” sorusuna özgürlüğün miktarının ölçülmesi için farklı iki farklı yöntemin farklı cevaplar verdiği çelişkili bir durum oluşturuyordu. MIT’nin dağıtım şartlarının sağladığı özgürlüğü göz önüne alarak değerlendirdiğinizde X’in özgür yazılım olduğunu söyleyebilirdiniz. Ama ortalama kullanıcının özgürlüğünü değerlendirdiğiniz zaman onun sahipli bir yazılım olduğunu söylemeniz gerekirdi. Çoğu X kullanıcısı, özgür versiyonu değil, Unix sistemleriye gelen sahipli versiyonu kullanıyordu.


Copyleft ve GNU GPL

GNU’nun amacı kulanıcılara özgürlük vermektir, popüler olmak değil. Öyleyse GNU yazılımlarının sahipli yazılımlara dönüşmesini önleyecek dağıtım şartlarına ihtiyacımız vardı. Kullandığımız yönteme Copyleft diyoruz.
Copyleft, telif hakları yasasını kullanır ama onu ters çevirerek alışılmış amacının tersine kullanır; Yazılımları özelleştirmenin aracı olmak yerine onu yazılımları özgür olarak muhafaza etmenin yöntemi haline getirir.
Copyleft’in ana fikri şudur: Herkese programları çalıştırma, kopyalama, değiştirme ve değiştirilmiş versiyonları dağıtma izni veriririz-ama kendi kısıtlamalarını eklemelerine izin vermeyiz. Böylece programın bir kopyasına sahip olan herkese özgür yazılımı tanımlayan olmazsa olmaz özgürlükler garanti edilmiş olur; Bunlar devredilmez haklar haline gelirler.
Etkin bir copyleft için değiştirilmiş versiyonların da özgür olması gerekir. Bu, çalışmalarımızı temel alan çalışmaların da yayınlandığında topluluğumuza açık olmasını güvence altına alır. Piyasada programcı olarak çalışan kişiler GNU yazılımlarını geliştirmeye gönüllü olduğunda işverenlerinin onlara “yaptığın bu değişiklikleri paylaşamazsın çünkü biz bunu programın sahipli versiyonunda kullanacağız” demesini engelleyen Copyleft’tir.
Programın tüm kullanıcılarının özgürlüğünü güvence altına almak istiyorsak programda değişiklik yapmanın özgür olması elzemdir. X Pencere sistemini özelleştiren şirketler programı kendi sistem ve donanımlarına uyarlamak için çoğu kez bazı değişiklikler yapmıştır. Bu değişiklikler X Pencere sisteminin büyük boyutu ile karşılaştırıldığında küçük olsa da önemsiz değildir. Eğer programda yapılan değişiklikler kullanıcının özgürlüğünü inkar etmemim bahanesi olsaydı, bu bahaneden doğan avantajı kullanmak herhangi birisi için kolay olurdu.
Benzer bir mesele de özgür programı özgür olmayan bir program ile birleştirerek kullanma ile ilgilidir. Böyle bir birleşimden doğan şey tartışma götürmez biçimde özgür olmayan bir şeydir: Bileşimin özgür olmayan parçasında eksik olan şey, tamamında da eksik demektir. Böyle bileşimlere izin verilerek açılacak delik gemiyi batırmaya yeter. Öyleyse Copyleft’in yapması gereken şey bu deliği tıkamaktır:copyleftli bir yazılıma eklenen veya onunla birleştirilen yazılım da sonuçta oluşan birliğin Copyleftli olmasını sağlayacak biçimde olmalıdır.
Pek çok GNU yazılımı için kullandığımız Copyleft biçimi GNU GPL olarak kısaltılan GNU Genel Kamu Lisansı’dır. Belli şartlarda kullanılan başka çeşit Copyleft’lerimiz de vardır. GNU el kitapları da Copyleft’lidir ama daha basit lisanslar kullanırlar. Çünkü GNU GPL’in karmaşıklığı el kitapları için lüzumsuzdur.
1984 veya 1985 yılında don Hopkins (hayalgücü kuvvetli bir dost) bana bir mektup gönderdi. Zarfın üstüne “Copyleft-Her hakkı saklıdır” gibi komik sözler yazmıştı. “Copyleft” sözcüğünü o zamanlar geliştirmekte olduğum dağıtım anlayışına isim olarak seçtim.


Özgür Yazılım Vakfı

Emacs kullanımına olan ilgi artarken, başkaları da GNU projesine dahil oldu ve yeniden kaynak arayışına başlamanın zamanı geldiğine karar verdik. Böylece 1985 yılında yazılım geliştirmeye katkı sağlayan vergiden muaf bir hayır kurumu olan Özgür Yazılım Vakfı’nı kurduk. Özgür Yazılım Vakfı(FSF) Emacs teyp bandı dağıtım işini de üstlendi; daha sonra bunlara diğer özgür yazılımiarı da ekleyerek(GNU olsun olmasın) ve özgür el kitaplarını satarak bu işi genişletti.
FSF bağış kabul etmekteyse de gelirinin çoğu özgür yazılım satışlarından ve bunlarla ilgili hizmetlerden gelir. Bugün, kaynak kodu CD’leri, Çalıştırılabilir yazılım içeren Cdler, (değiştirme ve yeniden dağıtma özgürlüğüne sahip)güzel basımlı el kitapları, (tercih ettiğiniz platforma göre inşa ettiğimiz)lüks dağıtımlar satmaktadır.
Özgür Yazılım Vakfı çalışanları pek çok GNU yazılım paketi yazıp bunlara destek hizmeti vermektedir. Bunların en göze batan iki örneği C kütüphanesi ve kabuğudur. GNU C kütüphanesi, GNU/Linux sisteminde kullanılan her programın Linux ile haberleşmesini sağlayan şeydir. Özgür Yazılım Vakfı çalışanlarından Roland McGrath tarafından geliştirilmiştir. Pek çok GNU/Linux yazılımının kulladığı kabuk olan BASH(Bourne Again Shell) FSF çalışanı Brian Fox tarafından geliştirilmiştir.
Bu programlara kaynak sağlamamızın nedeni, GNU projesinin sadece araçlar veya geliştirme ortamından ibaret olmaması idi. Amacımız eksiksiz bir işletim sistemi idi ve bu programlar amacımıza ulaşmak için gerekliydi.
“Bourne Again Shell” programının adı, Unix sistemlerinin klasik kabuk programı olan “Bourne Shell” programına atıfta bulunan bir şakadır.


Özgür Yazılım Desteği

Özgür yazılım felsefesi, geniş çaplı ticaret pratiğini reddetse de ticarete karşı değildir. İş dünyası kullanıcıların özgürlüğüne saygı gösterdiği sürece başarılarının devamını dileriz.
Emacs’ın kopyalarını satmak bir çeşit özgür yazılım ticaretidir. FSF bu işi üstlenince ekmeğimi kazanmak için başka bir yol bulmam gerekti. Geliştirdiğim özgür yazılımlarla ilgili hizmetler verecektim. Bu, GNU Emacs ile nasıl programlama yapılacağını, GCC’nin nasıl yapılandırılacağını ve çoğunlukla GCC’nin yeni platformlara uyarlanmasını öğretmeyi içeriyordu.
Bugün bu çeşit özgür yazılım işlerini bir çok şirket yapmaktadır. Kimileri CD-ROM üzerinde yüklü özgür yazılım derlemeleri satmakta, diğerleri sorulara cevap vermekten, yazılım hatalarını düzeltmeye ve yazılımlara büyük çaplı yeni özellikler ekleme gibi geniş yelpazeye yayılan hizmetler vermektedir. Hatta yeni özgür yazılım ürünlerini piyasaya süren şirketleri bile görüyoruz.


Teknik Amaçlar

GNU’nun temel amacı özgür yazılımdı. GNU’nun Unix’e teknik bir üstünlüğü olmasa da kullanıcıların işbirliği yapmasına izin vermek gibi toplumsal bir üstünlüğü vardı, kullanıcıların özgürlüğüne saygılı olmak gibi ahlaki bir üstünlüğü vardı.
Ama bilinen iyi standartları işimize uygulamamız oldukça doğaldı-Örneğin veri yapılarının dinamik olarak keyfi sabit limitlere göre atanması ve gerektiğinde 8-bitlik kodların elden geçirilmesi gibi.
Ayrıca 16-bitlik makinelere destek vermemeye karar vererek (o zamanlar, GNU sistemi bittiğinde 32-bitlik makinelerin standart hale geleceği bariz idi) Unix’in düşük hafızaya odaklanmasını reddettik ve 1 megabaytı geçmediği sürece hafıza kullanımını azaltacak hiçbirşey yapmayacaktık. Çok büyük boyutlu dosyaların işlenmediği programlarda programcıları tüm girdi dosyasını çekirdeğe yazıp I/O konusunda endişe etmeden girdi dosyasının içeriğini tarama konusunda teşvik ettik.
Bu kararlar, çoğu GNU programlarının Unix sistemindeki eşdeğer programlarını aşmasını sağladı.


Bilgisayar Bağışları

GNU projesinin itibarı arttıkça insanlar projeye Unix çalıştıran makinalar bağışlamaya başladı. Bunlar oldukça faydalıydı çünkü GNU’nun bileşenlerini geliştirmenin en kolay yolu bunu Unix sistemi üzerinde yapmak ve sistemin bieşenlerini birer birer değiştirmekti. Ama buradan ahlaki bir sorun doğdu: Unix’in kopyasına sahip olmak bizim için doğru muydu acaba?
Unix sahipli bir yazılımdı(hala öyle) ve GNU projesinin felsefesine göre sahipli yazılım kullanmamalıydık. Ama nefsi müdafa sırasında kullanılan şiddetin meşru olmasındaki akıl yürütmeyi burada da kullanarak başkalarının sahipli yazılım kullanmayı bırakmasını sağlayacak bir program yazmak için sahipli yazılım kullanmanın meşru olduğu sonucuna vardım.
Ama bu masum bir kötülük olsa da sonuçta kötülüktü. Bugün elimizde hiç Unix kopyası yok çünkü onların yerine özgür işletim sistemlerini getirdik. Makinelerin işletim sistemini değiştiremeseydik onun yerine makineyi değiştirirdik.


GNU Görev Listesi

GNU projesi ilerledikçe, gittikçe artan sayıda sistem bileşeni bulundukça veya geliştirildikçe eksikliklerimizi listelemek faydalı hale geldi. Bunu eksik kalan parçaları yazacak programcıları işe almak için kullanacaktık. Bu liste GNU Görev Listesi diye bilinmeye başladı. Unix sistem bileşenlerinin yanısıra eksiksiz bir işletim sisteminin sahip olması gereken çeşitli yazılımları da listeledik.
Bugün GNU görev listesinde pek az Unix bileşeni kalmıştır. Çok elzem olmayan bazı bileşenler dışında bütün işler tamamlanmıştır. Ama liste, “uygulamalar” dediğimiz projelerle doludur. Dar bir kullanıcı grubundan fazlasının ilgisini çeken programları işletim sistemine dahil etmek her zaman faydalıdır.
Listede oyunlar bile vardı ve bu en başından beri böyleydi. Unix’te oyunlar vardı ve doğal olarak GNU’da da olmalıydı. Ama oyunlar için uyumluluğun sorun teşkil etmemesi nedeni ile Unix’te var olan oyunların listesini takip etmedik. Bunun yerine kullanıcıların sevebilecekleri geniş bir oyun yelpazesini listemize dahil ettik.


GNU Kütüphane GPL(LGPL)

GNU C kütüphanesi GNU Kütüphane Genel Kamu Lisansı adı verilen ve kütüphanenin sahipli yazılımlar ile bağıntı kurmasına izin veren özel bir Copyleft biçimi kullanır. Bu istisnanın nedeni nedir?
Bu bir prensip meselesi değildir, bizim kodlarımızı içeren sahipli programlarının bizim adımızı da taşıması gerektiğini söyleyen bir prensip yoktur. (Bizimle paylaşılmayacağı belli olan bir projeye neden katkıda bulunalım?) C kütüphanesi veya başka herhangi bir kütüphane için LGPL kullanmak bir strateji meselesidir.
C kütüphanesi kapsamlı bir iş yapar; her sahipli sistem veya derleyici C kütüphanesi ile gelir. Öyleyse C kütüphanemizi sadece özgür yazılımın hizmetine vermek özgür yazılıma bir avantaj sağlamaz, sadece kütüphanemizin kullanımı için caydırıcı olur.
Bu duruma istisna teşkil eden tek bir sistem vardır; GNU sisteminde(ve GNU/Linux’ta) GNU C kütüphanesi tek C kütüphanesidir. GNU C kütüphanesinin dağıtım şartları GNU sistemi için sahipli bir yazılım derlemenin mümkün olup olmadığını belirler. GNU sistemi üzerinde sahipli yazılımların bulunmasına izin vermenin ahlaki bir sebebi yoktur, ama bunu izin vermemek, satratejik olarak özgür yazılımların geliştirilmesini teşvik etmekten çok GNU sisteminin kullanımı için caydırıcı olur.
Bu yüzden C kütüphanesi için Kütüphane GPL’i kullanmak iyi bir stratejidir. Diğer kütüphaneler için stratejik kararlar her durum için ayrı ayrı gözden geçirilmelidir. Bir kütüphane program yazımına yardımcı olacak özel bir işleve sahipse GPL lisansı altında yayınlamak, kullanımını sadece özgür programlarla sınırlamak, onlara sahipli yazılımlar karşısında avantaj sağlayarak özgür yazılım geliştiricilerine yardım etmenin bir yoludur .
BASH için komut satırı düzenlemesi için geiştirilmiş bir kütüphane olan GNU Readline2‘ı gözönüne alalım. Readline, kütüphane GPL’i ile değil sıradan GNU GPL ile yayınlanmıştır. Bu muhtemelen Readine’ın kullanımını bir miktar azaltmış olsa da bizim için kayıp sayılmaz. Ayrıca Readline’ı kulanabilmek için özgür hale getirilmiş bir uygulama, topluluğumuz için gerçek bir kazanç sayılır.
Sahipli yazılım geliştiricileri, paranın getiriği avantajlara sahiptir, özgür yazılım geliştiricilerinin biribirine avantaj sağlamaya ihtiyacı vardır. Umarım birgün yeni yazılımların yapı taşlarını oluşturacak faydalı modüller sunan ve daha çok özgür yazılımın geliştirilmesine olanak sağlayan doğrultusu sahipli yazılım ile aynı olamayan , GPL kapsamı altında bulunan geniş bir kütüphane kolleksiyonuna sahip oluruz.


Kaşınan Yeri Kaşımak mı?

Eric Raymond der ki: “Her güzel yazılım, yazılım geliştiricinin şahsi bir kaşıntısını kaşımasıyla başlar”. Belki bazen böyle olur ama GNU sisteminin çoğu temel parçası eksiksiz bir işletim sistemine sahip olmak için geliştirilmiştir. Bir plan ve bir vizyon dahilinde geliştirilmiştir, bir güdü dahilinde değil.
Mesela Unix türü sistemler C kütüphanesine ihtiyaç duyduğu için GNU C kütüphanesini geliştirdik, Unix türü sistemler kabuğa ihtiyaç duyduğu için BASH’i geliştirdik, Unix türü sistemler tar programına ihtiyaç duyduğu için GNU tar ı geliştirdik. Kendi geliştirdiğim programlar için de bu böye oldu-GNU C Derleyicisi, GNU Emacs, GDB ve GNU make.
Bazı GNU programları özgürlüğümüze yönelen belli tehditleri bertaraf etmek için geliştirildi. LZW3 patentleri yüzünden topluluğumuzun kaybettiği Compress programının yerini alması için gzip programını geliştirdik. LessTif’i geliştirmek üzere insanlar bulduk, yakın zamanda GNOME ve belli sahipli kütüphanelerden kaynaklanan sorunları belirlemek üzere üzere Harmony projeleri başladı. Şu anda populer sahipli şifreleme yazılımlarının yerini alması için GNU Privacy Guard(GNU Mahremiyet Koruyucusu) programını geliştiriyoruz çünkü kullanıcılar özgürlükle mahremiyet arasında seçim yapmaya zorlanmamalıdır.
Tabi ki bu programları yazan kişiler bu işe ilgi duydular ve kendi ilgi ve ihtiyaçları uğruna pek çok yeni özelliği bu programlara eklediler. Ama bu, programların varoluş sebebi değildir.


Beklenmeyen Gelişmeler

GNU projesinin başlangıcında GNU sistemini tamamlayıp bir bütün olarak yayınlayacağımızı hayal etmiştim. Böyle olmadı.
Sistemin her bileşeni Unix sistemi üzerinde geliştirildiğinden GNU sisteminin tamamlanmasından çok önce her parça Unix sistemi üzerinde ayrı ayrı çalışabiliyordu. Bu programlardan bazıları popüler oldu ve kullanıcılar bunları geliştirdiler ve Unix’in uyumsuz versiyonlarına ve bazen de diğer işletim sistemlerine uyarlamaya başladılar.
Bu süreç programları daha güçlendirdi ve kaynak sağlayıcıların da katkı verenlerin de ilgisini GNU projesine çekti. Ama GNU geliştiricilerinin eksik bileşenleri tek tek yazmak yerine mevcut bileşenleri uyarlamak ve bunlara yeni özellikler eklemek için harcadığı zaman asgari düzeyde çalışabilecek bir sistemin tamamlanmasını birkaç yıl geciktirdi.


GNU Hurd

1990 yılına gelindiğinde GNU sistemi tamamlanmak üzereydi; eksik olan tek temel bileşen çekirdek(kernel) idi. Çekirdeğimizi Mach üzerinde çalışan sunucu işlemleri şeklinde geliştirmeye karar verdik. Mach, Carnegie Melon ve daha sonra Utah Üniversitesinde geliştirilen bir mikro-çekirdekti; GNU Hurd, Mach üzerinde çalışan bir dizi sunucu işlemi(veya “gnu sürüsü”) idi ve Unix çekirdeğinin yaptığı pek çok işi yapıyordu. Çekirdeği geliştirme çalışmalarına başlamamız, Mach’in söz verildiği gibi özgür yazılım haline gelmesini beklememizden dolayı gecikti.
Bu tasarımı seçmemizin sebeplerinden biri işin en zor tarafı gibi görünen kaynak seviyeli bir hata ayıklayıcı olmadan çekirdek programlarının hata ayıklamasını yapmaktan kaçınmak içindi. İşin bu kısmını Mach’te yaptık ve Hurd sunucularının kullanıcı programları olarak hata ayıklamasını GDB ile yapmayı umuyorduk. Ama bunu başarmak oldukça zamanımızı aldı ve birbirine mesaj gönderen çok işlem-kodlu sunucular, hata ayıklamasını daha zor hale getiriyordu. Hurd’ün düzgün bir biçimde çalışmasını sağlamak yıllar aldı.


Alix

En başta GNU çekirdeğinin ismi Hurd olarak düşünülmemişti. Orijinal ismi Alix-o zamanlar sevgilim olan kadının adı- idi.O, bir Unix Sistem yöneticisi idi ve isminin Unix isimlendirme tarzına ne kadar uyumlu olduğunu belirti ve arkadaşlarına şakadan “birisi ismimi çekirdeğe vermeli” dedi. Bir şey demedim ama Alix ismini bir çekirdeğe vererek ona sürpriz yapmak istedim.
Bu böyle devam etmedi . Çekirdeğin ana geliştircisi olan Michael Bushnell (Şimdi Thomas) Hurd ismini tercih etti ve Alix’i çekirdeğin belli bir kısmına karşılık gelecek biçimde yeniden tanımladı. Bu kısım sistem çağrılarını tutup Hurd sunucularına mesaj göndererek onları yerine getirecekti.
Sonunda Alix ile ayrıldık ve o ismini değiştirdi; bundan bağımsız olarak Hurd tasarımı, C Kütüphanesinin sunuculara doğrudan mesaj gönderebileceği şekilde değiştirildi ve Alix bileşeni tasarımdan çıkarak yok oldu.
Ama bu gelişmeler olmadan önce, bir arkadaşı Hurd’ün kaynak kodu içinde Alix ismine rastlamış ve bundan ona söz etmişti. İsim, işe yaramıştı.


Linux ve GNU Linux

GNU Hurd, üretimde kullanmak için hazır değildi. Neyse ki 1991 yılında başka bir çekirdek mevcuttu; Linus Torvalds Unix uyumlu başka bir çekirdek geliştirip Linux ismini vermişti. 1992 civarında Linux’u daha tam olarak bitmemiş GNU sistemi ile birleştirince tamamen özgür olan bir işletim sistemi meydana geldi.(Tabi bu ikisini birleştirmek oldukça esaslı bir işti) bugün Linux sayesinde GNU sisteminin bir versiyonunu çalıştırabilmekteyiz.
Biz bu sistem bileşimine GNU sistemi ve Linux çekirdeğinin bileşimini vurgulamak için GNU/Linux diyoruz.


Gelecekteki Zorluklar

Geniş bir yelpazeye yayılan özgür yazılımları oluşturmadaki yeteneğimizi kanıtladık. Bu, yenilmez ve durudurulmaz olduğumuz anlamına gemez. Pek çok zorluk, özgür yazılımın geleceğini belirsizleştirmektedir; bunlarla başa çıkmak beki de yıllarca sürecek azimli bir uğraş ve sabır gerektirecektir. İnsanların özgürlüklerine değer verdiğinde ve onu kimsenin almasına izin vermedikleri zaman gösterdikleri bir çeşit kararlılık lazım olacaktır.
Bundan sonraki dört kesimde bu zorluklar tarışılacaktır.


Gizli Donanımlar

Donanım üreticileri, donanım ayrıntılarını gizlemeye gitgide daha çok meyletmektedirler. Bu da Linux ve XFree864‘nın yeni donanımları destekleyebilmesi için sürücülerin yazılmasını zorlaştırmaktadır. Şimdi tamamen özgür sistemlerimiz var ama geleceğin bilgisayarlarını destekleyemediğimiz taktirde onları elimizde tutamayacağız.
Bu sorun ile başa çıkmanın iki yolu vardır. Programcılar, donanımları nasıl destekleyeceklerini bulmak için ters-mühendislik yapabilir. Geriye kalanlarımız ise özgür yazılımlar tarafından desteklenen donanımları tercih edebilir; sayımız arttıkça, donanımların gizliliği, kendi kendini mağlup eden bir politika haline gelecektir.
Ters mühendislik zor bir iştir; bu işin üstesinden gelmeye yetecek kadar kararlı programcılarımız olacak mı? Özgür yazılımın bir prensip meselesi olduğu ve özgür olmayan sürücülere hoşgörü gösterilemeyeceği konusunda güçlü bir kamuoyu yaratabilirsek buna cevabımız “evet” olacaktır. Büyük kısmımız özgür sürücüleri kullanabilmek için fazladan para ve zaman harcayacak mıdır? Özgürlüğe kavuşma kararlığımız yaygınlaşırsa buna cevabımız “evet” olacaktır.


Özgür Olmayan Kütüphaneler

Özgür bir işletim sistemi üzerinde çalışan özgür olmayan bir kütüphane, özgür yazılım geliştiricileri için bir tuzak işlevi görür. Kütüphanenin çekici özellikleri yemdir; kütüphaneyi kullanırsanız tuzağa düşersiniz çünkü yazılımınız özgür bir işletim sisteminin parçası olamaz. (Açık konuşacak olursak, programınızı sisteme dahil edebiliriz ama o kütüphane olmadan çalışmaz) Daha da kötüsü sahipli bir kütüphane kullanan bir program popüler olursa diğer masum programcıları da tuzağa çekebilir.
Bu sorunun ilk örneği 1980′li yıllardaki Motif5 araç takımı(toolkit-Ç.N) idi. Henüz ortalıkta özgür işletim sistemi yoksa da sonradan onlar için yaratabileceği sorun barizdi. GNU projesi buna iki şekilde tepki verdi: özgür yazılım projelerine Motif’e destek oldukları kadar özgür X araç takımı programcıklarına da destek olmalarını söyleyerek ve programcılara Motif’in yerini alabilecek bir program yazmalarını söyleyerek. Bu işin tamamlanması yıllar aldı; Hungry Programmers adlı programcı grubu tarafından geliştirilen LessTif’in çoğu Motif uygulamalarını destekleyecek kadar güçlü hale gelebilmesi ancak 1997 yılında mümkün oldu.
1996 ve 1998 yılları arasında KDE masaüstü adlı önemli bir özgür yazılım derlemesinde Qt adı verilen özgür olmayan Grafik Kullanıcı Arabirimi(GUI) araç takımı kütüphanesi kullanıldı.
Özgür GNU/Linux sistemleri KDE’yi kullanamıyordu çünkü kütüphaneyi kullanamıyorduk. Ama özgür yazılıma sadık kalmak konusunda kararsız olan bazı ticari GNU/Linux dağıtıcıları yetenekleri yüksek fakat özgürlüğü az olan bir sistem sistem yaratarak KDE’yi sistemlerine eklediler. KDE grubu insanların Qt kullanmasını etkin bir biçimde teşvik ediyordu ve milyonlarca yeni linux kullanıcısının aklına bunun sorun olabileceği gelmedi. Durum vahim gibi gözüküyordu.
Özgür yazılım topluğu bu soruna iki şekilde tepki verdi:GNOME ve Harmony
GNOME(Gnu Ağ Nesne Modeli Çevre Ortamı) GNU’nun masaüstü projesi idi. 1997 yılında Miguel Icaza tarafından başlatılan ve Red Hat Software’in desteği ile geliştirilen GNOME benzer bir masaüstü imkanlarını yalnızca özgür yazılımları kulanarak sağlamak üzere yola koyulmuştu. C++ dışında pek çok programlama dilini desteklemek gibi teknik avantajları da vardı. Ama ana amacı özgürlüktü: Özgür olmayan hiçbir yazılımı kullanmamak.
Uyumlanabilir bir kütüphane olan Harmony KDE yazılımarını Qt’yi kullanmadan çalıştımak üzere tasarlanmıştı.
1998 Kasımında Qt geliştiricileri, Qt’yi özgür yazılım yapacak bir lisans değişikliğine gittiklerini duyurdular. Tabi ki bunun tam nedenini bilmenin imkanı yok ama sanırım bu kısmen topluluğun Qt’nin özgür yazılım olmamasından kaynaklanan soruna kesin tepki vermesi sayesinde olmuştu. (Yeni lisans sakıncalı ve insafsız olduğundan dolayı hala Qt kullanmaktan kaçınmakta fayda vardır.)6
Bir daha ki cazibeli özgür olmayan kütüphaneye tepkimiz ne olacak? Tüm toplum tuzaktan uzak durmanın gereğini anlayacak mı? Ya da bir çoğumuz konfor uğruna özgürlükten vazgeçip ciddi bir problem mi yaratacak? Geleceğimiz felsefemize bağlıdır.


Yazılım Patentleri

Karşıaştığımız en kötü tehdit algoritma ve özelliklerin kullanımını 20 yıla kadar erteleyebilecek olan yazılım patentlerinden gelmektedir. LZW sıkıştırma algoritmaları 1983 yılında uygulanmaya başlandı ve biz halen düzgün sıkıştırılmış GIF dosyaları oluşturabilecek özgü yazılımlar üretemiyoruz. 1998 yılında MP3 yapımına yarayan özgür bir program patent davası yüzünden dağıtımdan kaldırıldı .
Patentlerle başa çıkmanın yolları vardır: patentin geçersiz olduğuna dair kanıtlar arayabiliriz ve o işi yapmak için alternatif yollar arayabiliriz. Ama iki yöntem de bazen işe yarar; ikisi de işe yaramadığında patent, tüm özgür yazılımları kullanıcıların kullanmak istediği bir özellikten mahrum kalmaya zorlayabilir. Böyle olursa ne yaparız?
İçimizden özgürlük aşkına özgür yazılıma değer verenler her halükarda özgür yazılımın yanında yer alacaktır. Patentli özellikler olmadan işimizi yapmayı başaracağız. Ama özgür yazılımın teknik olarak üstün olmasını bekleyenler patentlerin bir özelliğin kullanılmasını engellemesi durumunda buna “başarısızlık” diyecektir. Bu yüzden “katedral”7 modeli yazılım geliştirmenin pratik etkinliğinden ve bazı özgür yazılımların güvenilirliğinden ve gücünden bahsetmek faydalı olsa da burada durmalıyız. Özgürlükten ve prensiplerden bahsetmeliyiz.


Özgür Belgelendirme

Özgür işletim sistemlerimizdeki en büyük eksiklik yazılımdan kaynaklanmaz- Eksiklik, sistemlerimizin içerebileceği iyi özgür yazılım el kitaplarının olmamasıdır. Belgelendirme herhangi bir yazılım paketinin en temel kısmıdır; önemli bir özgür yazılım iyi bir özgür el kitabı ile gelmiyorsa bu büyük bir eksiktir. Bugün bir sürü eksiğimiz var.
Özgür belgelendirme tıpkı özgür yazılım gibi fiyatla değil özgürlük ile alakalıdır. Özgür bir el kitabında aranacak ölçütler özgür yazılımda aranacakların hemen hemen aynısıdır: Bu bütün kullanıcılara kesin bir özgürlük sağlama meselesidir. Programın her kopyasında el kitabının bulunabilmesi için kağıt üzerinde veya çevrimiçi dağıtıma (ticari satış dahil) müsaade edilmelidir.
Değiştirme izni de çok önemlidir. İnsanların her tür makale ve kitabı değiştirme iznine sahip olması gerektiğini sanmıyorum. Örneğin sizlerin ve benim eylem ve görüşlerimizi belirten bu ve bunun gibi makalelerin değiştirilmesine izin vermek zorunda olduğumuzu sanmıyorum.
Fakat değiştirme özgürlüğünün özgür yazılımın belegelendirmesi için bu kadar önemli olmasının özel bir nedeni vardır. İnsanlar yazılımı değiştirme haklarını kullanıp o yazılımın özelliklerinden bazılarını çıkardıklarda veya bazı özellikleri eklediklerinde, özenli iseler el kitabını da değiştireceklerdir-Böylece değiştirilmiş program ile ilgili doğru ve kullanılabilir bilgi sunabilirler. El kitabı, programcıların özenli olmasını sağlamaz ve işi bitirmek toplumumuzun ihtiyaçlarını karşılamaz.
Değişikliklerin nasıl yapılacağı ile ilgili bazı sınırlar koymak çok büyük sorun yaratmaz. Örneğin asıl yazarın telif hakkı uyarısının, dağıtım şartlarının, yazarların listesinin muhafaza edilmesi sorun yaratmaz. Değiştirilmiş versiyonların değiştirildiğine dair not eklenmesi, hatta teknik içerikli olmadıkarı sürece değiştirilemeyecek veya silinemeyecek bölümlerin olması da sorun değildir. Bu türlü kısıtlamalar sorun yaratmaz çünkü özenli bir programcıyı, el kitabını değiştirilmiş programa uygun hale getirmekten alıkoymazlar. Başka bir deyişle özgü yazılım topluluğunun el kitabından tam olarak yararlanmasını engellemezler.
Ama, el kitabının “teknik” içeriğinin değiştirilmesi, daha sonra bilinen tüm ortam ve kanallardan dağıtılabilmesi mümkün olmalıdır. Aksi taktirde kısıtlamalar topluma mani olur, el kitabı özgür olmaz ve başka bir el kitabına ihtiyaç duyarız.
Özgür yazılım geliştiricileri geniş kapsamlı el kitapları hazırlayacak bilince ve kararlılığa sahip olacak mıdır? Geleceğimiz, bir kere daha, felsemize bağlıdır.


Özgürlükten Bahsetmeliyiz

Tahminlere göre bugün Debian GNU/Linux ve Red Hat GNU/Linux gibi GNU/Linux sistemlerinin on milyon kullanıcısı vardır. Özgür yazılım öylesine pratik avantajlar geliştirmiştir ki kullanıcılar sadece pratik nedenlerden dolayı akın etmektedir.
Bunun iyi sonuçları barizdir: özgür yazılım geliştirmek konusuna artan ilgi, özgü yazılım iş dünyası için daha fazla müşteri ve şirketleri sahipli yazılım ürünleri üretmek yerine özgür yazılım üretmeye teşvik etmek için daha fazla güç.
Ama yazılıma olan ilgi, temelinde yatan felsefe hakkındaki bilinçten daha hızlı büyümektedir ve bu sorun yaratır. Yukarıda saydığımız zorluklara ve tehditlere karşı koyma yetimiz özgürlükten taviz vermeme azmimize bağlıdır. Toplumun bu azme sahip olduğundan emin olabilmek için topluluğumuza yeni katılan kullanıcılara bu fikirleri yaymalıyız.
Ama bunu yapmayı beceremiyoruz: yeni kullanıcıları topluluğumuza çekmek için gösterdiğimiz çabalar onlara topluluğumuzun üyesi olmanın kurallarını öğretmek için harcadığımız çabaları kat kat aşıyor. İkisini de yapmaya ve iki çabayı dengelemeye muhtacız.


“Açık Kaynak”

1998 yılında topluluğumuzun bir kısmı “özgür yazılım” kelimesini kullanmayı bırakıp bunun yerine “açık kaynak” demeye başlayınca yeni kullanıcılara özgürlükle ilgili şeyler öğretmek zorlaştı.
Bu kelimeyi tercih edenlerin bazısının “free”(özgür) ve “gratis”(bedava) kelimeleri arasındaki anlam kargaşasından kaçınmak gibi geçerli nedenleri vardı. Diğerleri ise özgür yazılım hareketi ve GNU projesini harekete geçiren ilkenin ruhundan kendilerini ayırmak ve bunun yerine yetkililerin ve ticari kulanıcıların ilgisini çekmeyi amaçlamıştı. Çoğu, karı özgürlüğün, toplumun, ilkelerin üstünde gören bir ideolojiye sahipti. Bu yüzden “açık kaynak” ın dili yüksel kaliteli, güçlü yazılım yapmaya odaklanmıştır ama özgürlük, toplum ve ilke gibi fikirlerden kaçınır.
“Linux” dergileri bunun açık örneğidir-GNU/Linux’ta çalışan sahipli yazılımların reklamları ile doludurlar. Yeni Motif’ler ve Qt’ler ortaya çıktığında bu dergiler kullanıcılara bunlardan kaçınmalarını mı söyleyecektir yoksa bunların reklamlarını mı yayınlayacaktır?
İş dünyasının desteği topluma çeşitli yönlerden katkı sağlayabilir, aynı zamanda, faydalıdır. Özgürlük ve ilkelerden daha az söz ederek onların desteğini kazanmak korkunçtur, yoksullarla kentliler arasındaki eğitim uçurumunu daha da derinleştirir.
“Özgür Yazılım” ve “Açık Kaynak”, üç aşağı beş yukarı aynı yazılım kategorisini tanımlar ama yazılım ve değerler ile ilgili farklı şeyler söyler. GNU Projesi, sadece teknolojinin değil de özgürlüğün önemli olduğunu ifade etmek için “özgür yazılım” terimini kullanmaya devam etmektedir.


Dene!

Yodanın felsefesi(“Deneme yoktur”) kulağa hoş gelse bile bana göre değil. İşimin büyük kısmını, işi yapabilecekmiyim diye endişelenerek, yaptığımda amacıma ulaşmama yetip yetmeyeceğinden emin olmadan yaptım. Ama yine de denedim çünkü şehrim ile düşmanım arasında benden başka kimse yoktu. Bazen kendimi bile şaşırtarak başarılı oldum.
Bazen başaramadım ve şehirlerimden bazıları düştü. Hemen tehdit altında olan başka bir şehir buldum ve savaşa hazırlandım. Zaman içerisinde tehditleri bulup diğer hackerları bana katılmaya çağırarak kendimi şehrime siper etmeyi öğrendim.
Bu günlerde yalnız değilim. Saf tutmaya uğraşan bir hacker birliği gördüğümde bu şehrin şimdilik ayakta kalacağını anlıyorum, ferahlık ve haz duyuyorum. Ama tehlikeler yıldan yıla büyüyor ve şimdi de Microsoft, topluluğumuzu açıktan açığa hedef alıyor. Özgürlüğümüzün geleceği garanti altında değil. Garanti altında olduğuna inanmayın! Özgürlüğünüzü korumak istiyorsanız onu savunmaya hazırlıklı olmalısınız.
*Aslı, Açık Kaynaklar: Açık Kaynak Devriminden Sesler;(O’Reilly, 1999)’de yayınlanmıştır
Bu makale “Özgür Yazılım Özgür Toplum :Richard M. Stallman’dan Seçme Makaleler” kitabında yer alır.(Boston:GNU Press, 2004) ISBN 1-882114-99-X, www.gnupress.org
Bu uyarının konulması kaydıyla makalenin herhangi bir ortamda eksiksiz ve tam olarak kopyalanması ve dağıtımı serbesttir.

1Hack gibi çeşitlilik arzeden bir kavram hakkında bir tanım yapmak zor olsa da bence bu eylemlerin ortak noktası şakacılık, zekilik ve keşiftir. Öyleyse «hack etmek» demek mümkün olanın sınırlarını şakacı bir zeka ile keşfetmektir. Şakacı zekayı sergileyen eylemlerin «hack değeri» vardır. Yanlış anlaşılmayı düzeltmek için hack etme ile güvenlik ihlali arasına bir ayrım koyarak-güvenlik ihlali için «crack etme» (kırma-Ç.N.) terimini kullanarak bize yardımcı olabilirsiniz. Bunu yapan kişiler «cracker»lardır. Bazıları aynı zamanda hacker olabilir, tıpkı satranç oyuncusu veya golfçü olabilecekleri gibi. Ama çoğunluğunun hackerlık ile alakası yoktur.(“Hack Üzerine”RMS;2002)

2GNU Readline kütüphanesi, kullanıcıların yazılan komut satırlarını düzenlemesini sağlayan programların kullanması için bir dizi işlev sunar.

3Lempel-Ziv-Welch algoritması verilerin sıkıştırılması için kullanılır.

4Xfree86, ekran donanımınıza(fare, klavye, vs.) arayüz oluşturan bir masaüstü ortamı sağlar. Değişik platformlar üzerinde çalışabilir.

5Motif, X pencereleri üzerinde çalışan bir arayüz ve pencere yöneticisi idi.

62000 yılı Ekim ayında Qt’nin GNU GPL lisansı altında yayınlanması sorunu kökten çözdü.

7Muhtemelen “ ‘pazar’ modeli yazılım geliştirmenin” demek istemiştim, alternatif olmasına rağmen o zamanlar yeni ve tartışmalıydı.


http://ozgurilgin.wordpress.com/2010/04/04/richard-stallman-gnu-projesi/

---------- saat 01:13 eklendi ---------- önceki mesaj saat 00:48 eklenmişti ----------
 

ramboberk

Profesör
Katılım
12 Eyl 2009
Mesajlar
4,419
Reaksiyon puanı
74
Puanları
0
ben bunları okursam kesin yaşlanırım :)
 

realmanager

Profesör
Katılım
31 Eki 2009
Mesajlar
3,927
Reaksiyon puanı
94
Puanları
0
Ceku senin ilgini çeker eminim.
Stallman'in KDE karşısındaki zaferi de var :D
Gerçekten okuması zor değil
Anlamıyorum ki siz mi yavaş okuyorsunuz
Hiç mi hızlı okuma tekniği öğrenmediniz :)
 

yumluanarsist

Rektör
Katılım
11 Haz 2009
Mesajlar
12,009
Reaksiyon puanı
275
Puanları
0
Ceku senin ilgini çeker eminim.
Stallman'in KDE karşısındaki zaferi de var :D
Gerçekten okuması zor değil
Anlamıyorum ki siz mi yavaş okuyorsunuz
Hiç mi hızlı okuma tekniği öğrenmediniz :)

Yok ben hızlı okurum da dün kafam yerinde değildi. :D Şimdi okurum 5 dakikada. Zaten GNOME da KDE'ye karşı yapılmış bir şey. Stallman'i seviyorum. :D
 

realmanager

Profesör
Katılım
31 Eki 2009
Mesajlar
3,927
Reaksiyon puanı
94
Puanları
0
Özet Özgür Yazılım iyidir
Onu kullanın, kullandırtın :)
 

realmanager

Profesör
Katılım
31 Eki 2009
Mesajlar
3,927
Reaksiyon puanı
94
Puanları
0
Bir ara açık kaynak DRM yazılımının yapılmasını önermişlerdi.
Açık kaynak bir yazılım ancak insanların özgürlüklerini kısıtlayacak
Sahipli Yazılımlar bir uç
Özgür Yazılımlar öteki uç
Geri kalanlar bunların arasındaki çizgide
Açık kaynak özgür yazılıma daha yakın tabiki
 
Katılım
4 Haz 2008
Mesajlar
11,494
Reaksiyon puanı
2,244
Puanları
113
Bir ara açık kaynak DRM yazılımının yapılmasını önermişlerdi.
Açık kaynak bir yazılım ancak insanların özgürlüklerini kısıtlayacak
Sahipli Yazılımlar bir uç
Özgür Yazılımlar öteki uç
Geri kalanlar bunların arasındaki çizgide
Açık kaynak özgür yazılıma daha yakın tabiki
Fazla özgürlük iyi değildir :)
 

realmanager

Profesör
Katılım
31 Eki 2009
Mesajlar
3,927
Reaksiyon puanı
94
Puanları
0
Peki o zaman senin bütün mp3leri drm'li yapalım. :)
Özgürlük sadece özgürlüğün devamı ve korunması için kısıtlanabilir.
Özgürlük ve mahremiyet arasındaki farklar zaten belli
Aynı şekilde başkalarının özgürlüğünün başladığı yerde bizimki biter.
O yüzden LGPL'e karşı çıkıyor Stallman
Fazla özgür, özgür yazılımın sonunu getirebilecek kadar fazla :)
 
Katılım
4 Haz 2008
Mesajlar
11,494
Reaksiyon puanı
2,244
Puanları
113
GPL iyi güzelde herşeyi bana bırakıyor :)
Geliştirici olarak düşünürsem LGPL benim için :)
 

realmanager

Profesör
Katılım
31 Eki 2009
Mesajlar
3,927
Reaksiyon puanı
94
Puanları
0
Yazıyı ve Stallman'in diğer makalelerini okumadan anlayamazsın.
 

HapS

Profesör
Katılım
23 Ocak 2008
Mesajlar
3,350
Reaksiyon puanı
56
Puanları
48
2 satır yazı okumazsınız ama desteksiz sallamaya gelince en önde sallarsınız
 

ramboberk

Profesör
Katılım
12 Eyl 2009
Mesajlar
4,419
Reaksiyon puanı
74
Puanları
0
kızdırmayın real i

o ne yaptığın bilir
 

Son mesajlar

Üst