Bilişim Dergisi: “Açık Kaynak Var, Açık Kaynak Var…”

Türkiye Bilişim Derneği‘nin Bilişim Dergisi‘nin Eylül sayısında yayımlanan Özgürlük İçin… köşesi:

Açık Kaynak Var, Açık Kaynak Var…

Bu yazıdan başlayarak birkaç yazımızda özgür yazılımı biraz daha ayrıntılı tanımlamaya çalışacağız. Dünyada artık altı ayda bir “özgür yazılım nedir?” (İngilizcesi ile “what is open source?”) tartışması yaşanıyor, biz de katkıda bulunalım bu süregiden tartışmaya…

Kaynak Kodunu Açmak Özgür Yazılım için Yeterli mi?

Özgür yazılımın dört şartını hızla anımsatalım: Kullanma, inceleme ve değiştirme, çoğaltma ve (değiştirerek) yeniden dağıtma. “İnceleme ve değiştirme” şartını yerine getirmenin tek yolu yazılımın kaynak koduna erişebilmek. “Yeniden dağıtma” şartı da dolaylı olarak açık kaynağa dayanıyor. Yani her özgür yazılım açık kaynak kodlu olmak zorunda. Ufak bir saptama: Bu önermenin tersi doğru değil, kaynak kodunun erişilebilir olması yazılımı özgür kılmıyor. Özellikle “yeniden dağıtma” şartı özgürlüğün oluşabilmesi için vazgeçilmez. Gerek Özgür Yazılım Vakfı (FSF – www.fsf.org) ve gerekse Açık Kaynak Girişimi (OSI – www.opensource.org) tarafından kabul gören bir özgür yazılım lisansı olabilmek için bu şartı sağlamak gerekiyor zaten.

Yalnızca Ürün Değil, Süreç de Önemli

Kaynak koduna geri dönelim: Evet, özgür yazılım için açık kaynak şart. Ve evet, yeniden dağıtımı sağladığınızda açık kaynaklı yazılımınız özgürleşiyor da. Ama kaynak koduna erişilebilen ve yeniden dağıtılabilen, yani formal olarak özgür yazılım sayılacak her yazılım ürününü aynı kategoride değerlendirmek mümkün değil. Örnek olarak zaman zaman rastladığımız bir uygulamayı vereyim: Bir kurum kendi kullanımı için bir yazılım sipariş ediyor bir şirkete ve kaynak kodunu ve dağıtım hakkını da talep ediyor ürün ile birlikte. Yazılım şirketi hesabını kitabını yapıyor, kurum da şirketin verdiği teklifi kabul ediyor. Şirket, sahipli yazılım geliştirme süreçlerini kullanarak, tümü kendi elemanları eliyle ve kapalı süreçlerle yazılımı oluşturuyor. Sonuçta çıkan ürünü, kaynak kodu ile birlikte kuruma teslim ediyor. Şimdi bu ürün özgür yazılım mı oldu?

Doğrudur, bu şekilde bir uygulama kurum açısından son derece avantajlı, kaynak koduna sahip olduğu için hapsolma tehlikesi hayli azalmış durumda. Yazılımın bakım ve tutumunu, gerekirse hata giderme ve iyileştirme işlerini üretici şirket dışında bir üçüncü partiye yaptırabilir ve hatta kendisi de yapabilir. Ayrıca yeni kullanım durumları için yeniden lisans almak gerekmiyor, istedikleri gibi kullanıyorlar yazılımlarını.

Buna karşın yazılım tümüyle sahipli yazılım geliştirme süreci ile geliştirilmiş. Meşhur “binlerce göz” testinden geçmemiş, tasarım ve gerçekleştirmesi tümüyle bağımsız zihinlerde değerlendirilip tartışılmamış, genel paylaşıma açılıp çok değişken şartlarda test edilmemiş … kısacası özgür yazılım geliştirme sürecinin özgüllüklerinden nasibini almamış, bildiğimiz bir kapalı kutu olarak üretilmiş teslim edilmiş.

“Camiası Olmayan Özgür Yazılım Eksiktir”*

Yazılım sahibi firma eğer özgür yazılımın özgüllüklerini kullanmak istiyorsa ürünü teslim aldığı andan itibaren bir camia oluşturmak zorunda. Hem geliştiricilerin, hem de kullanıcıların dikkatini çekmesi, ürünün geniş bir çerçevede kullanılmasını sağlaması, yazılımı daha iyi bir hale getirmeyi bağımsız geliştiriciler için ilginç ve iddialı bir iş haline getirmesi gerekiyor. Bunun için de hem yeni kullanıcıların yeni işlevsel beklentilerini yazılıma katmak (ya da katılmasına izin vermek), hem de geliştiricilerin ilgisini çekecek mimari ve teknoloji değişikliklerini yapmak (ya da yapılmasına izin vermek) zorunda.

İlk başta basit bir yazılım tedariki olarak düşünülen süreç birdenbire bir camia geliştirme macerasına dönüşüveriyor böylece. Diğer seçenek ise yazılımı aynen sahipli yazılım kullanır gibi kullanmak, kaynak koduna müdahaleyi de yalnızca iç (ya da dışkaynaklanmış) bakım ve tutum işleri ile sınırlı tutmak. Bu seçenekte toplam sahip olma maliyetinin sahipli yazılım alternatifinden daha düşük olacağını söylemek ise o kadar kolay değil…

İki temel sonuca varıyoruz böylece: Özgür yazılımın dağıtık ve paylaşımlı geliştirme ortamı en azından özgür lisansı kadar önemli. Öte yandan bir camiaya sahip olmayan, bir camia oluşturmadan geliştirilmiş “özgür” yazılımlar özgürlüğün pek çok özgüllüğünü kullanamıyorlar, ne yazık ki…

*Özgürlük İçin (www.ozgurlukicin.com) camiası emektarlarından Ali Işıngör’ün bir sözünden türetilmiştir.

Bilişim Dergisi: “Bile Bile Lades”

Türkiye Bilişim Derneği‘nin Bilişim Dergisi‘nin Ağustos sayısında yayımlanan Özgürlük İçin… köşesi:

Bile Bile Lades

Açık standartlar ve özgür yazılım konulu yazılarımıza geçen ay Pardus 2008 duyurusu için ara vermiştik; kaldığımız yerden devam edelim, hem de güncel bir gelişmeye gönderme yaparak.

Birlikte Çalışabilirlik Neden Gerekli?

Hemen her bilişim sistemi diğer bilişim sistemleri ile birlikte ve çoğu zaman bağlantılı olarak kullanılıyor, hayli uzunca bir süredir… Ne yazık ki (ya da “neyse ki” mi diyelim?) farklı işlevler için kullandığımız bilişim sistemleri, farklı ürünlerden, farklı tedarikçiler eliyle, farklı platformlara yerleştirilmiş, farklı farklı sistemler. Üstüne üstlük, yine pek çok kereler bu farklı sistemler şirketimizin, kurumumuzun farklı birimleri tarafından kullanılan ve işletilen altyapıların birer parçası. Teknik, operasyonel ve sosyal açıdan hayli karmaşık bu ortamda bilişim sistemlerinin birbiri ile sorunsuz veri paylaşabilmeleri hayli önemli bir problem. Bunun için bilişim sistemlerinin veri alışveriş arayüzlerinin düzgün tasarlanması gerekiyor, ta başından. Burada “düzgün” derken belli veri standartlarına uyulmasını kastediyoruz aslında, yani “birlikte çalışabilirlik” kurallarına.

Birlikte çalışabilirliğin temel hedefi makineden makineye veri paylaşımını sağlamak. Bu şekilde işler çok daha hızlı, çok daha kolay, çok daha hatasız görülebilecek. Gerçek anlamda elektronik (yani e-) bir uygulamaya geçebileceğiz, sistemden sisteme elle ya da bir insan müdahalesi ile veri taşımak zorunda kalmayacağız. Birlikte çalışabilirliğin en güzel örneği kamu hizmetleri: Çok farklı devlet kurumlarının elindeki verilerin birarada kullanılması gerekiyor ki gerçek e-hizmet ortaya çıkabilsin. Örneğin askerlik işlemleri için nüfus kayıt bilgilerine, sağlık kayıtlarına ve eğitim kurumlarına erişmek gerekiyor; araç satışı için vergi dairelerine, emniyet bilgilerine, nüfus kayıtlarına, trafik tescil ve muayene kayıtlarına; ve benzerleri…

Birlikte çalışabilirlik için tüm ilgili taraflar tarafından kabul edilmiş ve uygulanmakta olan kurallar olmadığı sürece e-devlet hayal olacaktır, her kurum kendi uygulamasını elektronik ortama aktarsa bile veri taşıması tümüyle elle yapılacağından.

Birlikte Çalışabilirlik Nasıl Sağlanır: İki Senaryo

Birlikte çalışabilirliği sağlamanın kolay (?) ve ucuz (?) yolu tek bir üreticinin ürünlerini kullanmak. Bu üretici tüm ürünlerini, doğal olarak, birbiri ile çalışacak şekilde tasarlayıp ürettiği için sizin birlikte çalışabilirlik sorununuz tümüyle ortadan kalkacaktır. Buna karşın nurtopu gibi bir tedarikçi tekeliniz oluşacaktır. Tedarikçinizin ürünlerine sürüm atlatması sırasında oluşacak veri yapısı değişiklikleri, geriye uyumsuzluklar, vs. de cabası.

Bir de zor yolu var birlikte çalışabilirliğin: Açık standartları kullanmak. Bu yol zor, çünkü pek çok farklı üreticiyi aynı standartları kabullenmeye ve ürünlerini tasarlar ve üretirken bu standartlara uydurmaya ikna etmek gerekiyor. Üreticiler görünürde performans, geliştirme hızı ve kolaylığı, güvenlik, inovasyon gibi bahanelerle, ama aslında sizi ürünlerine hapsetme ve tekel durumu oluşturmayı tercih ettiklerinden, ortak ve açık standartlara uymayı kabul etmek istemeyecekler; kimi zaman ayak sürüyüp, kimi zaman kendi belirtimlerini birlikte çalışabilirlik kurallarına eklemeye çalışacaklardır. Ama eğer tarafsız ve açık bir birlikte çalışabilirlik kuralları dizisi oluşturabildiyseniz ve daha önemlisi bu kuralları uygulayabiliyorsanız, açık rekabet, dolayısı ile tasarruf imkanı ve inovasyon fırsatı açısından önemli kazanımlar elde etmişsiniz demektir.

ODF, OOXML ve Birlikte Çalışabilirlik

Gelelim güncele: Türkiye e-devletinin bir Birlikte Çalışabilirlik Kılavuzu var, hem de 2005 Ağustos’undan bu yana. Mevcut kılavuzda gelecek bir zamanda ofis dokümanları için OASIS tarafından geliştirilmekte olan ODF doküman formatının kamu kurumları arasında belge paylaşımı için tek standart olmasını öngörülüyor(du). Ama ne olduysa kılavuzun güncellenen yeni sürümünde ODF’in yanına Microsoft’un rekabet, tasarruf ve inovasyon yerine hapsolma ve tekel vadeden OOXML formatı da ekleniverdi. Hem de Microsoft dahil tüm taraflar ve tarafsızlar “format savaşları”nda galibin ODF olduğunu açık açık beyan ederken…

Buna herhalde “bile bile lades” denir.