9 Mart 2017 Perşembe

Yerli yazılım, Milli yazılım

Ülkemizin olabildiğince çok konuda dışa bağımlı olmaması hepimizin isteği. Elbette her şeyi yurt içinde üretemeyiz ama eğer bir ürünün yurt dışından kullanılması ülkenin kaynaklarının dışa aktarılması anlamına geliyorsa veya o ürünü geliştirmek için dışa bağımlı oluyorsak onu kendimizin üretmesi anlamlı olacaktır. Ülke menfaatleri açısından bakıldığında bazen dışarıdan daha ucuza alınabilecek bir ürünü yurt içinde üretmek onun sağlayacağı katma değerler göz önüne alındığında daha faydalı olabilir. Güvenlik, gizlilik gibi konuların yanı sıra bir ülke vatandaşı için kullandığı ürünlerin çoğunun kendi ülkesinde üretildiğini bilmek bile önemlidir.

Uzun zamandır özgür yazılımı anlatmaya gittiğim yerlerde 'neden yabancıların yazılımlarını kullanıyoruz da kendimiz yazmıyoruz' sorusuyla karşılaştığımdan bu konuda kısaca yazayım istiyorum. Bu bahsettiğime çok benzer tepkileri Pardus hakkında da sıklıkla duyuyorduk, 'neden milli çekirdek yok, neden kendi ofis paketimizi yazmıyoruz' soruları sonunda 'neden her şeyi baştan yazmıyoruz' sorusuna hızlıca dönüşüyordu.

Öncelikle şunlarda anlaşalım: Kamunun kaynaklarını kullanarak geliştirilen bütün yazılımlar kamunun malı olmalı yani birer özgür yazılım olarak lisanslanmalıdır. Bu yazılımlar bizim sağlayacağımız imkanlarla ortaya çıkacağından sonuçta sahipli yazılımlar olması son derece mantıksız bir iş olacaktır. İkinci olarak eğer ülke olarak ihtiyacımız olan bir yazılım varsa ve böyle bir özgür yazılım yoksa elbette onu baştan yazmak ve özgür yazılım yapmak temel hedefimiz olmalıdır.

Cilalı taş devrine geri dönüp mevcut her şeyi baştan kendimiz keşfetmeye çalışamayacağımıza göre kullandığımız şeyleri yurt içinde üretmek için elimizde kriterler olmalı. Bence bu kriterler için aşağıdaki sorular yol gösterecektir: a) Yazılımı kullanmak için yurt dışına kaynak aktarmamız gerekiyor mu? b) Yazılım üzerinde değişiklik yapmak için yurt dışına bağımlı mıyız? c) Yazılım bazı ihtiyaçlarımızı karşılamıyorsa onun üzerinde değişiklik yapıp kullanmak yerine baştan yazmak daha mı ekonomik olacak? d) Yazılımın ne yaptığından emin miyiz? Yani güvenlikle, gizlilikle, mahremiyetle ilgili kaygılarımız var mı? e) Bu baştan yazma işine nereye kadar devam edeceğiz?

Konuya bu kriterlerle yaklaştığımızda özgür yazılım yerli yazılımdan beklenen her şeyi fazlasıyla sağlar. Şimdi her madde üzerinde kısaca duralım.

Özgür yazılımları kullanmak için yurt dışına kaynak aktarmak gerekmez.

Özgür yazılımların sıfırıncı şartı onları istenilen amaç için kullanabilmemizi garanti altına alır. Yani bir özgür yazılımı ister ev kullanıcısı, isterse ticari kullanıcı ayrıca kimseden izin almadan istediği gibi kullanabilir. Her kullanıcının temel ihtiyaçlarından biri olan ofis paketi için tercihimizi MS Ofis olarak kullandığımızda ülke olarak zaten zorluklarla ürettiğimiz değerleri yurt dışına aktarmış olurken, LibreOffice kullanırsak yurt dışına tek kuruş kaynak aktarmamış oluruz. Benzer şekilde işletim sistemi olarak bir GNU/Linux dağıtımı kullandığımızda onu sanki kendimiz yazmışız gibi özgürce kullanabiliriz. Ülke olarak petrol ve doğalgaz gibi zenginliklere sahip olmadığımızdan bir yazılımın lisans bedelini ödeyebilmemiz için karşılığında vermemiz gereken kaynakları yurt içinde kullanmak hem istihdamı arttıracak hem de üreten bir ülke olmamızı sağlayacaktır. Konuya yurt dışına aktarılan para açısından baktığımızda özgür yazılımlarla yerli yazılımlar arasında bir fark olmadığı görülecektir.

Özgür yazılımları geliştirmek için yurt dışına bağımlı değiliz.

Her yazılımın hataları ve eksikleri olur, bu yazılımın doğasında olan bir şeydir. Özgür yazılımlar kaynak kodlarıyla birlikte dağıtıldıklarından eğer ülke olarak ihtiyacımızı karşılamayan yerleri varsa bunu yazılım geliştiricilerimiz bu yazılımların kaynaklarına ekleyebilecek, mevcut hatalarını giderebileceklerdir. Ülke olarak yerli ofis paketi yazmak için baştan başlamak yerine LibreOffice'in 30 yıllık çalışmasını kullanıp ona eklemeler yapmak kesinlikle çok daha anlamlı olacaktır. Bir işletim sistemini baştan yazmanın ne kadar büyük bir iş olacağını daha sonraki maddelerde açıklamaya çalışacağım ama şu kadarını söylemeden geçmeyeyim böyle sonu gelmeyecek bir projeye kamunun kaynaklarını aktarmak yerine bir GNU/Linux dağıtımının eksikliklerini gidermeye ve ihtiyaçlarımıza cevap verebilecek hale getirmeye çalışmak karşılaştırılamayacak kadar verimli bir çalışma olacaktır. Ülkemizde mevcut yazılımlara kod ekleyebilecek kalitede yazılımcı kaynağı olduğuna ben eminim ama zaten eğer bu yoksa baştan da yazamayız o yazılımları. Konuya yazılımın geliştirilmesi açısından bakıldığında özgür yazılımlar yurt içinde geliştirilen yazılımlardan daha hızlı geliştirilen yazılımlar olarak karşımıza çıkarlar çünkü dünyanın geri kalanının emeğini de kullanmamıza imkan verirler.

Özgür yazılımları kullanmak yazılımı baştan yazmaktan çok daha ekonomiktir.

Yazılımların tek maliyetleri kod yazımı süresince geliştiricilerin fonlanması değildir. Bunun haricinde yazılımın analizi, tasarımı, test edilmesi gibi süreçler de çok önemli bilgi birikimi gerektiren ve zaman alan süreçlerdir. Ülke olarak bir veritabanı yazılımına ihtiyacımız olduğunda postgresql (veya bir başka özgür veritabanı) kullanmak yerine onu baştan yazalım dersek postgresql'in gelişimi için harcanmış 20 yıllık emeği bir kenara koyacağımız gibi onu bu sürede çalıştırmış ve test etmiş yüz binlerce kullanıcının emeğinden de faydalanamamış oluruz. Postgresql bütün kaynak kodlarıyla kendimiz yazmışız gibi kullanabileceğimiz, özgürce geliştirme yapabileceğimiz ve dünyanın geri kalanının onun üzerine yapacağı geliştirmelerden de faydalanabileceğimiz bir veritabanı iken bunu elimizin tersiyle bir kenara itip en baştan başlamak bizi sadece 20 yıl geri götürmez, aynı zamanda kendi emeğimizi de boşa harcamamıza neden olur. Konuya sadece ekonomik olarak baktığımızda bile özgür yazılımlar en az yerli yazılımlar kadar (çoğu durumda daha fazla) ekonomik fayda sağlarlar.

Özgür yazılımların ne yaptıklarını kontrol edebiliriz.

Özgür yazılımlar kaynak kodlarıyla birlikte dağıtıldıklarından iddia ettikleri işlevlerin yanında başka işler yapıp yapmadıklarına bakabiliriz. Bunu elbette hepimiz yapamayız ama hem biz bir grup geliştirici kaynağını bu alana ayırıp baktırabiliriz hem de dünyanın geri kalanının da aynı kodlara bakmasından faydalanabiliriz. Yani ülke olarak lisans bedelinin karşılığını madenlerden çıkardıklarımızla, tarlalarda ürettiklerimizle, denizcilikten elde ettiklerimizle ödemeyi göze alsak bile tam olarak neler yaptığını asla bilemeyeceğimiz kapalı kaynak kodlu, sahipli yazılımlar yerine özgür yazılımlar kullandığımızda tedirgin olabileceğimiz güvenlik, gizlilik, mahremiyet gibi bütün konular üzerinde ihtiyacımız olduğu kadar çalışabiliriz. Bir özgür yazılımı yurt içinde geliştirmiş olmakla insanlığın ortak malı olan bir özgür yazılımı kullanmak arasında bu açıdan hiçbir fark bulunmaz.

Mevcut özgür yazılımları kullanmak yerine her şeyi baştan yazmak gerçekleştirilemez bir hedeftir.

Elbette en formal tanımı bu değil ama bilgisayar yazılımı dediğimiz şeyin bir algoritmanın gerçeklenmiş hali olduğunu unutmayalım. Bu algoritmalar da insanlığın ortak malıdır. Sadece bu topraklar üzerinde yaşayanlar tarafından geliştirilmedi diye bir özgür yazılımı kullanmak yerine onu baştan yazmayı tercih etmek demek aslında yeni bir algoritma geliştirmeyeceksek aynı işi en baştan yapmak demektir. Bunun karşılığında elde edeceğimiz fayda da çoğunlukla sıfıra yakın olacaktır. Eğer algoritmaları da baştan yazmaya kalkarsak bu yolun sonunun cilalı taş devrine gideceği çok açık olmalı herkes için çünkü bilgilerini kullandığımız Newton Çorumlu olmadığı gibi, Amper de Yozgatlı değil. Aklı başında kimsenin insanlığın bütün bilgilerini yeniden biz üretmeliyiz demeyeceğini tahmin ediyorum.

Ayrıca bir yazılımı bu ülkede geliştirilmedi diye baştan yazmaya kalktığımızda nerede duracağız sorusu da cevaplanması gereken bir soru. Örneğin kendi işletim sistemi çekirdeğimizi bu nedenle baştan yazmaya kalktığımızda hangi programlama dilini kullanacağız. Malum hiçbirini biz geliştirmedik. O zaman önce bir programlama dili geliştirelim dersek bu defa da onun için bir editör yazmak gerekecek. Elbette yazdığımız kodları derleyecek bir derleyici ve onun ailesini de yazmak kendi başına ofis paketi yazmaktan çok daha büyük bir emek isteyecek. Peki bu derleyiciyi hangi kabuk üzerinde çalıştıracağız? Demek ki bir de kabuk yazmak gerekecek. Bu konuyu sonuna götürdüğümüzde varacağımız yer cilalı taş devri olacaktır maalesef. Bizi bu noktaya getiren ise bir özgür yazılımı sadece biz geliştirmedik diyerek baştan yazma isteği oldu.

Özgür yazılımlar hangi açıdan bakarsak bakalım bizden biri yazmış gibi kullanabileceğimiz, geliştirebileceğimiz yazılımlardır.

Hiç yorum yok:

Yorum Gönder

Ayı Dağı - Andrew Krivak

Duvar'da dünyada tek sağ kalan kadının hikayesini okuduktan sonra Ayı Dağı'nda (dünyaya her ne olduysa artık) hayatta kalan iki kişi...