Özgür yazılımın özgür araçlara ihtiyacı var
18 Temmuz 2010 Pazar, 21:34 | Gezegen, PardusFree Software Foundation’ın birkaç hafta önce posta kutularımıza ulaşan bu yılın ilk yarısındaki bülteninde, “Free Software Needs Free Tools” başlıklı bir makalesi vardı. Üstünde durmamıştım, Gürer‘in dikkat çekmesiyle güncel gelişmeler ışığında tekrar göz attım.
Gürer’le beraber makaleyi Türkçe’ye çevirelim dedik, Çetin de redaksiyonunu yaptı:
Özgür yazılımın özgür araçlara ihtiyacı var
Yazar: Benjamin Mako Hill
Çeviren: Gürer Özen / Doruk Fişek
Düzeltmeler: Çetin Meriçli
Geçtiğimiz on yılda, özgür yazılım geliştiricileri tekrar tekrar daha verimli veya güçlü bir şekilde özgür yazılım yapma imkanı tanıyan geliştirme araçlarının cazibesine kapıldılar.
Bize söylendiği kadarı ile tek bedel, araçların kendilerinin özgür olmaması, ya da kodunu göremeyeceğimiz, kopyalayamayacağımız veya kendi başımıza çalıştıramayacağımız ağ servisleri olmaları. Bu araçları ve servisleri (BitKeeper, SourceForge, Google Code ve GitHub gibi servisler) kullanma kararları verirken, özgür yazılım geliştiricileri “amaca giden her yol meşrudur” düşüncesiyle hem geliştirici topluluklarının hem de kendi kullanıcılarının özgürlüklerine değişen kararlar vermiş oldular. Özgür olmayan ve özel geliştirme araçlarını kucaklama kararları, özgür yazılımı savunmamızın inandırıcılığını sabote edip, bizim ve kullanıcılarımızın özgürlüğünden kabul edilemez biçimde ödün vermekte.
2002 yılında, Linus Torvalds, Linux çekirdeğinin “BitKeeper” isimli dağıtık sürüm kontrol sistemine geçeceğini açıkladı. Karar büyük endişe ve tartışma yarattıysa da, BitKeeper çekirdek geliştiricilerinin dağıtık bir yapıda çalışmasına olanak tanıdı. O zamanlarda özgür yazılım araçlarında böyle bir yapı desteklenmiyordu, bazı Linux geliştiricileri bunun getirilerinin geliştiricilerin özgürlüklerinin bedeline değeceğini düşündü. Üç yıl sonra, kuşkuyla yaklaşanlar haklı çıktı. Andrew Tridgell’ın BitKeeper için özgür bir alternatif yazmaya çalışması üzerine, BitKeeper’ın sahibi olan Larry McVoy birçok ana çekirdek geliştiricisinin bedava lisanslarını iptal etti. Çekirdek geliştiricileri kendi özgür yazılım muadillerini yazmaya zorlandılar: şu anda Git adıyla bilinen projeyi.
Elbette, özgür yazılımın özgür olmayan geliştirme araçları ile ilişkisi BitKeeper’dan çok daha geniş. SourceForge isimli özgür yazılım geliştirme destek servisinin kaynak kodu ilk başta herkese açıkken, yazarları tamamen kapalı bir geliştirme modeline döndüler. SourceForge özgür yazılımlar kullanılarak oluşturulduysa da, SourceForge kullanıcıları yazılımla web üzerinden etkileşiyor. Kullanıcıların hiçbir zaman elinde SourceForge yazılımının kopyası olmadığı için, kaynak kodunu da isteyemiyorlar. Aynı şekilde CollabNet’in Tigris.org’u, Google Code’un “Açık Kaynak Proje Barındırma” servisleri ve GitHub da benzer amaçlara hizmet ettiler ve kodlarını benzer biçimde ulaşılamaz kıldılar. Servisleri çoğunlukla herhangi bir ücret olmaksızın sağlanıyor ve özgür yazılım geliştirilmesini teşvik ediyor ancak bu yaklaşımları geliştirme ortamını oluşturan kendi yazılımlarını kapsamıyor. Bu sistemlerin her birinin kaynak kodu saklı ve o servisleri kullanan geliştiriciler tarafından değiştirilemez olmaya devam ediyor.
Bu özgür olmayan geliştirme araçları birçok özgür yazılım geliştiricisi için bir ikilem oluşturuyor. Bu araçların birçoğunun amacı, daha verimli özgür yazılım geliştirilmesi yolu ile daha fazla özgür yazılım üretilmesi ve daha fazla özgürlük. Collab-Net, Google ve GitHub ayrı ayrı özgür yazılımın başarılı olmasını istediklerini ve buna yardımcı olmak istediklerini söylüyorlar. Fakat bir dizi nedenden ötürü bu firmalar yazılım özgürlüğünü, özgür yazılım etikleriyle yaratma amacında oldukları özgür yazılımlardan daha az uyuşan araçlarla yapmayı tercih ediyorlar. Bunun sonucu ise güçsüzleştirilmiş geliştiriciler oluyor. Bu geliştiricilerin ürettiği kodun özgürlüğü, kabul edilemez bir tekelciliğe bağlı durumda.
Birincisi, kapalı araçların kullanımı, üretilen özgür yazılımın kullanıcılarına kabul edilemez bir mesaj göndermektedir. “Yazılım özgürlüğü kullanıcılar olarak sizin için önemlidir” der gibi görünen geliştiriciler bir taraftansa “ancak bizim için değil” demektedirler. Böyle bir davranış, özgür yazılım hareketinin kalbindeki güçlü etik bağlılığın temel etkinliğini sabote eder. Halihazırda özgür yazılımı benimsemiş kişiler olarak, özgür yazılımla işimizi görebileceğimizi — ve çok başarılı olacağımızı — göstermeliyiz. Kapalı sistemlere karşı özgür alternatiflerini (örneğin SourceForge ya da GoogleCode eşdeğeri ve GNU Savannah’ı işleten Savane, GitHub eşdeğeri Gitorious) kullanarak ve bu alternatiflerin geri kaldıkları yerleri geliştirerek onları desteklemeliyiz.
İkincisi, şunun farkına varmalıyız ki ürettiğimiz yazılım, ancak sürekli kullanımı, dağıtımı ve gelişimi için bağlı olduğu yazılımlar kadar özgürdür.
GNU GPL lisansı ve kaynak kodu, bir programı değiştirmeye çalışan, ancak bu değişikliği yapması için gereken araca özgürce erişemeyen bir kullanıcının çok az işine yarar. Dolayısı ile yalnızca geliştiricinin değil, tüm kullanıcıların ve gelecekte o yazılımı kullanarak yazılım üretecek tüm geliştiricilerin özgürlüğü de tehlikededir. Özgür olmayan araçları seçenler, herkesi bu bağlı kalınan araçları üreten grup ve kişilerin kaprislerine maruz bırakmaktadır.
Kapalı geliştirme araçları, kısa vadede daha çok özgür yazılım geliştirmeye yardımcı olabilecek olsa bile, bunun kabul edilemeyecek bir bedeli var. Özel yazılım ve ağ hizmetlerinin tartışmalı alanında, özgür yazılım geliştiricileri daha fazla rahatlıktan yana olma yanılgısına düşmemek zorundalar. Daha fazla özgürlük elde etme girişimleri için temel prensiplerimizden vazgeçmek; bindiği dalı kesen, dengesiz, ve en nihayetinde kullanıcılarımıza ve bütün özgür yazılım geliştiricileri camiasına haksızlık eden bir karar olur.
Tıpkı ilk GNU geliştiricilerinin, öncelikle özgür yazılım geliştirebilecekleri özgür araçlar yaratmaya odaklandığı gibi; biz de özgürce, belirsizliğe yer bırakmayacak biçimde özgür olan araçlarla yazılım üretebileceğimizi garantilemeliyiz. Bunu yapamamamız, yazılımların dolaylı olarak daha az özgür olmasına yol açacaktır. Kullanıcılarımıza vermek istediğimiz özgürlükleri, onların yazılımlarını geliştirirken bize vermeyen araçları kullanmaya karşı direnmeliyiz ve geliştirme araçlarımızın üreticilerine baskı yapmalıyız. Özgür yazılım, başarısını prensiplerimizden ödün vererek kazanmadı. Özgür bir dünya inşa etmek için kullandığımız araçların özgürlüğünden ödün vererek, teknik, pragmatik ya da etik olarak bir kazanç sağlamış olmayacağız.
Üzgünüm, bu yazı yoruma kapalı.