Bağış yapmak istediğiniz özgür yazılım projesi, size ödeme yapmayı teklif ederse, ne yaparsınız? QZ Tray ile bunu yaşadık.
(…)
Artistanbul her zaman için özgür yazılımın büyük savunucularından biri olmuştur. Yazılımları Linux dağıtımları üzerinde geliştirip yine Linux yüklü web sunucuları üzerinde çalıştırırız, kullandığımız programlama dilinden, veritabanı sunucusuna ve diğer tüm araçlarda tercihimizi hep özgür yazılımdan yana kullanırız. Web tarayıcımız Firefox veya Chromium, ofis paketi tercihimiz ise LibreOffice‘dir.
En önemli bilim insanlarından biri kabul edilen Sir Isaac Newton bir mektubunda çok güzel anlatmış, “Eğer daha ileriyi görebildiysem, bu devlerin omuzlarında durduğum içindir”. Bilimsel ilerlemenin daha önceki çalışmaların üzerinde ekleme yapılarak elde edilebileceği daha iyi tarif edilemezdi sanırım. Benzer durum günümüzde yazılım konusunda da geçerli, ama Newton gibi havalı bir cümle bulamayıp “Amerika’yı yeniden keşfetmeyelim” diyoruz.
QZ Tray ve biz
Geliştirdiğimiz projelerden birinde, web uygulaması üzerinden tarayıcıların görüntüleyemeyeceği bir dosya biçimine (ZPL) sahip belgenin çıktısını almamız gerekti. Üstelik geliştireceğimiz çözüm, hem Windows hem de Linux yüklü olan istemcilerde çalışabilmeliydi. Araştırmalarımızın sonucunda QZ Tray isimli bir özgür yazılım bulduk. QZ Tray, bilgisayar üzerinde bir web soket sunucusu çalıştırıyor ve sistem çekmecesine yerleşerek gelecek bağlantıları bekliyor. Kullanıcı, çıktı alınan sayfaya geldiğinde, uygulama JavaScript ile bilgisayar üzerinde çalışan QZ Tray’e bağlanıyor ve yazıcıya belge gönderebiliyor.
Uygulamamızı QZ Tray ile haberleşecek şekilde geliştirdik, ancak gördük ki kullanıcı bilgisayarında işletim sisteminin dili Türkçe ise belge yazdırma komutları doğru şekilde aktarılamıyor. Sıvadık kollarımızı, bir yama hazırlayıp GitHub üzerinden geliştiricilerine gönderdik, anında kabul edildi.
QZ Tray’in yeteneklerinden biri de web soket üzerinden aktarılan verilerin sayısal olarak imzalanması ve bu sayede kullanıcının güvenilir kabul ettiği internet sitelerinden doğrulama olmaksızın yazdırma komutlarını kabul etmesi. Ne yazık ki, kendi sertifikanızı kullanmak isterseniz kullanıcı bilgisayarı üzerinde yapılandırma yapmanız gerekiyor ve bu yapılandırmayı çok sayıda kullanıcı olan bir ortamda uygulamak pek de kolay değil. Bu nedenle kendi sertifikamızı kurulum paketinin içine dâhil edecek daha kullanışlı olabilecek bir geliştirme daha yapıp, ikinci yamamızı da gönderdik. Bu blog yazısının yazıldığı tarihte QZ Tray geliştiricileri hâlen yamayı test etmekteler.
İkinci yamamız da QZ Tray kod tabanına doğru yoldayken, “omzunda yükseldiğimiz dev”e bir bağış yaparak jest yapmak istedik hatta ısrar ettik. Ancak “senin paran burada geçmez” minvalinde, hiç tahmin etmediğimiz bir yanıt aldık:
“Aksine, biz de size ödeme yapmayı düşünüyorduk! Türkçe ile ilgili düzeltmeniz ve sertifika konusundaki iyileştirmelerinizden ötürü kendimizi size borçlu hissediyoruz. Geçimimizi bu ürün için destek paketinin ticaretini yaparak kazandığımızdan bağış kabul etmiyoruz. Belki de karşılıklı teşekkürlerimizi aktararak şimdilik bu konuyu kapatalım.”
Ali Işıngör
Tam o gün attığımız eğlenceli tweetimizdir: