Özgürlükİçİn: “Özgür Yazılım Almak ve Geri Vermek”

Türkiye Bilişim Derneği‘nin rahmetli Bilişim Dergisi için kaleme aldığım “Özgürlük İçin…” yazılarına resmi Pardus kullanıcıları camia sitesi Özgürlükİçin.com‘un aylık e-dergisinde devam etmem yönünde bir teklif geldi sevgili Ali Işıngör’den. Ya da ben Ali’den rica ettim, tam anımsamıyorum şimdi… Neyse, artık oradayım.

e-derginin Şubat sayısında yayımlanan yazım:

Özgür Yazılım Almak ve Geri Vermek

Son aylardaki “reklamlar” serisine son verip yeniden özgür yazılımın tanımı ve özelliklerine dönüyoruz bu ay. Daha önce özgür yazılım için (ya da open source için) kaynak kodu yanında geliştirme sürecinin ve dolayısı ile camianın önemini vurgulamıştık. Bu kez kullanıcısı ile özgür yazılım ve kullanıcısı ile camia arasındaki ilişkiye yoğunlaşacağız.

Sınırlayıcı ve İzin Veren Lisanslar

Özgür yazılım bağlamında daha çok GPL (GNU Genel Kamu Lisansı) ya da benzer lisansa sahip yazılımları kastediyoruz. Bu lisansların en önemli özelliği yazılımın özgürlüğünü sağlamak için geliştiriciyi sınırlayan şartlarıdır. Bir kez sınırlayıcı (ya da copyleft) bir lisans ile özgürleştirilen bir kod, telif (copyright) sahibi dışında kimse tarafından “kapatılamaz”, yani sahipli (proprietary) bir yazılım haline getirilemez. Bu nedenle Linux çekirdeği, KDE masaüstü ortamı gibi pek çok kişinin telif hakkını paylaştığı özgür yazılımların kapatılması pratik olarak mümkün değildir.

Öte yandan izin veren (permissive) lisanslar ile böyle bir şart yoktur, yazılımı kullanan herhangi birisi kodu kapatıp sahiplenebilir. Bu tip kodlara en güzel örnek Unix benzeri işletim sistemi BSD ve BSD üzerine yapılanan ve büyük ticari başarı yakalayan Mac OS X işletim sistemidir. Ayrıca özgür yazılımın en önemli başarılarından biri olan Apache web sunucusu da böyle izin veren bir lisansa sahiptir.

Sınırlayıcı ve izin veren lisansların geliştirme süreçleri ve camia açısından en önemli farkı sınırlayıcı lisansa sahip bir yazılımdan türetilen yeni ürünlerin de açık kaynak kodlu olması, yani özgür yazılımı alıp değiştiren kullanıcının camiaya geri vermesi zorunluluğudur.

Geri Vermeden Özgür Yazılım (T)üretenler

Özgür yazılımın sürdürülebilirliğinin temel koşullarından biri, verimliliği ve üretkenliği üst düzeyde tutacak şekilde, dağıtık ve paylaşımcı geliştirme modeline dahil olacak yeterli sayı ve nitelikte geliştiriciyi cezbetmesidir. Sınırlayıcı lisanslar bu camia dışında kar amaçlı ve (bazen ve kısmen) kapalı kapılar ardında yapılan geliştirmelerin de kaynak koduna dahil edilmesini şart koşarlar ve yazılımın sürekli işlevsel ve kaliteli kalmasına, dolayısı ile geliştiriciler için bir çekim merkezi oluşturmasına vesile olurlar. İzin veren lisanslar için ise böyle bir geri verme kanalı tarif edilmemiştir, daha doğrusu geri vermek isteğe bağlıdır. Örneğin Apple BSD’nin temeline yaptığı değişiklik ve geliştirmeleri açarken Mac OS X’in kullanıcı yüzünü oluşturan katmanları kapalı tutmaktadır.

Özgür müşteri ilişkileri yönetim yazılımı SugarCRM ve özgür (ve “uyumlu”) ilişkisel veritabanı sistemi EnterpriseDB gibi yazılımlar ve bunları geliştiren firmalar telif haklarını ve izin veren lisansları (yasal olmakla birlikte) özgür yazılım camiasının hoş görmediği şekilde kullanmakla ve bir yerde özgür yazılım olmamakla ve hatta özgür yazılıma ihanet etmekle suçlanıyorlar aylardır ve neredeyse yıllardır. MySQL’in camia ve kurumsal sürümleri arasındaki farklılıklar ve çift lisanslama yöntemi de kimi özgür yazılım taraftarlarınca yoğun olarak eleştirilmekte. Bir diğer örnek de Google’ın Linux ve diğer pek çok özgür yazılımı gereksinimlerine göre uyarlaması ve bu sayede hizmetlerinde özellikle performans kazançları sağlaması, buna karşın yaptığı iyileştirmeleri camia ile paylaşmaması.

Görüldüğü üzere yalnızca lisans ve camia bir özgür yazılımın sürdürülebilirliği için yeterli değil. Kullanıcı ve (t)üreticilerin de katkısı gerekli ve önemli. Özgür yazılımın gücünü veren dağıtık ve katılımcı model ancak yeterince sayıda katkıcının camiaya dahil olma niyetleri var ise manalı oluyor. Özgür yazılım bağlamında üzerinde iyice düşünülmesi gereken bir nokta, hem özgür yazılım camiaları ve hem de özgür yazılım (t)üreten ve kullanan firmalar tarafından…

Bilişim Dergisi: “Özgür Yazılım ile Katlanan Verimlilik”

Türkiye Bilişim Derneği‘nin Bilişim Dergisi son sayısını Aralık 2008’de yayımlayarak yayım hayatına son verdi. Ekonomik krizin zayiatlarından bir tanesi, belki de bizim açımızdan önemli bir tanesi. Dile kolay 111 sayı…

Derginin son sayısında “Özgürlük İçin…” başlığı altında yayımlanan son yazım:

Özgür Yazılım ile Katlanan Verimlilik

Geçen yazımızda başladığımız “reklamlar” serisine devam ediyoruz. Özgür yazılımın üretkenliği artırma yönündeki katkısını irdelemiştik, bu kez de sıra verimlilikte. Çünkü geçtiğimiz günlerde Pardus 2008’in ilk güncelleme sürümü yayımlandı. Bu kez hayli nesnel bir ölçüm yöntemi kullanıyoruz. Pek çok özgür yazılım projesini internetten erişilebilir durumdaki kaynak kodlarını otomatik olarak tarayarak değerlendiren ohloh.net sitesinde Pardus projesi sayfasını temel kaynak olarak alıyoruz. Vurgulamamız gereken aşağıda verilen rakamların yalnızca Pardus projesi kapsamında oluşturulan katma değere ilişkin olduğu, ana kaynaktan (upstream) alınan on milyonlarca satır kod bunun dışında.

Bire On Verimlilik!

ohloh.net sitesinden alınan bilgilere göre Pardus projesine özgü olarak geliştirilen yazılımların kod ve belirtim satır sayısı 2.118.197‘ye ulaşmış durumda. Bu yazılım büyüklüğü sahipli yazılım geliştirme yöntemleri ile gerçekleştirilse idi 602 kişi-yıl‘lık bir işgücü gerektirecekti. Bu da Pardus projesinin teknik çalışmalarının başladığı 2004 Ekim ayından bu yana sürekli olarak 150 kişilik bir geliştirme ekibi istihdam edilmesi anlamına geliyor. Ortalama işgücü maliyetleri kullanıldığında bu ekibin maliyeti de 33.106.027 ABD Doları (yaklaşık 53 milyon YTL) olarak hesaplanmış.

Oysa Pardus projesi 2003 Eylül ayında 4 kişilik bir ekiple yola çıktı ve hemen hemen düzenli bir büyüme ile toplam 18 kişilik bir büyüklüğe ulaştı. Bu ekibin içerisinde yazılım geliştirme yanında proje yönetimi, grafik tasarım, proje geliştirme, proje destek, camia yönetimi ve sistem yönetimi gibi doğrudan değer yaratmayan kimi işlevlerde faaliyet gösteren kişiler de dahil. Bu hesaplama ile dahi Pardus projesinin toplam işgücü harcaması 2008 yılı sonu itibarı ile yalnızca 680 kişi-ay olacak. Bu düz hesaplama ile dahi Pardus projesinin sahipli yazılım geliştirmeye göre yaklaşık 10,6 kat daha verimli olduğunu söylemek mümkün.

Benzer kıyaslama ve bilimsel hesaplama yöntemleri ile çalışmalar Linux çekirdeğinin 1 milyar Avro ve Pardus gibi bir Linux dağıtımında kullanılan özgür yazılımların 10 milyar ABD Doları gibi yeniden üretilme maliyetleri olduğunu gösteriyor. Biraz daha karmaşık olsa dahi gerçek harcamalara bakıldığında buralarda da 5-10 gibi verimlilik çarpanları ile karşılaşmak mümkün. Dolayısı ile Pardus’un yarattığı “mucize” aslında tüm özgür yazılımlara yaygınlaştırılabilecek bir özellik.

Özgür Yazılım ile Mümkün…

Bu verimliliğin temelinde özgür yazılım geliştirme sistematiği yatıyor. Açık kaynak kodlu özgür bir yazılım olan Pardus’a dileyen herkes katkıda bulunabiliyor. ohloh.net sitesinden alınan bilgiye göre Pardus projesine şimdiye kadar 112 kişi katkıda bulunmuş. Bunların yalnızca 28’i halen ya da eski TÜBİTAK UEKAE çalışanı. Yani, TÜBİTAK UEKAE’nin istihdam ettiği her kişi için TÜBİTAK UEKAE dışından üç geliştirici projeye katkı vermiş.

Geliştiricisi çarpanına ek olarak projenin açık kaynak kodlu olarak yürütülmesi camiaya yeni katılan geliştirici adaylarının öğrenme sürecinin son derece hızlı gerçekleşmesini ve dolayısı ile daha hızla üretken hale gelmelerini sağlıyor. Geçen aylarda değindiğimiz camia katkısı burada da ön plana çıkıyor. Sahipli yazılım üretme sistematiği ile üretilip açık ya da özgür bir lisansla kaynak kodu açılan bir yazılım aslında bu verimlilik artışından yararlanamıyor, özellikle etkin bir kullanıcı ve geliştirici camiası oluşturulamazsa.

ohloh.net verilerine göre Pardus’a her ay katkıda bulunan geliştirici sayısı 40 civarında. Bu sayı 2005 yılı içerisinde yalnızca 10 imiş. Pardus projesinin hedefi bu sayıyı 2011 yılı sonunda 200’e çıkarmak. Bu amaçla çok yönlü bir dizi faaliyet başlatılmış durumda ve ilk meyvelerinin 2009 yılında alınmasını bekliyoruz. Artık Türkiye’de (ve dünyada) Pardus geliştirmek doğru ve cazip bir bilişim faaliyeti haline geliyor; hem bilişim sektörü firmaları ve hem de genç yazılımcılar için…