Özgür Yazılımın ne olduğu konusunda kabaca birşeyler anlatmaya çalışmıştık. Şimdi ise “Özgür Yazılım neden gereklidir?”, “Özgür Yazılımın getirdikleri, götürdükleri nelerdir?” gibi konulara parmak basmak istiyoruz..
Daha önce GNU Genel Kamu Lisansının Özgür Yazılımlar için getirdiği 4 ana haktan bahsetmiştik. Bunların bir daha hatırlatmakta yarar var:
- Her türlü amaç için programı çalıştırma özgürlüğü (özgürlük 0).
- Programın nasıl çalıştığını inceleme ve kendi gereksinimleri doğrultusunda değiştirme özgürlüğü (özgürlük 1). Program kaynak koduna erişim bunun için bir ön şarttır.
- Yeniden dağıtma ve toplumla paylaşma özgürlüğü (özgürlük 2).
- Programı geliştirme ve gelişmiş haliyle topluma dağıtma özgürlüğü (özgürlük 3). Böylece yazılım bütün toplum yararına geliştirilmiş olur. Program kaynak koduna erişim bunun için de bir önşarttır.
Peki bu haklar sayesinde neler kazanıyoruz?
Hemen bahsedelim:
- Güvenilirlik: Açık kaynak kodlu yazılımların belki de en büyük artısı olan güvenilir oluşları, kimi çevreler tarafından çarpıtılmaya çalışılmaktadır. Neden olarak da ‘Açık kaynak kodlu bir yazılımın tam olarak nasıl çalıştığı kaynak koduna bakılarak bilinebildiği için yazılımın barındırdığı güvenlik problemleri saldırganlar tarafından kolaylıkla tespit edilip kullanılabilmektedir’ denilmektedir.. Bu iddianın nasıl “çarpıtma” bir yargı olduğunu şöyle açıklayabiliriz: Herhangi bir özgür yazılım doğası gereği geliştirilme süreci boyunca onbinlerce göz tarafından kontrol edilmektedir.. Var olması muhtemel bir güvenlik problemi ya da kötü niyetli bir programcı tarafından bilinçli olarak yerleştirilebilecek bir kod parçası yazılım elimize ulaşmadan tespit edilmekte ve hızla düzeltilmekte ya da bize ulaşması engellenmektedir. Ayrıca bu iddiada olan kişilere benim sorum da şu olacaktır: acaba binlerce kişinin kollektif bir şekilde geliştirdiği bir yazılım güvenilmezse, sınırlı sayıda kişinin geliştirdiği ve kaynak kodunu kapattıkları bir yazılım ne kadar güvenli olacaktır? Bu güvenilirliği kim ve nasıl garanti edecektir?
- Sağlamlık: Onbinlerce gözün denetiminde demiştik ya :) yüksek kalitede, kararlı ve kuvvetli yazılımların çıkması için yeterli koşulu bir daha anlatmaya gerek var mı? (=
Esneklik ve Kontrol: Kaynak kodu açık bir yazılımı kolaylıkla değiştirebilirsiniz.. Yeni bir sistem üzerinde çalışması için yeniden yapılandırmak hızla ve kolay bir şekilde olur; istediğiniz kısımlarını çıkararak kapsamını daraltabilir ya da ihtiyacınız olan yeni fonksiyonları ekleyebilirsiniz. Kontrol sizdedir. Kontrolün sizde olması demek, projenizde, çalışmanızda ne zaman hangi bölümlerin yükseltilebileceği (upgrade), hangi hataların düzeltilmesine öncelik verilmesi gibi kararları sizin verebilmeniz demektir.. Aksi takdirde kaynak kodunu bilmediğiniz bir program tüm kontrolü satıcının eline vermekte, sizi satıcının tekelinde oyuncak haline getirmektedir. İyi niyetli olmayan bir satıcı yüzünden ciddi boyutta zarara uğrayabilirsiniz.. Esneklik ve kontrol, sadece projenizin gidişatını değil, bu proje için ayırdığınız bütçeyi de etkileyen bir etkendir.. Kontrol önemlidir. =)
Uygulama Desteği: Çok geniş bir yelpazede ve çeşitlilikteki bir çok açık kaynak kodlu özgür yazılım her gün duyurulmaktadır. Ayrıca http://sourceforge.net/ gibi OSDN’ler (Açık Kaynak geliştirme ağları/Open Source Development Networks) sayesinde istediğiniz konularda istediğiniz çözümü sunan projelere ulaşabilir haldesiniz. Teknik bilginize göre istediğiniz noktada bu projelerin gelişiminde yer alabilir, kendi ihtiyaçlarınıza göre projelerin gelişimini etkileyebilirsiniz :) Peki teknik açıdan hiç bir bilginiz yoksa, “yok kardeşim, ben sadece kullanıcam, ama şurasının burasını anlamadım, yok mu bana yardımcı olabilecek bir babayiğit” diyorsanız ne olucak? =) Merak etmeyin, günümüzde açık kaynak kodlu özgür yazılımlar sadece forumlardaki tartışmalarla desteklenme, e-posta listelerine sıkışıp kalma halinden kurtulmuş; geniş destek hatları ve müşteri hizmetlerine de kavuşturulmuş haldedir. Örnek olarak popüler linux dağıtımlarından Ubuntu'yu gösterebiliriz. Ubuntu’nun dışında, herhangi bir açık kaynak kodlu teknoloji hakkında yardım ve destek almak istiyorsanız (Mysql, Postgresql, php, LaTeX) size destek olabilecek bir çok şirket bulabilirsiniz. Bu şirketler özgür yazılımın “beleş biradaki gibi değil de özgürlükteki gibi özgür olması” (Free as in freedom, not as in free beer) durumuna uygun olarak belirli ücretler talep edebilirler. =) Özgür Yazılım ve Açık Kaynak kodun bir ekonomi modeli olarak sunulmasına bu uygulama desteklerini örnek verebiliriz. Destek konusunda açık kaynak kodlu yazılım modeli üzerinde çalışan şirketler aracılığıyla, herhangi bir konudaki ihtiyaç açık kaynak kodlu yazılımlarla hızlı ve kaliteli bir şekilde çözüme kavuşturulabilmektedir.
Tabi ki bu temel başlıkları çoğaltabiliriz de, ancak ilk akla gelenler ana başlıklar bunlardır ve kanımca yeterlidir de..(=
Ama, ama...
Bu noktada aklınıza şöyle bir düşünce takılabilir: – iyi güzel de, diyelim ki kendim bir yazılım yazdım, o kadar emek harcadım, gecelerim gündüzlerime karıştı ve sonunda programım ortaya çıktı, çokbir sonraki da acayip birşey, janjanlı, on numero :) Ben şimdi bu kadar emek harcadığım yazılımın bir de kodunu mu açıcam, kapalı kodda “sadece ben yaptım” edasıyla millete satarım çok para kazanırım, pabucumun özgür yazılımı, peeh (=
Şimdi ben de bu düşüncenin üzerine yukarıda saydığım argümanlarla gideyim, bakalım ne olacak :)
Birincisi, tamam iyi güzel, denediniz, test yaptınız ve bu programın iyi çalıştığına inanıyorsunuz.. Hiçbir sorununun olmadığını iddia ediyorsunuz.. Peki acaba haklı mısınız yoksa yanılıyor musunuz bu hususta? Biraz spagetti-western filmlerindeki kovboy replikleri gibi olacak ama “yazılım dünyasının mezarlıkları kendine güvenen mağrur programcıların çöpe atılmış kodlarıyla doludur” :P Şaka bir yana, her ne kadar yazılımınızı binlerce defa kontrol etmiş olsanız bile, yazılımınızda sorun çıkma olasılığı vardır.Veyahut kötü niyetli programcılar tarafından bir eksiği bulunup, o eksik üzerinden yazılımınızı çökertecek ya da kötü niyetle kullanılacak hale gelmesini engel olamama olasılığınız her zaman bulunur.. Bu olasılık yazılımınızın hitap ettiği kitle arttıkça ve yazılımın kod yükü arttıkça daha da artacaktır..
İkincisi, yazılımınızı kullanacak insanların kaynak kodunuzu görmeden iş yapmaları bütün kaderlerini sizin elinize vermeleri demektir.. Yani sizin yazılımınızı kullanacaklar, ama o yazılım hakkında hiçbirşey bilmeyecekler, o yazılımın yaratabileceği herhangi bir sorun olduğunda elleri kolları bağlı sizin kapınıza koşacaklar.. Böyle bir koşulu kabul etmek için ya yazılımınızı sattığınız insanlar bunu önemsememeleri, ya da bir şekilde sizin yapacağınızı herhangi bir baskıya boyun eğmeleri gerekir :) Siz olsanız böyle bir riski kabul eder miydiniz? hele hele, bir ülkenin mali işlemleriyle alakalı, bir ordunun savunma sanayi ile alakalı ya da dünyanın sayılı şirketlerinden birine yönelik bir yazılımdan söz ediyorsak?
Daha yazmaya gerek var mı? Bence başka örneklere geçelim, hem aşağıdaki örneklerle yukarıdaki konu hakkında ayrıntılı ilişki kurmanız mümkün olur..
Patent ve Yazılımcının Hakları
Bir çarpıcı örnek de yazılımın bilgi yönünü ele alarak verelim: Düşünün, ampulü bulan Thomas Edison’a ampulün patenti sonsuza dek verilseydi, yani her yaktığımız ampül için Edison soyundan gelen insana para ödemek zorunda olsaydık düşünün oluşabilecek kaos ortamını :) Ayrıca bu konuda tarihi açıdan bakarsak tam tersi durumun söz konusu olduğunu da görürüz. ABD Anayasası oluşturulurken yazarların doğal haklara sahip oldukları fikri öne sürülmüş fakat kesin ve net şekilde reddedilmişti. İşte bundan ötürü ABD Anayasası telif hakları sistemine ‘izin verir’ ancak bunu ‘şart koşmaz’. Telif hakkının geçici olmak zorunda olduğunun belirtilmesinin sebebi de zaten budur. Yine ABD Anayasa’sında telif hakkının amacının yazarı ödüllendirmek değil, gelişmeyi teşvik etmek olduğu belirtilmiştir. Telif hakkı kısmen yazarı ve daha fazla da yayıncıları ödüllendirir ancak bu ödüllendirmenin amacı davranış değişikliğini sağlamaktır. Yani Thomas Edison ampulü bulmuştur, bunun üzerinde telif hakları da almıştır; ancak bu ampulün tekelinin Thomas Edison’da olması gibi bir yargıyı beraberinde getirmez.
Peki ya yazılımı kopyalarsak ne olacak?
Komşunuz yeni bir araba alıyor, siz de bu arabayı çok beğeniyorsunuz ve bu arabanın aynısından, bu arabaya, komşunuza ve arabanın üreticisine zarar vermeden bir tane daha “kopyalama” şansınız var.. Acaba aynı arabadan bir tane daha yapmak, hem de kimseye zarar vermeden, bir SUÇ mudur? Bu örneği yazılım dünyasında daha rahat anlayabiliriz, çünkü herhangi bir yazılımdan bir tane daha yapma olanağınız varsa bunu yapma olasılığınız, normal hayatta aynı cins bir otomobil yapma olasılığınızdan daha yüksektir :) Hem de kimseye zarar vermeden...
Yazılım Sahipleri, kullanıcılar programları izinsiz olarak kopyaladıklarında ‘zarar’ gördüklerini veya ‘ekonomik kayba’ uğradıklarını belirtmektedirler. Ancak kopyalama yazılım sahibi üzerinde doğrudan bir etkiye yol açmaz ve kimseye zarar vermez. Yazılım sahibi, ancak yazılım için para ödeyecek bir kullanıcı bunun yerine kopyalamayı tercih ederse bir kayba uğrayabilir.
Biraz düşünürsek görürüz ki çoğu kişi kopyaladığı şeyi para karşılığı satın alacak değildir. Buna rağmen yazılım sahipleri sanki herkes bir kopyayı satın alacakmış gibi ‘kayıp’larını hesaplarlar. Buna en nazik ifade ile abartmak denir.
Patent ve Yazılım-Yazılımcı Hakları konusunda önümüzdeki sayılarmızdan birinde örneklerle destekleyerek daha geniş kapsamda ele alacağımız bir yazımız olacak.. Günümüzde süregelen patent ve yazılımcı hakları ihlalleri, hatta ve hatta “patent ve yazılımcı hakları ihlali” ihlalleri hakkında ilginç bir serüvene adım atacağız ve bazı sorulara kendimizce cevap bulmaya çalışacağız.. çünkü bu kadar yararını saydığımız özgür yazılımı insanlık olarak hakediyoruz!