Dünya üzerinde “Özgür Yazılım” fikrini ortaya atan ilk kişi, özgür Yazılım aktivisti, hacker ve yazılım geliştiricisi Richard Matthew Stallman‘ın gnu.org üzerinde yayımlanan “When Free Software Depends on Nonfree” adlı yazısının Nuran Kısı tarafından yapılmış çevirisidir. Yazı, LKD’nin linux.org.tr sayfası üzerinde yayımlanmıştır. Yazı, şöyle:
“Bir program özgür yazılım olduğunda, bunun anlamı programın, kullanıcılarına programın yaptığı şeyi kontrol etmelerini sağlayan dört özgürlük (gnu.org/philosophy/free-sw.) vermesidir. Pek çok durumda bu, programın dağıtımının ahlaka uygun olması için yeterlidir, fakat her zaman değil. Bazı özel durumlarda başka problemler ortaya çıkabilir. Bu makale, özgür bir programın yükseltilmesi için özgür olmayan bir programa gerek duyulması halinde ortaya çıkan, hemen göze çarpmayan bir problemi tanımlamaktadır.
Eğer bir özgür programın kullanımı, kaçınılmaz bir biçimde özgür olmayan başka bir programın kullanımına bağlıysa, bu özgür program için “tuzağa düşmüş” diyebiliriz. Bu programın kodu özgür yazılımdır ve belki siz bu kodların belli parçalarını diğer özgür programlara iyi, ahlaki sonuçlarla kopyalayabilirsiniz. Ama tuzağa düşmüş bu programı çalıştırmamalısınız, çünkü bu özgürlüğünüzün diğer özgür olmayan programa teslim edilmesi sonucunu doğurur.
Özgür yazılım prensiplerini benimseyen biri bilerek tuzağa düşmüş bir program yapmayacaktır. Fakat özgür programların çoğu özellikle bu prensipleri desteklemeyen veya sorunu anlamayan kişi ve şirketler tarafından geliştirilir.
Özgür olmayan bir programa bağlılık pek çok biçimde karşımıza çıkabilir. Programlama dilinin özgür bir gerçekleştirime sahip olmaması bunun en basit biçimidir. GNU sistemi için 1980’lerde yazdığım ilk programlar, GNU Emacs, GDB ve GNU Make de dahil, AT&T’nin özgür olmayan C derleyicisinde derlenmek zorundaydı, çünkü ben GCC’yi yazana kadar özgür bir C derleyicisi yoktu. Neyse ki bu tip sorunlar neredeyse tamamen tarihe karıştı, şimdi özgür yazılım geliştirmek için kullanılan hemen hemen tüm diller için özgür derleyicilere sahibiz.
Bu tip bir tuzağa düşmüş programı, programlama dilini başka bir programlama diline çevirerek yayımlayabiliriz veya ilgili programlama dilinin özgür bir gerçekleştirimini yayımlayarak bunu yapabiliriz. Dolayısıyla, tamamen özgür bir Java gerçekleştirimi mevcut olduğunda bütün özgür Java programları Java tuzağından kurtulmuş olur.
Bu tip bir bağımlılık kavramsal olarak basittir çünkü nihayetinde böyle bir bağımlılık verili bir andaki durumdan kaynaklanmaktadır. T zamanında, özgür bir program olan P programı, özgür olmayan Q programlama platformu olmaksızın çalışmaz. Dil bilimden ödünç alınacak bir terimle ifade edilirse, bu ilişki “eş zamanlı”dır.
Yakın geçmişte, veritabanı programlarında başka bir tür bağımlılığı programın herhangi bir versiyonunu özgür dünyada yapabilmekle birlikte bu programı N versiyonundan N+1 versiyonuna yükseltmek için özgür olmayan bir programın gerektiği durumda gördük.
Bu durum veritabanının dahili formatının N versiyondan N+1 versiyona değişmesinden kaynaklanır. Eğer ciddi bir şekilde N versiyonunu kullanmaktaysanız, halihazırda N versiyonunun formatında geniş bir veritabanına sahipsinizdir. Veritabanı yazılımını N+1 versiyonuna yükseltmek için veritabanını yeniden formatlamanız gerekir.
Bunu yapmak için patentli bir yeniden formatlama programı çalıştırmak ya da geliştiricinin SaaSS (Service as a Software Substitute – Yazılım Yerine Servis) servisini kullanmak gerekiyorsa, veritabanı yazılımı tuzağa düşmüştür – ama daha az gözle görülür bir biçimde. Veritabanı programının herhangi bir versiyonu özgür olmayan bir yazılım veya SaaSS olmadan kullanılabilir. Zaman zaman programı yükseltmeyi gerektirecek biçimde uzun süreli bir kullanım sonucunda bahsedilen problem ortaya çıkar; programı bu şekilde bazı özgür olmayan yazılımlar veya muadilleri olmadan kullanamazsınız. Bu veritabanı programı zaman içinde tuzağa düşer -buna dil bilimden ödünç alınabilecek başka bir ifadeyle “diyakronik/artzamanlı olarak tuzağa düşmüş” diyebiliriz.
Örneğin, OpenERP programı, diyakronik olarak tuzağa düşmüştür. Medikal klinik yönetimi amaçlı özgür paketimiz GNU Health, başlangıçta OpenERP kullanıyordu. 2011 yılında, GNU Health geliştiricisi Luis Falcón, OpenERP bir sonraki sürümüne yükseltmek için veritabanını (bütün hastaların tıbbi verileri) yeniden formatlanmak üzere OpenERP’nin sunucusuna göndermek gerektiğini fark etti. Bu SaaSS’tir: GNU Health kullanıcısının (bir kliniğin), kendi hesaplamasını (computing) ve verisini OpenERP‘i geliştiren şirkete emanet etmesini gerektirir. Falcón boyun eğmek yerine, GNU Health’i Tryton kullanarak yeniden yazdı.
SaaSS kullanmak doğası gereği, casusluk özelliği ve genel gizli kapısı olan bir özel mülkiyetli yazılımı çalıştırmakla eşdeğerdir. Servis, kullanıcıların yeniden biçimlendireceği veritabanının bir kopyasını saklayabilir. Servisi işleten şirkete, verinin herhangi bir biçimini herhangi birine bilinçli olarak hiçbir zaman göstermeyeceği konusunda güvensek bile, çeşitli ülkelerin istihbarat birimleri tarafından ya da güvenlik kırıcılar (lütfen onları “hacker” olarak adlandırmayalım) tarafından erişilmeyeceğinden emin olamayız.
Bir program diyakronik olarak tuzağa düşmüşse, onu bu tuzaktan kurtarmak tek seferlik bir programlama işinden fazlasını gerektirir. Onun yerine, veri formatında bir değişiklik olduğu her durumda, bu iş sürekli olarak yapılmalıdır. Bunu uzun süreli yapmaya devam etme sorumluluğu gerektiren bir proje başlatmak kolay değildir. Şirkete, kullanıcıları tuzağa düşürmeyi durdurması konusunda baskı yapmak daha kolay olabilir- bunu yapana kadar tuzağa düşmüş programı kullanmayı reddetmek yoluyla. Programı özgürleştirmenin ne kadar zor olduğu göz önünde bulundurursak, bu tip programlardan uzak durmanız daha iyidir.
Diyakronik olarak tuzağa düşmüş bir programı özgür olmayan bir yazılım kullanmadan denemek mümkündür, fakat yüzeysel bir şeyler yapmaktan daha fazlasını yapacaksanız, programı gerçekten kullanmaktan sakınmak zorundasınız. İşletmeler ve bireyler bu tip bir sorunun olmadığı özgür alternatifler bulacaklardır; tuzaktan kaçınmak için gereken tek şey onu fark etmektir.”
Richard Matthew Stallman
Çeviren: Nuran Kısı