22 Mart 2017 Çarşamba

Pardus ne durumda?

Aşağıdaki yazıyı BMO Dergi için yazdım, olduğu gibi buraya da alıyorum. Tek farkı daha fazla bağlantı içermesi.

Pardus başlangıcında kendi özgün teknolojilerini geliştirme hedefinde olan bir GNU/Linux dağıtımı projesiydi. Geliştiricilerinin çok büyük bölümü TÜBİTAK çalışını olan proje kullanıcı tarafında ciddi bir heyecan yaratmıştı. Daha önce hiç GNU/Linux dağıtımı kullanmamış, özgür yazılım kavramından haberi olmayan kullanıcılar bile Pardus’la özgür yazılım dünyasına adım attılar. Bireysel kullanımda bir miktar yaygınlığı olsa bile kurumsal anlamda kayda değer bir yaygınlık elde edemedi, hatta TÜBİTAK kendi bünyesinde bile kullanmadı Pardus’u.

Ülkemizde işletim sistemi ölçeğinde bir yazılım projesinin geliştirilmesi hem özgür yazılım alanında bir bilinç oluşması, hem de bilişim dünyasındaki genç insanlara ‘ben de yapabilirim’ duygusunu vermesi açısından çok önemliydi. Etkinliklerde geliştiricileri görebildiğiniz, hatta katkıda bulunabildiğiniz bir işletim sistemi kullanmak heyecan verici bir şeydi. Proje böyle bir heyecanla devam ederken 2011 yılında geliştiricilerin neredeyse tamamı işten çıkartılınca, TÜBİTAK çalışanı olmayan hiç geliştiricisi kalmamış Pardus’un nasıl sona erdiğini hepimiz gördük. Bu süreçte yaşananlar hakkında çok az yazı yazıldığından tek bildiğimiz projenin durdurulması kararının teknik bir karar olmadığı. 2012 Mart’ında Pardus’un Yarını Çalıştayı adında bir toplantı TÜBİTAK tarafından düzenlendi ve bir şekilde Pardus’la ilgili tarafların fikirleri alındı. Daha sonra bu fikirler değerlendirilmeye alınmadı ama Pardus’un bir işletim sistemi olarak değilse de kendi şemsiyesi altında özgün yazılımlar geliştirilen bir program olarak hayatına devam edeceği mesajını daha o toplantıdan almıştık. [5], [6], [7]

İzlenen yöntem ve geldiği yer açısından çok şey söylenebilecek olsa da Fatih Projesinin ülkemizin en kapsamlı bilişim altyapısı projesi olacağı o zaman da belliydi. Yukarıda bahsettiğim toplantının ardından Fatih Projesi kapsamında okullara verilen etkileşimli tahtalarda Debian paket yöneticisini kullanan bir dağıtımın Pardus adıyla kullanıldığını gördük [8]. Bu Pardus’un o zamana kadar geliştirdiği bütün özgün teknolojilerin kullanılamaz duruma gelmesi anlamına geliyordu. Bu tarihten itibaren Pardus yeni bir yola girdi ve TÜBİTAK bünyesinde yeni çalışanlar işe alarak Debian temelli dağıtımlardan biri oldu.

Mevcut durumda Pardus çok büyük ölçüde Debian paketlerini kullanan bir GNU/Linux dağıtımı. Kendine hedef olarak özgün bir dağıtım hazırlamaktan daha çok kamuda özgür yazılımın kullanımını yaygınlaştırmayı amaçlıyor ve ülkenin ihtiyacı olan yazılımları özgür yazılımlar olarak geliştirmeyi hedefleyen bir programa dönüşmüş durumda [1]. “Bunun yapılması için Pardus tarafından geliştirilen yazılımlardan vazgeçilmesi gerekiyor muydu” sorusu üzerinde tartışılabilecek konulardan biri ama bundan sonra yapılacaklar için bu tartışmanın öncelikli olmadığını düşünüyorum.

Pardus ülkenin hangi ihtiyaçları için özgür yazılım çözümleri geliştiriyor sorusu üzerinde biraz duralım.

Yukarıda da bahsi geçen Fatih Projesi için geliştirilen Etkileşimli Tahta Arayüzü Projesi (ETAP) [2] geliştirilen yazılımların en geniş kullanım alanına sahip olanlarından biri. Yüzbinlerce sınıfta, milyonlarca öğrencinin karşısına çıkacak ilk işletim sisteminin bir özgür yazılım olması çok önemli bir konu [9]. Pardus’un geliştirdiği ETAP bence çok başarılı bir proje. İlk prototiplerinden [10] bu yana takip ettiğim ETAP Fatih projesinin bütün ihtiyaçlarına cevap verebilen modern bir araç durumunda. Umarım Milli Eğitim Bakanlığı Fatih Projesinde özgür olmayan alternatifleri değil de ETAP’ı kullanır. Bu konu işletim sistemine ve onun üzerinde koşacak yazılımlara ödenecek lisans bedellerinin çok fazla olmasından daha çok ülkedeki özgür yazılım bilincinin artması açısından önemli. İlk işletim sistemi olarak sahipli bir yazılımı çocuklarımıza göstermek hem doğru değil, hem de ülke menfaatlerine uygun değil. [11],

Kurumların Pardus veya başka bir GNU/Linux’u işletim sistemi olarak kullanabilmeleri için ihtiyaç duydukları bir diğer proje de merkezi sistem yönetimi yazılımı olan Lider/Ahenk [3]. Kurumsal politika belirleme ve uygulama konusundaki ciddi bir ihtiyaca cevap veren Lider/Ahenk [12] mevcut durumda oldukça kullanılabilir bir ürün. Engerek [13] ve Ahtapot [14] gibi diğer projelere de Pardus’un sayfasından ulaşılabilir.

Kamuda özgür yazılım kullanımına geçiş hedefinin sadece Debian paketleri ve onun üzerinde koşacak kendi yazılımlarımızla gerçekleşmeyeceğini de bilmemiz gerekiyor. İngilizce konuşan dünyadan farklı bir alfabemiz olduğunu ve tek farkımızın da bundan ibaret olmadığını unutmadan yaygın kullanılan özgür yazılım projelerinin geliştiricilerinin de yetiştirilmesi/desteklenmesi gerekiyor. Bir küçük örnekle bunu netleştireyim. LibreOffice 30 yıllık köklü bir özgür ofis programı. Bir kurumun veya kullanıcının ihtiyaçlarına cevap verebilecek durumda ve dünyada çok yaygın kullanılıyor. İngilizce konuşan dünyada yüzde ifadesi 50% şeklindeyken biz %50 olarak yazıyoruz. Bu farklı kullanım LibreOffice belgelerinde sorunsuz kullanılabiliyor çünkü bizden bir geliştirici bunu gördü ve düzeltti [4]. Bir özgür yazılım göçü sırasında böyle çok şeye ihtiyaç duyacağımız ve bunların çözümü için sadece Pardus’un yeterli olmayacağı çok açık olmalı. Tek başına TÜBİTAK’ın veya Pardus’un yapabileceklerinin sınırlı olduğunu göz önüne alıp ülkedeki özgür yazılım ekosisteminin büyütülmesinden başka bir çözümün olmadığını düşünüyorum.

Bugün itibariyle Pardus hedeflerine ulaşmış değil. Henüz kendi projelerine kurum dışından katkı alamadığı gibi sürüm politikaları ve geliştirici belgeleri kamuyla paylaşılmış değil. Bunları gerçekleştirmek için çabalar var ama hızlandırılması ve yoğunlaştırılması gerektiği de açık.

Pardus’un kat edeceği uzun bir yol var ama ülkemizde özgür yazılımın kullanımının arttırılması açısından çok büyük önem taşıyor.

18 Mart 2017 Cumartesi

Kimlik kanıtlamada biyolojik verilerin kullanılması

Güvenli olmayan iletişim kanallarını kullanıp güvenli veri alış verişi yapmak hepimizin isteği. İnternet ve GSM şebekeleri üzerinden yapacağımız haberleşmelerde taraflardan biri olduğumuzu kanıtlamak için kullanıcı adımızın yanında (en az) bir de parola kullanıyoruz. Benzer şekilde banka kartlarımızı yetkisiz bir şekilde eline geçirenlerin de sadece bizim bildiğimiz pin kodunu kartlarla birlikte kullanması gerekiyor. Banka kartlarının diğer kimlik kanıtlama işlemlerinden çok daha az karakterli (4 ile 6 karakter arasında) pin kodlarına izin vermesi ciddi bir sorun oluşturmuyor çünkü deneme yanılma yöntemini kullanmak için çok az (3-4) denemeye izin veriyorlar.

Kırılamayacak parolalar kullanmak gerçekten kolay iş değil (bu konuda daha ayrıntılı bir yazı okumak isteyenlere Murat Demirten'in çok güzel bir yazısını öneririm). Kimlik kanıtlama servisleri bizim iyi parolalar seçmeyeceğimizin farkında olduklarından uzun zamandır başka çözümler peşindeler. İki farklı kanalı kullanarak kimlik kanıtlaması yaptırmak en yaygın kullanılan yöntem. Madem internet bağlantısı güvenli değil, o zaman onu aynı zamanda gsm ile de doğrulamak güvenliği arttırabilir elbette. Tabi biri hem cüzdanınızı hem de cep telefonunuzu ele geçirmişse ve parolalarınızı da biliyorsa veya bulmuşsa bu mekanizmayı da atlatabilir ama tek kanallı kimlik doğrulamadan daha güvenli olduğu da bir gerçek. Konudan biraz uzaklaşıp 'her anahtarın açtığı kilit' haberine bakmak isteyebilirsiniz belki burada ;)

Bir diğer yöntem de kullanıcılara anahtarlığa bile takılabilecek boyutlarda olan ve kısa süreli geçerliliği olan parolalar üretecek cihazlar vermek. Bir dönem bir çok bankacılık sisteminde vardı ama hala kullanılıyor mu bilemiyorum. Cihazın fiziki güvenliğini sağlayabilecekseniz iyi bir çözüm gibi duruyor bu uygulama da.

Hangi yöntemi kullanırsak kullanalım parolalarımızı düzenli aralıklarla yenilememiz saldırganların işini zorlaştıracak bir önlem olacaktır. Aynı anahtarla şifrelenmiş çok sayıda şifreli metin üzerinden yapılabilecek saldırılara bir önlem olacaktır bu işlem. Elbette şifreleme yöntemleri sadece anahtar denemesi yapılarak kırılmıyorlar ama konuyu dağıtmamak için bu konuya girmiyorum.

Kimlik kanıtlamada kullanacağımız parolanın yeniden üretilemez, taklit edilemez bir bilgi olması başta çok cazip görünse de pratikte uygulaması oldukça zor. Parmak izimiz, avuç içi izimiz veya retina görüntümüzün taklit edilemediğini biliyoruz, en azından bugünün bilgisiyle böyle kabul ediyoruz. Durum böyle olunca kapıları açmak için anahtar kullanmak yerine retina taraması yaptırmak veya kredi kartı kullanırken parmak izini okutmak çok parlak bir fikir gibi görünüyor çoğunluğa. Benim çevremde bile cep telefonlarının ekran kilitleri için bile 4 karakterli pin girmek veya bir deseni çizmek yerine parmak izini cihaza okutan çok tanıdığım var.

Peki kimlik kanıtlama verilerimiz nasıl saklanıyor? Yıl 2017 oldu ama hala kullanıcı adı ve karşılık gelen parolayı düz metin olarak saklayan çok fazla yer var maalesef. Eğer bir internet adresi 'parolamı unuttum' linkine tıkladığınızda size parolanızı eposta ile gönderebiliyorsa parolanızı düz metin olarak sakladığından emin olarak o adresten arkanıza bakmadan uzaklaşmanız gerektiğini söyleyebiliriz. Aklı başında olanlar kimlik kanıtlamada kullandığımız verileri veritabanlarında gölgelenmiş, şifrelenmiş olarak saklıyorlar. En kötü senaryo olan saldırganların bu bilgilere ulaşması durumunda bile parolalarımızın gölgelenmiş hallerinin ele geçirilebileceği kabul edilerek güvenlik önlemi alınmış oluyor. Saldırganların hesaplarımıza erişmesi için mutlaka bu gölgelenmiş, şifrelenmiş verileri geri döndürmesi de gerekmiyor çoğu durumda. Bir sözlük atağı ile parolamızı belirlemeleri bir çok durumda mümkün oluyor. Kırılamayan şifreleme yöntemi diye bir şeyin olmadığını aklımızda tutarak bu şifrelenmiş parolaları ele geçirenler karşısında sonsuz güvenliğimiz olmadığını kabul edelim.

İnternet sitelerinde ne kadar önlem alınırsa alınsın parolaların bir şekilde ele geçirilebildiğinin haberlerini hepimiz sıklıkla duyuyoruz. Yahoo'dan Sony'ye varana kadar bir çok şirketin kullanıcı bilgilerini çaldırdığı hakkında haberler okumuş olmalısınız. Hatta bütün vatandaşların TC Kimlik bilgilerinin internetten indirilebilir olduğu haberleri de defalarca yapıldı. Bir sitenin parolaları saldırganlarca ele geçirilmişse mümkün olduğunca çabuk parolalarımızı yenilememizi öneren bir epostalar alıyoruz. Burası çok kritik aslında. Böyle bir eposta alınca '12345' olan parolamızı daha güvenli diyerek '123456' ile değiştirebiliyoruz ama ya ele geçirilen şey parmak izimiz, avuçiçi izimiz veya retina bilgimiz olursa ne yapacağız? Onları değiştiremeyecek olduğumuzu biliyoruz. Eğer kırılan şey bize parola üreten cihaz olsa onun yenilenmişini almak veya parola değiştirmek zaten çok kolay bir şeyler ama değiştiremeyeceğimiz biyolojik verilerimiz başkalarının eline geçtiğinde ne yapacağız? Parmak izimiz çalınınca retina taramasına mı geçeceğiz?

Bizi çaresiz bırakacak bir uygulama olan biyolojik verilerin kimlik kanıtlamada kullanılmasının en kısa sürede önüne geçmek gerekir. Böyle kimlik kanıtlaması yapan hizmetleri kullanmamak, varsa diğer yöntemleri denemek en doğru hareket olacaktır. Bunun ilk adımı olarak telefonlarınıza parmak izi bilginizi kesinlikle vermeyin.

17 Mart 2017 Cuma

Son kullanıcı için özgür yazılım neden önemli? -3-

Meraklısı için bu serinin önceki yazıları: [0], [1], [2].

Özgür yazılımlar doğaları gereği sahipli yazılımlardan daha düşük ücretlerle sahip olunabilir yazılımlardır. Çok büyük oranda ücretsiz olarak kullandığımız özgür yazılımları para verip alsak bile dağıtılmaları ile ilgili bir kısıtlama olmadığından bir kere elde ettiğiniz özgür yazılımı isterseniz satabilir, isterseniz ücretsiz dağıtabilirsiniz. Peki bir sahipli yazılıma para verdiğinizde aslında neye sahip olursunuz? Yazılımı kurarken kabul edip devam ettiğiniz son kullanıcı sözleşmelerinde bu durum açıkça belirli ama çoğumuz onları okumadığımız için bir kaç noktaya dikkat çekmek önemli olacak.

Örnek olarak sahipli bir yazılım olan Microsoft Windows 10 işletim sisteminin kullanıcı sözleşmesinde neler olduğuna bakalım:

  • Kullanıcıların önemli bir çoğunluğu yazılım için ödedikleri paranın karşılığı olarak yazılımı satın aldığını düşünür ama bu çoğu durumda doğru değildir. Windows işletim sistemi için ödediğiniz paranın karşılığında "Yazılımın satışı yapılmamakta, lisansı verilmektedir". Eğer satın almış olsaydınız onun nasıl çalıştığını anlamak için istediğiniz amaçla çalıştırabilir, değiştirebilir, dağıtabilir, değiştirdiğiniz halini dağıtabilirdiniz. Örneğin bir otomobil için ödediğiniz bedelin karşılığında aldığınız arabayı kime isterseniz satabilirsiniz, motorunu açıp nasıl çalıştığına bakabilirsiniz, eğer elinizden geliyorsa bütün aksamını ihtiyaçlarınıza uygun değiştirebilir ve bu haliyle satabilirsiniz. Bahsettiğim bu işlemleri yapabileceğiniz yazılımlar özgür yazılımlardır.
  • Parasını ödediğiniz MS Windows işletim sisteminin "yazılımın teknik kısıtlamalarını aşacak çözümler üretmek", "yazılımda tersine mühendislik işlemi yapmak, yazılımı kaynak koda dönüştürmek veya assembler diline çevirmek veya bunları yapma girişiminde bulunmak" ve "yazılımı, ticari barındırma için sunucu yazılımı olarak kullanmak" son kullanıcı sözleşmesiyle yasaklanmış durumda. Bunları elbette çoğu kullanıcı zaten yapmayacaktır ama yapmasının yasak olması farklı bir şey.
  • Yazılımı "yayımlamak, kopyalamak, devretmek veya ödünç vermek" de yasaklananlar arasında. Mesela bir yakın arkadaşınız isterse yazlığınızın veya arabanızın anahtarını kimseden izin almadan verebilirken isteyeceği şey MS Windows olursa ona 'kusura bakma' demeniz bekleniyor. Hatta başka bir bilgisayarınız varsa ona da kurulum yapamazsınız. "Yazılımı yeni bir cihaza her devrettiğinizde, önceki cihazdan kaldırmalısınız". Bu da yetmediyse kurulum yaptığınız işletim sistemi üzerine sanal makineye bile ikinci bir kurulum yapmanıza yine aynı kullanıcı sözleşmesi izin vermiyor.
  • Madem bu kadar kıymetli bir şey diyerek lisansına bu kadar para verdiğiniz yazılımın kopyasını alıp saklamak isterseniz (sadece saklamak için) "yedekleme amaçlarıyla yazılımın tek bir kopyasını oluşturabilirsiniz".
  • Peki bu işletim sistemini kullanırken gizliliğim, güvenliğim ne durumda diye merak ediyorsanız sözleşmede buna da açıklık getirilmiş: "Bu anlaşmayı kabul etmekle ve yazılımı kullanmakla, Microsoft'un Microsoft Gizlilik Bildiriminde (aka.ms/privacy) ve yazılım özellikleriyle ilişkili kullanıcı arabiriminde açıklandığı şekilde bilgileri toplayabileceği, kullanabileceği ve açıklayabileceğini kabul etmiş olursunuz". Bu sözleşmeyi kabul eden birinin 'bilgisayarımdan bazı bilgiler toplanmış ve birilerine verilmiş' diye sızlanmaya hakkı yok çünkü baştan bunu kabul ediyor.
  • Buraya kadarki şartları bir şekilde kabul etmişseniz bile yazılımın sizin ücretini ödeyip lisansını aldığınız şekilde bilgisayarınızda kalacağından da emin olamazsınız. Yine sözleşmede geçen ifadeyle "Bu anlaşmayı kabul ederek, ek bildirim olmaksızın bu tür otomatik güncelleştirmeleri almayı kabul edersiniz". Yani bilgisayarınıza kurduğunuz yazılım yarın bazı işlevleri yerine getirmeyebilir veya bilmediğiniz (aslında kaynak kodu kapalı olduğu için hiçbir zaman bilemeyeceğiniz) yeni işlevler edinmesini sağlayacak bir hale size bir bildirim mesajı bile göstermeden dönüşebilir.
  • Yazılımı kendiniz kullanmaktan vazgeçip başkasına devretmek isterseniz, devredeceğiniz kişinin Amerikanın ticaret ambargosu uygulamadığı bir ülkede yaşamasının gerekmesi de kendi başına kabul edilemez bir durum olmalı normal insanlar için.
Normalde benzer şartları sunan hiçbir ürüne değil para vermek, bedava olsa kullanmayız. Özgür yazılımlar yukarıda bahsi geçen kısıtlamalarla karşılaşmayacağınız, size özgürlükler sunan yazılımlardır.

15 Mart 2017 Çarşamba

Bir dönüşüm daha hedefine ulaşamıyor: F Klavye

10 Aralık 2013'te bir başbakanlık genelgesi yayınlanmış ve o tarihten itibaren kamunun sadece F klavye satın almasıyla başlatılan sürecin sonunda 2017 biterken mevcut klavyelerin de F klavyeye dönüştürülmesinin yapılacağı duyurulmuştu. O gün yazdığım yazıda "bu genelgenin uygulanabileceğini hiç sanmıyorum" demiştim.

Aradan geçen yaklaşık 40 ayda ne durumda olduğumuza bakınca şunları görüyoruz:

  • Kamu satın almalarda hem F, hem de Q klavyeler alıyor. Genelgede özellikle ifade edilmiş olmasına rağmen aradan geçen sürede hiç bir kontrol veya teşvik edici unsur olmadığı için kamu ihtiyacı neyse onu almaya devam ediyor.
  • Mevcut klavyelerini F klavye ile değiştirmiş yer hiç duymadım ama varsa da sayısı çok az olmalı.
  • Genelgede bahsi geçen "Kamu kurum ve kuruluşlarında F klavyeye geçiş sürecinde en önemli husus olan kamu personeline verilecek eğitime ait içerik" henüz hazırlanabilmiş değil. Eğer içerik hazırsa bile bunun yayınlanacağı www.fklavye.gov.tr adresi yayında değil. Bu adres için alan adı alınmış ama web yayını hiç yapılmamış. Genelgede haklı olarak bu dönüşüm için eğitimin çok önemli olduğu vurgulanmış ve buna 4 yıldan fazla bir süre ayrılmışken 40 ay gibi bir sürede hiç bir eğitim materyali hazırlanmamış ve haliyle kimseye eğitim verilememiş. Mevcut durumla bir geçişin yapılamayacağı çok açık.
  • "Kamu kurum ve kuruluşlarında F klavye eğitiminin planlanması, uygulanması, takibi ve raporlanması konusunda sorumlu olacak birimler tespit edilerek, Milli Eğitim Bakanlığına bildirilecektir." ifadesi de yine karşılığını bulamamış durumda. Ne rapor, ne de bu iş için çalışan birimler yok ortada.
  • Elbette kendisi bir dönüşüm yapamamış olan kamunun özel sektörü teşvik etmesi imkanı da bulunmuyor.
Kendi tecrübelerimden söyleyebilirim ki insan yeni bir klavyenin kullanımına çok hızlı alışıyor. Ben yurt dışından aldığım bilgisayarlarda Türkçeye özgü karakterler olmamasına rağmen yıllarca Türkçe klavye düzeninde kullandım onları. Yeni klavyeye geçiş başta sancılı oluyor ama sonuçta alışılıyor ama neden bu süreci yaşamamız gerektiğini bilemiyorum doğrusu. 3 yıl önce de yazmıştım; ülkenin sorunu hızlı yazamamak değil içerik üretememek. Yoksa konuşmamızı yazıya dönüştürecek bir düzenek bile kullansak ürettiğimiz içeriğin zerre artmayacağını düşünüyorum.

Umarım F klavye maceramız sessizce zaman aşımına uğrayacaktır.

11 Mart 2017 Cumartesi

Son kullanıcı için özgür yazılım neden önemli? -0-

Meraklısı için bu serinin önceki yazıları burada ve burada.

Her yazılımın mutlaka bir lisansı olur. Bazı yazılımlar kurulum sırasında bir kullanıcı sözleşmesi gösterip onay alırken bazıları lisans metninin bir kopyasını diske kopyalar. Kurulum sırasında gösterilen metinler nadiren okunurlar. Zaten programı kurdum, bunu da onaylayıp geçeyim diye düşünülür çoğunlukla. Bu yazıda son kullanıcı açısından bu sözleşmelerin nasıl önem taşıdığından bahsedeceğiz ama önce çok kısaca güney afrikadan bahsetmek istiyorum.

Bilindiğiniz gibi çok yakın zamana kadar Güney Afrika Cumhuriyetinde siyahilere uygulanan ırkçı uygulamalar yasal desteği olan uygulamalardı. Yani aşağıda fotoğrafını gördüğünüz sadece beyazların oturabildiği banklar, sadece beyaz kadınların girebildiği tuvaletler, sadece beyazların su içebildiği çeşmeler keyfi uygulamalar değil, kanunlarla çerçevesi çizilmiş şeylerdi. 'Bir konunun yasalara uygun olması onu insani yapar mı?' sorusunu yazının sonuna kadar aklınızda tutmanızı isterim.




Burada örnek olarak Adobe Photoshop lisans sözleşmesini veriyorum ama Amerika kökenli firmaların hepsinin ürünlerinde aynı ifadeler mevcut. Yani her Microsoft ürününü kullanırken bu maddeleri onaylamış oluyorsunuz.


Bu sözleşmeyi kabul ederek ABD'nin ihracat kısıtlamasına tabi ülkelerden birinde yaşamadığınızı ve bunlardan birine yazılımı doğrudan veya dolaylı bir şekilde ihraç etmeyeceğinizi kabul etmiş oluyorsunuz. Bu maddenin Amerikan'ın ticaret kanununa uygun olduğuna elbette şüphe yok ama yazılımı kullanmak için (bunlarla sınırlı olmamak kaydıyla) Küba, İran, Kuzey Kore, Suriye veya Sudan'da yaşamadığınızı ve hatta yazılımı doğrudan veya dolaylı bir şekilde oralara ulaştırmayacağınızı beyan etmek insanlığın hangi kanununa uygun?

Tekrar ilk fotoğrafa bakın ve sadece beyazların oturabildiği banklara oturan beyazlar hakkında ne düşündüğünü aklınıza getirin. Az önce siyahilerin oturamadığı banklara ben de oturmam diyordunuz siz de. Peki bin yıldır yanı başımızda yaşayan İranlı kardeşlerimizin kullanamadığı yazılımları kullanıyor olmanın bundan ne farkı var? Yarın Amerika ile aramız kötü olursa bu yazılımları kullanamayacak olmak bir yana konunun nasıl bir ayrımcılık içerdiği herkes için çok açık olmalı.

Sadece beyazların ön koltuklarına oturabildiği otobüsleri kullananlara 'nasıl oldu da kullanabildiniz o otobüsleri?' diye sorabilseydik muhtemelen "başka alternatif yoktu, mecburdum" cevabını alacaktık. Güney Afrika Cumhuriyetinde neler yapılabilirdi ayrı bir yazının konusu ama şurası bir gerçek ki siz mecbur değilsiniz. Özgür yazılımlar herkesin özgürce kullanabileceği seçenekleri sunuyor hepimize.

Önünüzdeki iki otobüs arasında seçim yaparken ikisinin konforunu veya hızını değerlendirme aşamasına geçmeden önce birine sizin gibi olmayanların binemediğini düşünüp öyle seçim yapın. Sıra eğer konforu karşılaştırmaya gelirse özgür yazılımlar bu rekabete çoktan hazırlar.

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.

Tam sayılarda kalansız bölme

Ortaokulda hepimizin öğrendiğimizi sandığımız ama pek azımızın öğrendiği bir konu tam sayılarda kalansız bölme konusu. Diğer bütün konular g...