21 Aralık 2018 Cuma

Hangi Masaüstü Ne Kadar Türkçe Konuşuyor? -11-

Büyük masaüstü ortamlarının Türkçe çeviri oranları hakkında en son bir yıl önce yazdığımdan son durumu tekrar gözden geçirmek istedim. Özgür yazılımlar için genel olarak Türkçe çeviri eksikliğinin kullanıma engel olmayacak durumda olduğunu söylemek mümkün. Bu çevirilerin çok az sayıda gönüllüyle sürdürüldüğünü hatırlatmak isterim. Çeviri oranlarının yüksek olması sanki bu konuda yapılacak bir şey kalmamış izlenimi doğursa da yazılım çevirisi süreklilik isteyen bir alan.

KDE: Geçen yıl %94 olan Türkçe çeviri oranı %82'ye gerilemiş durumda. Uzun yıllar boyunca hiç çevirilmemiş olan yardım içeriği geçen yıl bir atılımla %8 seviyesine ulaşmıştı. Bugün bu oranın %22 olması güzel ama yapılması gereken çok şey var bu konuda.

GNOME: Geçen yıl %99 olan arayüz çevirileri hala %99'da. Aradan geçen bir yılda eklenen her şeyin çevrildiği anlamına geliyor bu. Yardım içeriği hiç çevrilmeden duruyor. Bu konuda enerji ve motivasyon bulmak gerçekten çok zor.

Enlightenment: Geçen yıl %73 olan çeviri oranı %100'e ulaşmış durumda.

XFCE: Geçen yıl tamamı çevrilmiş olan xfce projesinin bugünkü çeviri oranı yine %100 seviyesinde.

LXDE: Geçen yıl olduğu gibi %100 çeviri oranına sahip.

LibreOffice: Özgür ofis paketi olan LibreOffice çevirileri de geçen yılın oranlarına çok yakın. Kullanıcı arayüzü %99, yardım içeriği ise %92 oranında Türkçe kullanılabilir durumda.

Bu çalışmaları sürdürenlerin ellerine sağlık!

20 Aralık 2018 Perşembe

Sen mutluluğun resmini yapabilir misin Abidin?

“sen mutluluğun resmini yapabilir misin Abidin
işin kolayına kaçmadan ama
gül yanaklı bebesini emziren melek yüzlü anneciğin resmini değil
ne de ak örtüde elmaların
ne de akvaryumda su kabarcıklarının arasında dolanan kırmızı balığınkini
sen mutluluğun resmini yapabilir misin Abidin
1961 yazı ortalarında Küba’nın resmini yapabilir misin
çok şükür çok şükür bugünü de gördüm ölsem de gam yemem gayrının
resmini yapabilir misin üstat
yazık yazık Havana’da bu sabah doğmak varmışın resmini yapabilir misin
”
Yukarıda alıntıladığım kısım Nazım Hikmet'in Saman Sarısı şiirinin en bilinen bölümünü sanırım. Aslında çoğunluk sadece "sen mutluluğun resmini yapabilir misin Abidin" mısrasını biliyor. Şiirde geçen Abidin'in ünlü ressamımız Abidin Dino olduğunu bile bilmeyenlerce çokça paylaşıldığını hepimiz görüyoruz. Okuyucu paylaştığı mısranın bir altındaki mısrayı okusa dahi ilk anda aklına gelenden farklı bir şey kast edildiğini anlaması zor olmayacaktır.
“Şiir yazanın değil, ihtiyacı olanındır.”
Ben de yukarıdaki sözün doğruluğuna inananlardanım ama biraz olsun anlam üzerinde düşününce Nazım'ın Abidin Dino'dan istediği şeyin "mutlu birinin" resmi olmadığını anlaşılacaktır. Aslında Nazım "mutlu"nun da resmini istememektedir. Onun istediği ve Abidin Dino'nun "Buna da ne tual yeterdi, ne boya" dediği şey "mutluluk" kavramının kendisidir. Bir kavramın resmini yapmak mümkün müdür, resmi yapılınca o da bir simgeye, hatta imgeye dönüşür mü gibi soruların üzerinde büyük kalabalıkların düşünmesini elbette beklemiyorum ama Nazım gibi derinlikli bir şairin bu kadar açık söylediği bir şeyin dahi anlaşılmıyor olmasına da şaşıyorum.

Bu konuyu İbrahim Balaban'ın Mapushane Kapısı tablosu üzerine Nazım Hikmet'in yazdığı şiirle tersine çevirip öyle bağlamak istiyorum.


Altı kadın vardı demir kapının önünde,
Beşi toprağa oturmuş, ayakta biri;

Sekiz çocuk vardı demir kapının önünde.
Besbelli henüz öğrenmemişler gülmeyi.

Altı kadın vardı demir kapının önünde,
Ayakları sabırlı, ellerinde keder,

Sekiz çocuk vardı demir kapının önünde,
Cin gibi bakıyor kundaktakiler.

Altı kadın vardı demir kapının önünde,
Sımsıkı gizlemişler saçlarını,

Sekiz çocuk vardı demir kapının önünde,
Biri kavuşturmuş avuçlarını.

Bir jandarma vardı demir kapının önünde.
Ne dost ne düşman, nöbet uzun, hava sıcak.

Bir beygir vardı demir kapının önünde,
Nerdeyse ağlayacak.

Bir köpek vardı demir kapının önünde.
Burnu kara, tüyü sarı,

Kamış sepetlerde yeşil biber vardı,
Torbalarda kömür, heybelerde soğan sarmısak.

Altı kadın vardı demir kapının önünde
Ve demir kapının ardında beş yüz erkek vardı efendim;
Altı kadından biri sen değildin, ama
Beş yüz erkekten biri bendim.
Son dörtlüğe gelene kadar şair tabloda bizim de gördüklerimizi sıralıyor gibiyken sonunda bambaşka bir duyguyu hissettirir bize. Nazım Hikmet "sanatçı sözcüklerle söylenemeyecek olanla uğraşır" sözünün ne kadar haklı olduğunu gösterir. Nazım tablodaki imgelerden, simgelerden yola çıkarak bizim göremediğimiz bir derinlik, bir başka anlam çıkartır.

Velhasıl mutluluğun resmi yapılsa bile onu anlayabilmek, kavrayabilmek o kadar da kolay olmayabilir.

19 Aralık 2018 Çarşamba

Bohemian Rhapsody ve Anayurt Oteli

"Sanatçı sözcüklerle söylenemeyecek olanla uğraşır. Sanat yaptığı araç kurmaca olan sanatçı ise bunu sözcüklerle yapar. Romancı, sözcüklerle söylenemeyecek olanı sözcüklerle söyler." Ursula K. Le Guin
Yanılmıyorsam AIDS diye bir hastalık olduğunu ilk kez Rock Hudson'ın ölümüyle 1985'te duymuştum. Böyle yakışıklı, hep güzel kadınlarla başrolde olan birinin  başka bir erkeği böyle nasıl sevebildiğini de anlamamıştım. İşin doğrusu hala da anlamış değilim ama bunun beni ilgilendirmediğini anladım artık.

Freddie Mercury'nin ölümünü duyduğumda çok üzüldüğümü hatırlıyorum. Haberlere tek ulaşım aracımız trt televizyonu ve gazeteler olunca (inanması güç ama internetin olmadığı dönemlerdi) ayrıntılı bir şeyler öğrenmek imkanı da olmamıştı. Sonradan hem müzik hakkında, hem de Freddie Mercury'nin hayatı hakkında çokça şey okuduğumdan Bohemian Rhapsody filminin çekildiğini duymak bile pek heyecanlandırdı beni. Uzatmadan yazayım filmi çok beğendim. Elbette rock müzik tarihinin en önemli solistlerinden birinin hayatını ve Queen gibi bir grubu iki saatte tamamen anlatmak mümkün değil. Benim çok önemli gördüğüm şeyler atlanmıştı ama seyrettiğim şeyin bir belgesel değil sanat eseri olduğunu düşününce bunlar önemsiz ayrıntılar oluyor.

Brain May rolünü oynayan oyuncu sanki gerçekten oymuş gibiydi. Başrol oyuncusunun performansını da çok beğendim. Freddie Mercury'ye yeterince benzemediğini düşünenlerin film hakkında olumsuz yazıları okuduğumda hayret ettiğimi söylemek isterim. Bugünün sinema teknolojisi ile herkesin herkese benzetilebileceğini aklı başında bütün sinema seyircisi biliyor olmalı. Ben başrol oyuncusunun Mercury'ye benzemesini ama tamamen oymuş gibi görünmemesini özellikle beğendim. YouTube üzerinden izleyebileceğimiz bu kadar fazla gerçek kayıt varken onlardan birini neredeyse aynı görünümlü oyuncularla tekrar izlemek kimin isteyeceği bir şey olur bilemiyorum.

Filmde Freddie Mercury'nin hayatından kesitlerin çok da yumuşatılmadan verilmesi bile seyirciyi rahatsız etmedi gördüğüm, duyduğum kadarıyla. Kimse ölümünün üzerinden bu kadar yıl geçtikten sonra Mercury'nin bir aziz olduğunu düşünmüyordu ve filmin başında bir kadına aşıkken arada pek saçma şeyler yaşayıp filmin sonunda başka bir adama aşık olmasını yadırgamadı seyirci. Elbette neredeyse otuz yıl önce ölmüş bir rock yıldızı ile empati kurmak gerçek hayatta karşılaştığımız biriyle empati kurmaktan çok farklı bir konu.

Rock Hudson ve Freddie Mercury derken konuyu Yusuf Atılgan'ın romanı Anayurt Oteli'ne bağlamak istiyorum. Yazarın diğer romanı olan Aylak Adam'dan oldukça farklı bir roman Anayurt Oteli. Sadece anlattığı konu ile değil, onu anlatış şekliyle de çok önemli bir roman. Romanda anlatıcının kim olduğunun, konuşanın Zebercet mi, yazar mı olduğunun karıştırılabileceği çok yer mevcut. Yusuf Atılgan romanın bazı bölümlerinde sadece roman kahramanını ve onun konuştuğu kişileri değil o sahnede Zebercet'in yerinde olsak görebileceğimiz hemen her şeyi birden anlatır. Karşı bankta oturan kadının ayakkabısının topuklu olup olmaması romanın gerisi için önemli değildir ama Zebercet'in kafası çok karışıktır, Yusuf Atılgan da bize bunu öyle karışık anlatır. Zebercet'in eşcinsel istekleri, romanın ortasında otelin temizlikçisini boğması, sonunda intihar etmesi onunla Freddy Mercury gibi empati kurmamızı çok zorlaştırır. Şeklin içeriğe had safhada uygun olduğu bir romandır Anayurt Oteli.

1973 yılında yazılan Anayurt Oteli'nin 1987 yılında sinemamızın önemli yönetmenlerinden Ömer Kavur tarafından filmi de çekildi. Ömer Kavur'un romanın yarısını anlamadığını, anladığı kısmı da çekmeye cesaret edemediğini düşünüyorum. Film hakkındaki yazılarda çoğunlukla önemli bir film diye bahsedilse de film romanın ancak kötü bir karikatürü gibi. Böyle dedim diye romanı değiştirmiş, başka türlü sinemaya aktarmış dediğim anlaşılmasın. Tam aksine filmdeki replikler dahi romandan birebir alınmış. Ömer Kavur romanı okurken gözünde neler canlanmışsa bunları birebir sinemaya aktarmaya çalışmış. Bunu yaparken Zebercet'in eşcinsel istekleri üzerinden çok kısaca geçebilmiş.

Ömer Kavur sanatın gerçeğin yeniden yaratılması olduğunu o kadar gözden kaçırmış ki romanı okumayan birinin filmin ruhunu anlaması, okumuş olanın da filmi beğenmesi mümkün değil. Bunu derken elbette sadece Anayurt Oteli'ni okumuş olan okuru değil, onun hakkında okumuş ve düşünmüş okuru kastediyorum. Yoksa sıradan okur ve sıradan sinema seyircisi elbette sadece imgelere odaklı bir edebiyat zevkine sahip olduğundan romanda geçen diyalogların aynısını filmde görünce yönetmenin romanı değiştirmediğini düşünüp mutlu bile olmuştur bundan. Halbuki romandaki konuşmaların aynısını sinema perdesinde dolaşan birilerine söyletmek midir sanat? Yönetmenin romanı anlamaması yüzünden oyunculara bir yorumlama alanı da kalmamış maalesef.

İşin doğrusu Anayurt Oteli ilk okumada kolayca anlaşılacak bir roman da değil. Romanın sonunda Zebercet kendini asarken dışarıdan duyduğu siren ve korna seslerine bir anlam veremez. Acaba hayat onu geri mi çağırıyordur? Okur da bunu kolayca anlayamaz. Ömer Kavur dahi bunu anlamamış ve romandan yapabildiği kadar kopyaladığı şeyler arasına bu ayrıntıyı almamış. Oysa 3 yıl daha beklese bu ayrıntının anlamını Berna Moran'dan öğrenebilecekti.

Edebiyat tarihimizin en önemli eleştirmenlerinden biri olan Berna Moran 1990'da yazdığı "Türk Romanına Eleştirel Bir Bakış - 2" adlı kitabında Anayurt Otelini incelemiş ve okuyucuya romanı yeniden başka bir gözle okuyabileceği pencereler açmıştır. Her roman okuru için ufuk açıcı bir üçleme olan bu seriyi mutlaka okumasını öneririm.

Yazının başında Ursula K. Le Guin'den yaptığım alıntıya geri dönersek; Yusuf Atılgan sözcüklerle söylenemeyecek olanı söyleyip bir başyapıt yazmışken Ömer Kavur onun romanında sadece söylediklerini filme çekmiş ve ancak kötü bir karikatür çizebilmiş.

18 Aralık 2018 Salı

Cenaze törenleri

Bütün ömrüm boyunca ölenin ardından yapılan merasimleri gereksiz gördüm. Biri bu dünyadan göçüp gittikten sonra onu toprağa gömmek için insanların bir araya gelmesi, ardından ölü evine gelmeleri, orada bir şeyler yiyip içmeleri işlevsiz olduğu kadar da anlamsız işler gibi geldi hep bana. Hele ölenin yakınlarının mezarın içine girmeleri ve ölen yakınlarını kefeniyle birlikte elleriyle toprağa bırakmaları onlara eziyet gelen işler gibi göründü uzaktan. Yakınını kaybetmenin acısı içinde olanların taziye ziyaretleri ile uğraşması da katlanılmaz ve gereksiz görevler gibiydi.

Cenaze törenlerinin ölenler için yapıldığını, ziyarete gelenlerle ilgilenmenin onlarla ilgili bir iş olduğunu düşününce gerçekten de böyle düşünmek kaçınılmaz. Burada elbette kitlesel törenlere dönüşen cenazelerden bahsetmiyorum, onların bütün olayı bambaşka. Bahsettiğim cenazeler camilerin, kiliselerin avlularından kalkan sıradan halkın cenazeleri.

Çok yakında anladım ki bu törenler aslında geride kalanlar için yapılıyormuş. İnsanın bir yakınını kaybetmesi hem kabullenmesi, hem de anlaması çok zor bir şey. Bunu haber aldığı ilk an insan yüreğinin gerçekten yandığını hissediyor. Tarifi öyle zor bir acı ki, insan değil bütün ömrünü bu acıyla geçirmek, kısa vadede bir zamanı bile bu yoğunlukta bir acıyla geçiremez. İlk anda hissedilen bu yüksek yoğunluklu acı, saatler içinde yerini yapılacak işlerin telaşının da araya girmesiyle insanı suçlu hissettirecek kadar yoğunluğunu kaybediyor. İlk anda konuşamayacak, hatta başka bir şey düşünemeyecek kadar insanı bastıran bu acı altındayken gelen telefonlarla, arkadaşlarla, akrabalarla ilgilenirken insan istese de (elbette acıyı kimse istemez ama) acının bu yoğunlukta kalması imkanı olmuyor. Bu süreçte yapayalnız olmak tahminim çok daha yıkıcı olur. İnsanların da uzaktan tanıdıkları, bazen tanımadıkları insanların bile cenazelerine gitmeleri geleneğinin ölenin yakınlarını tek başına bırakmamak niyetiyle olması gerekir.

Öleni artık bir daha göremeyecek olanların onun nereye gittiğini, ona ne olduğunu kavramsal olarak bilmesi o zamanda çok az işe yarayan bir bilgi oluyor maalesef. İnsanın yakınını eliyle toprağa bırakması tarifi zor bir süreç olsa da bunu yapmak, yapan birini görmek, hatta kürekle üzerine toprak atmak onun artık geri gelmeyeceğine, size sarılmayacağına tamamen inanmanızı sağlıyor.

Sonradan ziyarete gelen kimsenin başkasının evinde bir şey yemeye, içmeye ihtiyacı olmuyor elbette. Aslında kimse kimseyi teselli edemeyeceğini de biliyor. Zaten ölen birinin nasıl tesellisi olabilir ki? Ziyaretçilerin orada olmasının, gelip sizinle konuşmalarının asıl nedeni acının bu en yoğun döneminde sizi yalnız bırakmamak. Sonrasında acı kendiliğinden bu seviyenin altına düşüyor. O seviyede acıyla yaşayamaz zaten insan.

Bazen bir yazıyı bağlamak zor oluyor; bana gereksiz görünen cenaze törenlerinin böyle bir işlevi olduğunu anladım bu yaşımda diyerek bitireyim.

12 Aralık 2018 Çarşamba

Saatleri Ayarlama Enstitüsündeki Don Kişot

Cervantes'in büyük eseri Don Quijote 900 sayfayı aşan hacmiyle az ya da sadece özeti okunan bir roman. 400 yılı aşkın zaman önce yazılmış olmasına rağmen hala okunabilirliğini kaybetmemesini anlattığı olaylara değil de kahramanlarının hala aramızda yaşamasına bağlamak sanırım yanlış olmaz.
Özellikle Sancho Panza, Don Quijote'nin uşağı, sürekli etrafımızda gördüğümüz bir karakter. Don Quijote yaşadığı çağda şövalye olmamasına rağmen gezgin maceracı şövalye olmayı aklına koymuş ve bu uğurda her türlü deliliği yapan bir roman kahramanı. Etrafındaki herkes onun apaçık deliliğini görebiliyor ve bununla çoklukla eğleniyor. Aslında Sancho da aç, perişan gezmekten, dayak yemekten mutlu değil. Ne efendisini bir şövalye olarak görüyor ne de kendisini onun hizmetkarı. Peki neden Don Quijote'nin gün gibi açık deliliğine rağmen bu eziyete katlanıyor? Onun yel değirmenlerine, koyunlara saldırmasını, her hanı şato sanmasını, olmayan bir kadına aşık olmasını delilik olarak kendisi de görüyor olmasına rağmen Don Quijote'nin bir zafer kazanması durumunda kendisine vaad ettiği valilik makamı ona bütün bu delice şeylere rağmen tutunabileceği bir ümit ışığı olarak görünüyor. Hatta tüm deliliklerine rağmen Don Quijote'nin arada bir akıllıca tavsiyeler vermesinden cesaret alarak ümitleniyor. Kendisinin evi, eşi, çocukları olmasına rağmen ne kadar çalışırsa çalışsın sınıf atlayamayacağının farkında. Hem bu iş çalışmakla olsa bile o kadar da çalışmak istemiyor. Çok küçük bir ihtimal bile olsa bir delinin peşinden makam ümidiyle giden, onun vaadi haricindeki zırvalarına katlanan tanıdıklarınız yok mu sizin de?

Ahmet Hamdi Tanpınar'ın romanı Saatleri Ayarlama Enstitüsü'nde bambaşka bir konu işleniyor olmasına rağmen romanın ruhunda bir Don Quijote olduğunu düşünüyorum. Hayri İrdal ve Halit Ayarcı ilişkisi Don Quijote ve Sancho Panza arasındaki ilişkiye benziyor. Elbette Ahmet Hamdi'nin bu büyük romanının değerini gölgelemek için söylemiyorum bunu. Saatleri Ayarlama Enstitüsü'nü aklınızda Don Quijote varken okursanız bana hak vereceğinizi düşünüyorum. Hayri İrdal, Halit Ayarcı'nın kurduğu enstitünün, birlikte yaptıkları işin, kendisine yazdırılan kitabın zırdelilik olduğunun farkındadır. Halit Ayarcı ile tanışmadan önce o kadar saçmalıklarla dolu bir hayat yaşamıştır ve durumunun düzeleceğine karşı o kadar ümidi yoktur ki, kendisine tamamen delilik gibi görünen ama hayatını eskisinden çok yüksek standartlarda sürdürmesine imkan veren delice şeylere katlanır. Halit Ayarcı da aynı Don Quijote gibi kendisine anlamlı gelen ama okuduğumuzda en hafif ifadeyle saçmalık olan bir görevi kendisine misyon olarak belirlemiştir. Yine Don Quijote gibi misyonuna inancını kaybeder ve üzüntü içinde ölür.

Bu yazdıklarımdan Saatleri Ayarlama Enstitüsü'nün konusunun Don Quijote'den alındığını iddia ettiğim çıkarılsın istemem. Ahmet Hamdi Tanpınar edebiyatımızın çok önemli bir ismidir ve Saatleri Ayarlama Enstitüsü de bir başyapıttır.

Don Quijote ve Halit Ayarcı'nın ölümlerinden önce yaşadıkları hayal kırıklıkları ve üzüntü içinde ölmeleri hepimizi üzerken onların peşinden gidenlerin makam, mevki uğruna katlanarak geçirdikleri hayatların sonlarını bile bilmeyiz. Her iki romancı da bu karakterleri bize tanıtmış ama sonlarını bize göstermemiştir. Saatleri Ayarlama Enstitüsü'nde Halit Ayarcı romanın ilk yarısında yoktur, Hayri İrdal ana karakterdir ama Don Quijote'sini sonradan bulur.

Her Don Quijote'nin bir şekilde Sancho Panza'sını buluyor olması insanlığın dramlarından biridir.

11 Aralık 2018 Salı

"Kod yazabiliyorum ama algoritmasını yazamıyorum"

Yıllardır bilgisayar mühendisliği öğrencilerine algoritma ve programlamaya giriş anlatıyorum. Bütün eğitim hayatları boyunca sadece problem çözmeye odaklanmış olan öğrenciler için problemi çözme süreci üzerinde düşünmek çok zor geliyor. Öğrencilerin bir kısmı üniversiteye gelmeden önce de kodlamayı bir miktar biliyor olmasına rağmen bir problemi hangi süreçleri takip ederek çözdükleri üzerine neredeyse hiç düşünmemiş oluyorlar. Bu elbette bireysel olarak onların eksikliği değil, onları bu hale eğitim sistemimiz getiriyor.

Algoritma üzerinde düşünmek aslında problemi çözmek değil de onu çözümlemek anlamına geliyor. Üniversiteye gelene kadar problem çözümlerinde hep kısa yollar, formüller öğrenmiş; kavramları, tanımları önemsememiş gençler için bunları öğrenmek ve üzerinde düşünmek zorlu bir süreç oluyor. Hemen kod yazmaya geçmek istiyorlar ama problemi çözümlemeden kodunu yazmak işlevsiz bir çaba oluyor. Algoritma yazmak veya akış şeması çizmek için harcanan zaman boşa geçiyormuş gibi geliyor genç arkadaşlara.

Bu denizi doldurmak için yapılan çalışmalara benziyor biraz. Kayaları taşıyan ilk kamyonların döktüklerinin suyun içinde kaybolup gittiğini görürüz başlarda. Sanki bir sonsuzluğun içine bıraktığımız bu kayalar asla kıyının seviyesine gelemeyecek gibidir. Eğer yeterince kayayı suya dökersek zamanla suyun yüzeyinden görülebilir olduklarını görürüz. Bu işleme sabırla devam edince kayalar suyun yüzeyini de aşarlar. Programlama öğrenme sürecinin başında algoritma üzerinde düşünürken, yazarken işte bu kayaları denize döküyoruz. Hemen ortaya bir şey çıkarmak isteyenler, for'ları, while'ları ve if'leri yazmak ve o denizi hemen doldurmak istiyorlar.

Karl Marx'ın en kötü mimarı en iyi arıdan ayıran özelliğinin mimarın yapacağı işi önce aklında inşa etmesi olarak vurgulamasını yazılım dünyası için de düşünmek hatalı olmayacaktır. 



İşin doğrusu bazı durumlarda çözülecek problem üzerinde çokça düşünmeye değecek kadar derinlikli olmuyor. Hele iş hayatında insanın karşısına sürekli meydan okumalarla dolu sorunlar çıkmıyor. Süreç üzerinde düşünme disiplini olmayan biri için her sorun böyle kolayca çözülebilir gibi geliyor olabilir ama elbette her zaman böyle olmuyor.

Bir örnekle problemin önce akılda çözülmesinin önemini göstermek istiyorum. Aşağıda bir üçgen şeklinde dizilmiş sayılara bakalım. Bize yukarıdan aşağı doğru sadece birbirine temas eden sayılarla elde edebileceğimiz en büyük toplam soruluyor olsun.
Takip edilebilecek rotaların sayısı sadece 8 olduğundan olası bütün rotaları hesaplayıp en büyüğünü seçersek 308 toplamını bulmak zor olmayacaktır. Şimdi bu sayı dizisini biraz büyütelim.

Yukarıdaki şekilde 15 satır var, yani takip edilebilecek rotaların sayısı 2^14 tane. Bu da 16384 farklı rota demek oluyor. İlkine göre bir hayli fazla olsa da burada da tüm rotaları hesaplayıp en büyüğünü seçmek imkanı var. En yavaş bilgisayarlarda bile oldukça kısa sürede hesaplanabilecek şekilde kodlamak mümkün bu yöntemi.

Peki ya satırların sayısı 100 olsaydı? Bu durumda hesaplanacak farklı rota sayısı 2^99 olacaktı. Bu da 633825300114114700748351602688 farklı rota demek olur. Bu 30 basamaklı bir sayı olduğundan bütün rotaları hesaplayarak sonuca ulaşamayacağımız herkes için çok açık olmalı. Ne bu kadar farklı rotayı hesaplayabilir ne de, hesaplasak bile, bunları bir yerde saklayabiliriz. İşte "kod yazabiliyorum ama algoritmasını yazamıyorum" diyenlerin tıkandığı nokta burasıdır. Yöntem üzerinde düşünmeyen ancak sonucu apaçık görünen problemleri çözebilir.

Buraya kadar sabırla okuyanlar için çözümü de yazıp öyle bitirmek istiyorum bu yazıyı. Çözümü 8 farklı rotanın olduğu durum için anlatacağım ama kolayca genişletebilirsiniz. Problemi yukarıdan aşağıya doğru değil de aşağıdan yukarı doğru çözmeye çalışalım. En alttaki satırın bir üstüne kadar gelmiş olsaydık en alt satırdakilerden hangisini seçerdik diye düşünelim. Yani bir şekilde 17'ye gelmiş olsaydık, en büyük toplamı elde etmek için 18'e mi, 35'e mi giderdik? Elbette 35'e gitmeliydik. Aynı şekilde 47'den de 87'ye gitmeliydik. Son olarak 82'den de 87'ye giderdik. O zaman üçüncü satırdaki her sayıdan altındaki satırdaki ulaşabildiği sayıların en büyüğüne gideceğimizi görmüş olduk. Şimdi problem şu hale geldi.

                                   75
                       95                       64
17+max(18,35)  47+max(35,87)  82+max(87, 10)

İşlemleri yapınca:

     75
   95 64
52 134 169

Aynı işlemi ikinci satır için yapalım:
                         75
95+max(52,134) 64+max(134,169)

Burada işlemleri yapalım:
     75
229 233

Aradığımız sonuç böylece 75+max(229,233)=308 olacaktır. Bir kere böyle düşünmeyi akıl ettiğimizde satır sayısının ne kadar fazla olduğunun bir önemi kalmayacaktır. Yazacağımız kod 100 satır için bir saniyede çözüm bulacakken, bunu düşünmeyenlerin yazacağı kod milyarlarca yılda sonlanmayacaktır. Algoritma hakkında düşünmek ve düşünmemek arasındaki fark işte bu büyük uçurumdur.

4 Aralık 2018 Salı

LibreOffice için Türkçe imla denetimi eklentisi: zemberek-extension

Zemberek-NLP Ahmet A. Akın ve Mehmet D. Akın'ın 10 yıldan uzun zamandır geliştirdikleri bir özgür yazılım projesi. Proje Türkçe için doğal dil işleme araçları içeriyor [1]. Bir dönem Pardus tarafından kullanımı ile çok bilinen bir projeydi ama bir süre hem Pardus sahipsiz kaldı, hem de Zemberek geliştiricileri gönüllü olarak yaptıkları işe bir süre ara verdiler. Zemberek sadece imla denetimi işini yapmıyor olsa da son kullanıcıya en çok ulaştığı yer burası. Özellikle LibreOffice kullanıcılarının imla denetimi yaptırabilmeleri ciddi bir ihtiyaç.

Zemberek-NLP bu yıl içinde yeniden geliştirilmeye başlandı. Uzun yıllardır el değmemiş olan LibreOffice eklentisi de baştan hazırlandı [2]. Eklentiyi hazırlama kısmında Okan Özdemir ve Talha Kanyılmaz da çalıştılar. Eklenti henüz ilk sürümünde olduğundan hatalar içerebilir. Deneyip geri bildirimde bulunulursa çok iyi olur. Kurulum ve diğer konular için eklentinin sayfasına bakılabilir.


[1] https://zembereknlp.blogspot.com
[2] https://github.com/COMU/zemberek-extension

4 Kasım 2018 Pazar

İnsan düşünemediği kavramlarla öğrenebilir mi?

Düşünce hayatımızda kelimelerin büyük önemi var. Bir kavramla ilgili bilgimiz onu açıklayabildiğimiz kelimelerle büyük ölçüde belirleniyor. Özellikle lisans eğitimine kadar, hatta o aşamada bile, yeni duyduğumuz bir kavramı aklımızda canlandırabilmemiz çok önemli. Örneğin ben belgelendirme kelimesini duyduğumda kelime Türkçe olduğu için belge kökünden geldiğini anlayıp belgelendirme kavramının neyle ilgili olduğunu anlayabiliyorum. Benzer şekilde documentation'ı duyduğumda da kelime İngilizce ve document'in anlamını biliyorum yine kavramla ilgili bir fikrim oluyor. Şimdi dokümantasyon kelimesine bakalım; İngilizce bilmeyen biri için (neredeyse ülkenin tamamı için) bu kelime hiçbir anlam ifade etmiyor. İnsan belli bir eğitim seviyesinden sonra anlamını okulda, çalışma hayatında, günlük hayatında bilmediği kelimelerle de düşünebiliyor ama bu liseye kadar olan eğitim hayatımızda çoğunlukla yapamadığımız bir şey. Yaşımız daha küçükken ve daha az şey bilirken ancak üzerinde düşünebildiğimiz kavramları gerçekten öğrenebiliyoruz.

Bu konuya ikna olabilmeniz için size basit bir deney önermek isterim. Denek olarak meslekten matematikçi olmayan herhangi birini, mümkünse bir lise öğrencisini seçebilirsiniz. Deneyin adımlarını şu sırayla yapın:
  • Rasyonel sayı nedir diye sorun. 7. sınıfta rasyonel sayı kavramı çocuklara anlatılıyor (öğretilemediğini göreceğiz) Normalde bu soru için alacağınız cevap a/b (a bölü b) şeklinde yazılabilen sayılardır olacaktır. b'nin sıfır olamaması gibi ayrıntılara takılmayalım. Bu soruya çoğunlukla doğru cevap alacaksınız.
  • Rasyonel ne demek diye sorun. Bu soruya akla uygun, akılcı, ussal gibi cevaplar almanızı bekliyoruz. Bu soruya çoğunlukla doğru cevap alamayacaksınız. Deneğiniz rasyonel kavramını bildiğini ama açıklayamadığını söyleyecektir sıklıkla. Doğru cevabı söyleyip devam edelim.
  • İrrasyonel sayı nedir diye sorun. Cevabı siz de hatırlamıyorsanız sorun değil :) Bu soru için de doğru cevap a/b (a bölü b) şeklinde yazılamayan sayılardır olmalı. Rasyonel sayılar kümesine dahil olmayan gerçek sayılardır gibi bir cevap beklemiyoruz. Bu kavramı bildiğini gösteren bir ifade bize yetecektir.
  • İrrasyonel ne demek diye sorun. Rasyonel olmayan :) cevabını almanızın ardından akıl dışı, ussal olmayan diyerek doğru cevabı verelim.
Buraya kadar olan sorularla sanki bir matematik sınavı yapıyormuşuz gibi gelmiş olabilir ama niyetimiz bu değil. Yukarıdaki sorulara doğru cevap versin veya veremesin ortalama birinin rasyonel ve irrasyonel sayılarla işlem yapabildiğini göreceksiniz. Deneğiniz eğer yeterince büyükse ve bunu yapamıyorsa sorun başka demektir zaten. Burada cevaplamak istediğimiz soru yukarıdaki bilgilerin gerçekten irrasyonel sayı kavramını öğretmeye yetip yetmediği olacak. Son sorumuz:
  • İrrasyonel sayılarda akıl dışı olan nedir diye sorun. Deneğiniz bunu daha önce hiç düşünmemiş olacaktır muhtemelen. Bir sayı a/b şeklinde yazılamıyorsa neden akıl dışı olsun, karekök 2 neden akıl dışı, onun a/b şeklinde yazılamadığını gösterebilir misin gibi sorular en az 6 yıl matematik dersi dinlemiş birinin cevaplaması gereken sorular değil mi? 
Çok az denek bu soruya tatmin edici bir cevap verebilecektir. O halde biz verelim. Matematikçiler eskiden doğadaki uzunlukların sayıların oranlarıyla ölçülebileceğini düşünüyorlardı. Böyle düşünen birine bir dik üçgen versek bütün kenarlarını aynı cetvelle ölçebilmesi gerekir. Dik üçgenin iki kenarının uzunluğu 1 birim olsun. Hipotenüsün uzunluğunu meşhur pisagor teoreminden biliyoruz kök 2 birimdir. Yine biliyoruz ki karekök 2, a/b şeklinde yazılamayan bir sayıdır. Yani hipotenüsü cetvelimizin üzerine yerleştirsek bir ve yalnız bir noktaya karşılık gelirken biz o noktayı daha önceden olduğu gibi (rasyonel sayılarda yaptığımız gibi) okuyamayız ama o uzunluğu ölçebiliriz de. İşte irrasyonel sayıların matematikçilere akıl dışı gelen yanı burasıdır.

Liseyi bitirene kadar çocuklarımıza altı yıl rasyonel ve irrasyonel sayıları anlatıyoruz ama bu sayıların adlarının nereden geldiğini merak ettirip sordurmuyoruz. Çocuklarımızın "akıl dışı sayı mı olur öğretmenim?" sorusunu sormamalarının nedenlerinden birinin kavramların bilmedikleri kelimelerle öğretilmeye, ezberletilmeye çalışılması olduğunu düşünüyorum. Bu kavramları akılcı (rasyonel), akıl dışı (irrasyonel) karşılıklarıyla öğretmeye çalışsaydık çocuklar akıl dışı sayı mı olur derlerdi hemen. Oranlı ve oransız sayılar desek de aynı etkiyi elde edebilirdik.

Çocuklar bu kavramlar hakkında düşünmeyecekse neden anlatıyoruz bunları? Mühendislik yapmayacak veya bilimin bir alanında çalışmayacak kimsenin 2'nin karekökünü almaya veya pi'nin basamaklarını hesaplamaya ihtiyacı yoktur. Karekök 2'yi 1,4 alan biri doğruya çok yakın bir hesap yapabilir. Pi'yi 3 alan da çok şey kaybetmez. Buradan bu kavramlar hakkında düşünmemeliyiz anlamı çıkarırsak çok hata ederiz. Ediyoruz.

Çocuklarımızı düşünmeyen, sorgulamayan, merak etmeyen insanlar olarak yetiştirmeyelim.

Meraklısı için ilave soru: İmajiner sayıları okulda öğrenmiş bir lise öğrencisine -i sıfırdan büyük mü küçük mü diye sorun. İmajiner sayılarla işlem yapmayı bilenlerin pek azının soruya doğru cevap vermesinde nice ibretler var.

31 Ekim 2018 Çarşamba

Kindle Oasis: en güzeli ama şarjı en az dayananı

Belki almayı düşünenlere faydası olabilir diyerek daha önce Kindle Keyboard (2010), Kindle Paperwhite (2013) ve Kindle Voyage (2015) kullanmış biri olarak yeni aldığım Kindle Oais hakkında yazayım istiyorum.
  * Oasis'in diğer kindle'lardan en önemli farkı bence 7" ekranı. Diğer kindle'ların ekranları 6" iken Oasis onlardan daha uzun değil ama daha geniş. Elinize alınca basılı kitaplara daha yakın bir oranda olduğunu hissediyorsunuz.
* 300 ppi çözünürlüğü ile daha fazlasını aramayacağınız bir okumaya deneyimi sunan Oasis'in aydınlatması da benim bundan önce kullandığım tüm kindle'lardan daha başarılı. Yanlardan yapılan aydınlatmaların hangi noktadan geldiği belli olmayacak kadar başarılı bir tasarımı var. Parlaklığı otomatik ayarlama konusunda da çok iyi.
* Su geçirmiyor oluşu bir ekitap okuyucu için nasıl bir ihtiyaç çözemesem de böyle bir özelliği olduğunu da not düşeyim.
* Metal yüzeyi bir ekitap okuyucu için berbat. Tamamen metalden yapılmış yüzeyi asla ısınmıyor ve elinizdekinin kitaptan çok farklı bir şey olduğunu sürekli hissediyorsunuz.
* Cihazın küçük bir kısmı cep telefonunuz kadar kalınken geri kalan kısım yarısı kalınlığında. Önce bunun elimde tutarken bir denge sorununa yol açacağını düşünmüştüm ama öyle olmadı. İnce tarafı gerçekten çok ince.
* Amazon eski kindle'lara kulaklık girişi koymasına rağmen sonradan bunu kaldırmıştı. Oasis ile birlikte kulaklık girişi geri gelmese de bluetooth bağlantı imkanı getirilmiş. Görme engelliler ve sesli kitap dinlemek isteyenler için kullanışlı olacağını düşünüyorum.
* Disk kapasitesi en az 8gb olarak satılıyor ama ekitaplar o kadar az yer kaplıyor ki bu benim için ciddi bir getiri sayılmaz.
* Sayfa değiştirmek için hem dokunmatik ekran hem de yanlardaki tuşları kullanmak mümkün. Dokunmatik ekranı etkisiz hale getirmek de mümkün.
* Amazon hala kullanılabilir bir tarayıcı geliştirebilmiş değil. Neden temel işlevleri yerine getirebilen bir tarayıcı yazdırmıyorlar insan hayret ediyor.
* Ekranı hala renkli değil. 
* Şarjı diğer kindle'lara kıyasla dramatik derecede az dayanıyor. Eskiden Voyage'ı ayda bir şarj ederken Oasis'i haftada bir şarj ediyorum. Cihazın inceliğinin arkasındaki pilden alındığını tahmin etmek güç değil ama şarjdan vazgeçip daha ince bir kindle alma hayalim yoktu doğrusu.
* 250$'lık fiyatıyla çok çok pahalı.

7 Kasım'da piyasaya çıkacak Paperwhite'ın son hali 130$ olacak ve o da su geçirmeyecekmiş (kimin ihtiyacı varsa). Bence bekleyip onu alın. 7" ekran ve aydınlatması çok başarılı ama bu kadar az şarj ve bu fiyata Oasis almayın.

1 Ekim 2017 Pazar

Hangi Masaüstü Ne Kadar Türkçe Konuşuyor? -10-

Dönem dönem düşen masaüstü ortamlarının çeviri oranlarının çok yükseldiği bir zamanda yazabildiğim için mutluyum. Aşağıdaki rakamlara bakınca bir GNU/Linux dağıtımı kullanmanın önündeki (eğer varsa) engellerden birinin yerelleştirme olmadığını rahatça söyleyebiliriz sanırım.

KDE: Geçen yıl %81 olan KDE çeviri oranı büyük bir artış göstererek %94 seviyesine çıktı. Daha önce neredeyse hiç çevirisi olmayan yardım içeriğinin de %8'i Türkçeye çevrildi. Çok yakında daha yükseğe çıkacağını tahmin ediyorum. KDE'nin en çok yerelleştirildiği 12. dil Türkçe.

GNOME: Geçen yıl %90 olan çeviri oranı %99'a yükseldi. Yardım içeriği neredeyse hiç çevrilmeden duruyor.

Enlightenment: Geçen yıl %74 olan çeviri oranı %73'e geriledi.

XFCE: Xfce web sayfası da dahil olmak üzere %100 çeviri oranına sahip.

LXDE: Lxde projesinde yer alan bütün yazılımlar %100 Türkçe çevirisine sahip.

LibreOffice: Özgür ofis paketi LibreOffice'de çeviri durumu çok iyi. Bütün sürümlerin arayüzleri %100 Türkçe'ye çevrilmiş durumda. Yardım içerikleri de %99 civarında yerelleştirildi.

Çevirmenlerin ve onlara destek olanların eline sağlık!

20 Eylül 2017 Çarşamba

XXII. Türkiye'de İnternet Konferansı, Akademik Bilişim 2018 ve 3. Kamu Açık Kaynak Konferansı

Türkiye'de İnternet Konferanslarının yirmi ikincisi bu yıl 2-4 Kasım 2017 tarihlerinde Bahçeşehir Üniversitesinde yapılacak.

3. Kamu Açık Kaynak Konferansı ise 25-26 Ekim 2017 tarihleri arasında ATO Congresium'da düzenlenecek.

Yirminci Akademik Bilişim Konferansı için Karabük Üniversitesi ev sahibi olacak ve 31 Ocak - 2 Şubat 2018 tarihlerinde gerçekleşecek.

Bilişim camiasının bu üç büyük buluşmasını takvimlerinize şimdiden işaretleyin de sonradan keşke haberim olsaydı demeyin.

28 Mayıs 2017 Pazar

Özgür yazılım ile açık kaynağın ne farkı var?

Özgür Yazılım hareketi 1983'de başlayan ve kullanıcıların yazılımları çalıştırma, anlama, değiştirme ve değiştirdikleri halini dağıtma özgürlüklerini savunan bir harekettir. Açık Kaynak ise neredeyse aynı ilkeleri farklı ifadelerle savunan ve 1998'de ortaya çıkan, özgür yazılım topluluğunun içinden çıkan bir oluşumdur. Özgür Yazılım hareketinin başlatıcısı Stallman açık kaynağı bir yazılım geliştirme metodolojisi, özgür yazılımı ise bir sosyal hareket olarak görmektedir. Stallman uzun yıllardır neden kendisini bir açık kaynak savunucusu olarak kabul etmediğini yazılarıyla ve konuşmalarıyla anlatıyor olsa da çok fazla anlaşıldığı söylenemez. Bu yazıda ikisi arasında bir fark var mı ve biz hangi ifadeyi kullanmalıyız konularını tartışmak istiyorum.

Lisans

Bir yazılımla ne yapabileceğinizi belirleyen şey onun özgür yazılım veya açık kaynak olması değil o yazılımın kullandığı lisanstır. Temel kavramları aynı bile olsa her özgür yazılım lisansı aynı kullanım şartlarını sunmaz. Watcom lisansı gibi neredeyse kimsenin kullanmadığı lisansları bir tarafa bırakırsak bütün açık kaynak yazılım lisanslarının aynı zamanda özgür yazılım lisansı olarak kabul edildiğini görürüz. Konuya lisanslar açısından bakınca özgür yazılımlar ile açık kaynak yazılımlar arasında bir fark yoktur [3].

Yanlış anlamalar

Türkçe konuşan insanlar olarak "free software" ifadesinde yaşanan "bedava" mı "özgür" mü karışıklığını yaşamıyor olmamıza rağmen "open source" yazılım denildiğinde sadece kaynak kodu açık olan yazılımın anlaşılması gibi sorunla, İngilizce konuşanlar gibi, karşı karşıya kalıyoruz. Özgür yazılım denildiğinde arkasında yazılımın ve kullanıcıların özgürlüklerini önemseyen, onun için mücadele eden bir felsefe olduğunu anlamak kolay olmasına rağmen maalesef onun hakkında da kafa karışıklığı az değil. Genel Kamu Lisansı (GPL) en bilinen özgür yazılım lisanslarının başında geliyor olmasına rağmen tek özgür yazılım lisansı değil. GPL özgür yazılımın dört şartına ek olarak Copyleft kavramını da kullanmaktadır. Özgür yazılımın şartları yazılımı sizin nasıl haklarla edineceğinizi belirlerken Copyleft onu nasıl dağıtmanız gerektiğini söyler. Yani Copyleft özelliğine sahip bir lisansla lisanslanmış bir yazılımı yine aynı şartlarla dağıtmanız gerekir [1]. Bütün özgür yazılım lisanslarının böyle bir zorunluluğu olmamasına rağmen maalesef genel kanı bu yönde ülkemizde.

Açık kaynak ise ülkemizde en az anlaşılan kavramlardan biri. Bunda adının yaptığı çağrışımın etkisi de büyük elbette. Hem kullanıcılar, hem de önemli miktarda geliştirici bir yazılımın kaynak kodunu görebildiğinde onu açık kaynak sanmak gibi bir kavramsal hataya düşüyor [2]. Github benzeri bir kod barındırma ortamına yazılımının kaynak kodlarını koyan bir yazılımcı onun hemen açık kaynak olduğu yanılgısına kapılıyor.

Açık kaynak yanlış anlaşılmaya çok müsait olduğundan açık kaynak ifadesini her kullandığımızda onun kaynağı açık olan yazılım anlamına gelmediğini ve mevcut 10 şartını anlatmak oldukça zor bir iştir. Bunu yapmadığımızda hem özgür yazılım hem de açık kaynak hareketlerinin uğraştıkları konuları önemsememiş oluruz. Özgür yazılım dediğimizde birilerinin kafasını karıştırma riski oldukça düşüktür. Günümüzde gittikçe artan bir hızla özel mülk yazılımların da kaynak kodlarının açıldığını hesaba katarak, insanları yanlış yönlendirmemek için açık kaynak yerine özgür yazılım ifadesini kullanmak daha doğru bir hareket olacaktır.

Düşmanımız açık kaynak değil özel mülk yazılımdır

Özgür yazılım taraftarları olarak sıklıkla açık kaynak ifadesini özgür yazılım olarak düzeltiyoruz. Bunu kafa karışıklığına neden olmamak için yaptığımız halde, istemeden de olsa, sanki açık kaynağın kötü bir şey olduğu algısını da yaratabiliyoruz. Halbuki durum böyle değil. Özgür yazılım ve açık kaynak hareketleri kullanıcıların özgürlüklerini savunan hareketlerdir. Biz özgür yazılım savunucuları açık kaynağı düşman olarak görmeyiz. Hem özgür yazılımın hem de açık kaynak yazılımın insanlık için kötü olarak kabul ettiği yazılımlar özgür olmayan (özel mülk) yazılımlardır.
We in the free software movement don't think of the open source camp as an enemy; the enemy is proprietary (nonfree) software.

[1] http://www.nyucel.com/2017/05/genel-kamu-lisansnn-gpl-onemli-fark.html
[2] http://www.nyucel.com/2017/05/ack-kaynak-sadece-kaynak-koda-erisim.html
[3] http://www.nyucel.com/2017/05/ozgur-yazlm-m-ack-kaynak-m-1.html

20 Mayıs 2017 Cumartesi

Özgür Yazılım mı Açık Kaynak mı?

Yazılım lisansları son kullanıcı tarafında neredeyse hiç okunmayan metinler olmalarına rağmen yazılım geliştiriciler arasında bile yaygın olarak okundukları söylenemez. Elbette son kullanıcının yazılım lisansıyla ilişkisi geliştiriciden çok farklıdır. Elindeki yazılımı nasıl değiştireceği, başka bir yazılım içinden nasıl çağırabileceği, statik mi dinamik mi derlemesi gerektiği, kendi koduna birlikte dahil edebileceği yazılımların lisanslarının nasıl olması gerektiği gibi konularla ilgilenmez son kullanıcı. Bu bahsettiğim durumlarda geliştiricilerin nasıl davranması gerektiği lisans metinlerinde genellikle ayrıntılı olarak tarif edilir.

Son kullanıcı genellikle yazılımı özgürce kullanabiliyor mu, başkasıyla paylaşabiliyor mu, gelecekte de kullanabilecek mi, güvenli mi gibi konularla ilgilenir. Son kullanıcının yazılımın lisansını okumadan da onunla ilgili neler yapabileceğini öğrenmesinin bir yolu yazılım lisansının hangi sınıfa girdiğini ve o sınıftaki yazılımların belirleyici özelliklerini bilmesidir. Eğer yazılım bir özgür yazılımsa onunla yapılabilecek şeyler çok kısa ve net bir şekilde belirlidir [1]. Biraz daha fazla madde içeren açık kaynak bir yazılımın şartları da net olarak tarif edilmiş durumdadır [2]. Örneğin elde ettiğiniz yazılım GPLv3 ile lisanslanmışsa ve bu lisansın bir özgür yazılım lisansı olduğunu biliyorsanız diğer ayrıntılarla çok ilgilenmeden onu gönül rahatlığıyla kullanabilirsiniz.

Özgür yazılım ve açık kaynak lisanslarıyla ilgili şartları okuduğunuzda aradaki farkı kolayca anlamanız mümkün olmayabilir. Bu sizi tedirgin etmesin zaten büyük kalabalıkların da durumu böyle. Bir yazılıma açık kaynak dediğinizde biri sizi "hayır o özgür yazılım" diye uyarıyorsa "arada ne fark var?" diye sorun. Çok büyük ihtimalle açıklayamayacaktır. Bu yazıyı çok uzatmamak için aradaki kavramsal ayrılıkları bir başka yazıya bırakıp burada hangi lisanslar özgür yazılım, hangileri açık kaynak kategorisine giriyor göstermek istiyorum.

Hangi lisansların özgür yazılım kategorisine girdiğini görmek isteyenler buraya [3], açık kaynak yazılım lisanslarının hangileri olduğunu görmek isteyenler buraya [4] bakabilirler. Özgür yazılımla ilgili bağlantıya bakarsanız (biliyorum çoğunluk bakmayacak) hangi lisansların GPL-uyumlu olduğunu, hangilerinin GPL uyumlu olmasa da özgür yazılım olduğunu görebilirler. Hangi lisansların özgür yazılım lisansı olarak kabul edilmediği de nedenleriyle birlikte açıklanmış durumda. Bir lisansın GPL-uyumlu olması o lisansla yazılmış bir kodun GPL lisanslı bir yazılıma dahil edilip dağıtılabileceği anlamına gelir.

GPLv3 uyumlu özgür yazılım ve açık kaynak lisansları


Aşağıdaki lisanslar hem GPLv3-uyumlu özgür yazılım lisansları, hem de açık kaynak lisanslarıdır. Sayıları sizi şaşırtacak kadar fazla olan bu lisansların listesi şöyle:
  • 2-clause BSD License (BSD-2-Clause)
  • 3-clause BSD License (BSD-3-Clause)
  • Apache License 2.0 (Apache-2.0)
  • Artistic License 2.0 (Artistic-2.0)
  • Boost Software License (BSL-1.0)
  • CeCILL License 2.1 (CECILL-2.1)
  • EU DataGrid Software License (EUDatagrid)
  • eCos License version 2.0
  • Educational Community License, Version 2.0 (ECL-2.0)
  • Eiffel Forum License V2.0 (EFL-2.0)
  • GNU Affero General Public License version 3 (AGPL-3.0)
  • GNU General Public License version 2 (GPL-2.0)
  • GNU General Public License version 3 (GPL-3.0)
  • GNU Lesser General Public License version 2.1 (LGPL-2.1)
  • GNU Lesser General Public License version 3 (LGPL-3.0)
  • Historical Permission Notice and Disclaimer (HPND)
  • ISC License (ISC)
  • MIT License (MIT)
  • Mozilla Public License 2.0 (MPL-2.0)
  • Python License (Python-2.1)
  • Sleepycat License (Sleepycat)
  • Universal Permissive License (UPL)
  • W3C License (W3C)
  • wxWindows Library License (WXwindows)
  • Zope Public License 2.0 (ZPL-2.0)
  • zlib/libpng license (Zlib)

GPLv3 uyumlu olmayan özgür yazılım ve açık kaynak lisansları

Bazı özgür yazılım lisansları GPL-uyumlu olmayabiliyor. Genel Kamu Lisansının diğer özgür yazılım lisanslarından farkını daha önce yazmıştım, belki okumak isteyebilirsiniz şimdi [1]. GPL uyumlu olmadığı halde özgür yazılım lisansı olan lisansların sayısı da az değil. Bunların arasından açık kaynak lisansı olarak da adı geçenlerin listesi de şöyle:
  • Academic Free License 3.0 (AFL-3.0)
  • Apple Public Source License (APSL-2.0)
  • Common Public Attribution License 1.0 (CPAL-1.0)
  • Eclipse Public License 1.0 (EPL-1.0)
  • European Union Public License, Version 1.1 (EUPL-1.1)
  • IBM Public License 1.0 (IPL-1.0)
  • LaTeX Project Public License 1.3c (LPPL-1.3c)
  • Lucent Public License Version 1.02 (LPL-1.02)
  • Microsoft Public License (MS-PL)
  • Microsoft Reciprocal License (MS-RL)
  • Mozilla Public License 1.1 (MPL-1.1)
  • Nokia Open Source License (Nokia)
  • Open Software License 3.0 (OSL-3.0)
  • PHP License 3.0 (PHP-3.0)
  • Q Public License (QPL-1.0)
  • RealNetworks Public Source License V1.0 (RPSL-1.0)
  • Sun Public License 1.0 (SPL-1.0)
  • Zero Clause BSD License (0BSD)

Açık kaynak olduğu halde özgür yazılım olmayan lisanslar

Peki açık kaynak olduğu halde özgür yazılım lisansı olarak kabul edilmeyen lisanslar neler? diye soruyor olmalısınız şimdi? Eğer özgür yazılımın ve açık kaynağın şartlarını okumuşsanız bunun kolay kolay sağlanamayacak bir durum olduğunu biliyor olmalısınız ama [3] ve [4] adreslerinde adı geçen ve bu şartı sağlayan sadece bu kadar az lisans olduğunu okumak sizi şaşırtacaktır sanırım. Eğer bu lisanslardan biriyle lisanslanmış bir yazılıma açık kaynak derseniz doğruyu söylemiş olurken, özgür yazılım derseniz hatalı bilgi vermiş olursunuz.
  • NASA Open Source Agreement 1.3 (NASA-1.3)
  • Reciprocal Public License 1.5 (RPL-1.5)
  • Sybase Open Watcom Public License 1.0 (Watcom-1.0)
Buraya kadar sabırla okuduysanız bütün özgür yazılımların doğal olarak açık kaynak olduğunu biliyor olmalısınız. Bu bilgilerden sonra neredeyse bütün açık kaynak yazılımların da özgür yazılım olduğunu görmüş oldunuz.

Arada hiç mi fark yok?

Her ne kadar neredeyse bütün açık kaynak yazılımlar özgür yazılım olmanın kriterlerini yerine getiriyor olsalar da doğrusu yazılım kendisini nasıl tanımlıyorsa o terimi kullanmaktır. Örneğin Genel Kamu Lisansı ile lisanslanmış bir yazılım kendini açık kaynak olarak tanımlıyorsa ona açık kaynak demek doğrusudur ama tersini söylemekte de teknik olarak hatalı bir durum olmadığı herkesçe açık olmalı.

Özgür yazılım ve açık kaynak aynı şey mi?

Yukarıda okuduğunuz şeylere rağmen özgür yazılım ve açık kaynak farklı dünya görüşlerini temsil eden fikirler. Bu konu hakkında ayrı bir yazı okumak isterseniz buradan okuyabilirsiniz.

[1] http://www.nyucel.com/2017/05/genel-kamu-lisansnn-gpl-onemli-fark.html
[2] http://www.nyucel.com/2017/05/ack-kaynak-sadece-kaynak-koda-erisim.html
[3] https://www.gnu.org/licenses/license-list.html
[4] https://opensource.org/licenses/alphabetical

16 Mayıs 2017 Salı

Özgür yazılım penceresinden WannaCry

Birkaç gündür neredeyse bütün haberlerde bir fidye yazılımı olan WannaCry hakkında okuyoruz. Microsoft'un bütün işletim sistemlerini etkileyen bir samba açığından faydalanan bu yazılım kullanıcıların bilgisayarlarındaki dosyaları şifreledikten sonra 300$ ödeme yapmaları halinde bu durumdan kurtulabileceklerini anlatan bir mesaj gösteriyor. İşin teknik kısmı hakkında çokça yazılıp çizildiğinden bu yazıda başka bir konudan; özgür yazılımın yaşananlara nasıl bakması gerektiğinden bahsetmek istiyorum. Sadece Microsoft'un işletim sistemlerini etkileyen bu büyük açığı bir avantajmış gibi kullanmadan önce aşağıdaki konularda düşünmemiz gerekiyor.


Neden özgür yazılım kullanılsın istiyoruz?

Biz özgür yazılımları daha güvenli oldukları, daha hızlı oldukları veya daha özelleştirilebilir oldukları için mi kullanıyoruz? Toplam sahip olma maliyetleri daha düşük diye mi özel mülk yazılımlar yerine özgür yazılımları tercih ediyoruz? Özgür yazılımlar bu saydığım avantajlara hatta daha fazlasına sahip oldukları halde sahipli yazılımlar karşısındaki gerçek üstünlükleri bunlar değil elbette. Özgür yazılımları herkesin istediği amaçlar için çalıştıramadığı, programın nasıl çalışabildiğini anlayamadığı, ihtiyacına uygun şekilde değiştiremediği, elindeki yazılımı dağıtmasının önünde kısıtlamaları olan sahipli yazılımlarla karşılaştırmaya buradan başlamamamız gerekir. Eğer temel argümanımız hız, güvenlik, ucuzluk olursa yarın sahipli bir yazılım bu konularda öne geçtiğinde söyleyecek sözümüz kalmaz. Kendimizi kandırmayalım bazıları hali hazırda bu konuların bazılarında daha ilerideler ama biz yine de özgür yazılımları kullanma taraftarıyız. İnsanların özgürce kullanıp, dağıtamadığı yazılımları özgür yazılımlarla kıyaslamaya başlamadan önce onların minimum insani ihtiyaçları karşılamaları gerekir [1]. İnsanlara, şirketlere, kamuya neden özgür yazılımlar kullanmaları gerektiğini doğru argümanlarla açıklamak çok önemli [2].

Özgür yazılım kullanılsaydı benzer bir durumla karşılaşılamaz mıydı?

Elbette karşılaşılabilirdi. Hatta karşılaşıldı da. GNU/Linux ve *BSD'lerde en çok kullanılan kabuk olan bash'in bu hatayla karşılaştırılabilecek büyüklükte bir hatası olan shellshock ancak 25 yıl sonra farkedilebildi. Bash'in kaynak kodları bu süre boyunca hepimizin gözlerinin önündeydi hem de. Bu yazdıklarımdan elbette kaynak kodların erişilebilir olmasının güvenlikle ilgili olumlu etkisinin olmayacağı anlamı çıkartılmamalıdır [3]. Bugün yaygın olarak kullanılan bir özgür yazılıma eklenen kodlara dünyanın her köşesinden geliştiriciler, geliştirici adayları ve meraklılar bakıyor. Kaynak kodlarını göremediğimiz bir yazılıma bir arka kapı kolaylıkla eklenebilirken aynı şeyi bir özgür yazılıma yapmak (imkansız demeyeyim ama) çok çok zordur. Durum böyle olmasına rağmen özgür yazılımlarda güvenlik sorunu hiç olmaz dememek gerekir, çünkü yaşadığımız örnekler var. Bugün wannacry sadece Windows'ta yaşanıyor siz GNU/Linux kullanın dersek yarın shellshock benzeri bir durumda söyleyecek sözümüz kalmaz. Bizim temel argümanımız özgürlük olmalıdır ve bu GNU/Linux kullanın demek için yeterlidir.

Microsoft'un neredeyse kimsenin kullanmadığı samba-v1'e hala destek veriyor olması görülmedik bir şey midir?

Geriye uyumluluk bütün yazılımların ciddi sorunlardan biri durumunda maalesef. Eski sürümlere destek verildiğinde böyle şeyler olabilirken desteğin kesilmesi de başka sorunlara yol açabiliyor bazen. Windows10'a bile samba-v1.0 desteğini vermesi elbette Microsoft'un kabahati ama bu hiç yapılmayan bir yanlış da değil. Neredeyse her yerde TLS 1.2 kullanılırken SSL'in eski sürümlerine verilen desteğin suistimal edilmesi yüzünden yaşadığımız şeyler üzerinden çok da uzun zaman geçmedi. Microsoft zamanında Windows'lardan bu desteği kaldırabilirdi ve bu onu daha iyi bir işletim sistemi yapmazdı. Bizim windows ve diğer sahipli işletim sistemlerini kullanmayın dememizin arkasında yatan şey onların tasarım ve planlama hataları değil özgür olmamalarıdır.

Microsoft Windows XP kullanıcılarına bir şey borçlu mu?

Microsoft'un Windows XP'yi piyasaya sürüş tarihi 2001. Elimizi vicdanımıza koyup konuşalım hangi işletim sistemine 16 yıl destek veriliyor? Dört yıl önce XP desteği artık sona erdi diye de yazdılar. XP çıktığı tarihte piyasada olan Debian 2.2 veya Redhat 6.2 için destek alamadığından şikayetçi kimse var mı? Aradan geçen bunca yılda kamunun kaynaklarını bir özgür işletim sistemine geçişte kullanmamış ve hala Windows XP kullandıran yöneticiler kusura bakmasınlar ama suçun önemli bir kısmı onları üzerinde. 

WannaCry'dan etkilenenler elbette sadece XP kullanıcıları değil bütün Windows sürümlerinin kullanıcıları oldu ama tahmin edilenin çok üzerinde XP kullanıcısı olduğu da görülmüş oldu. Bir kurumun yöneticisi arka planda ne yaptığını bilmediği, en temel insani ilkelere uygun olmayan bir işletim sistemini kullandırıyorsa suçu Microsoft'a atamaz bence.

GNU/Linux veya BSD'ler Windows'un alternatifi mi?

Özgür yazılımdan, özgür işletim sistemlerinden sanki Windows'un alternatifiymiş gibi bahsetmeyi kabul edilemez buluyorum. Bu konuda daha önce çokça yazdığım için tekrarlamak yerine aşağıya bağlantılarını bırakıyorum. [4], [5], [6]

yapay zeka çağında hâlâ bilgisayar mühendisi olunmalı mı?

Yazıyı okumaya sabrı olmayanlar için kısaca söyleyeyim: kimse gelecekle ilgili tavsiye verecek bir şey bilmiyor. Önceden de bilmiyordu bugün...