Dilinizi seçin

General Public License (GPL)

GPL Nedir? Diğer lisanslardan farkları nelerdir?

General Public License (GPL)

Yazılım Lisans Anlaşmaları

Piyasaya sürülen her yazılım, üretici şahıs ya da firmanın haklarını ve kullanıcının haklarını korumaya yönelik bir lisans anlaşması içerir. Bir lisans anlaşması görevini yaparken, programın kopyalanması sırasında izlenecek yöntemler, lisans ücreti, destek meselesi, kullanıcının yazılım üzerinde ne gibi hakları olduğu konularına açıklık getirmelidir. Bu güne kadar belki de yüzlerce lisans anlaşması piyasaya çıkmıştır. İsimleri çok farklı olmasına rağmen basit bir kategorizasyon yapmak mümkündür.



* Serbest yazılım anlaşmaları
* Serbest olmayan ücretsiz yazılım anlaşmaları
* Serbest olmayan yazılım anlaşmaları

Serbest yazılım anlaşmaları arasında en popüleri kuşkusuz GPL lisansıdır. Serbest kelimesinin karşılığını yazımızın ilerleyen kısımlarında açıklamaya çalışacağız. Diğer serbest yazılım lisansları arasında LGPL, X11 Lisansı, Python' un lisans anlaşması sayılabilir.

Bedava yazılım anlaşmaları ise GPL' in bütün maddelerine uymak istemeyen firmalar ve kişiler tarafından genelde kendi yazılımlarına adapte ettikleri lisans sözleşmeleridir. En popülerleri, BSD lisansı, Apache, Zope, OpenLDAP, Phorum, Mozilla, Interbase, Netscape, QT gibi yazılımların lisansları ve IBM, SUN gibi firmaların Public License' larıdır. Serbest olmayan yazılım anlaşmaları ise Original Artistic License, Apple Public Source License olarak özetlenebilir.

GPL Nedir? Diğer lisanslardan farkları nelerdir?

GPL lisans anlaşması, 1983 yılında Richard Stallman tarafından geliştirilmiş, çok akıllıca detaylarla bağlayıcılığı bulunan, teşvik edici, gerek kullanıcı gerekse üretici tarafa büyük olanaklar sağlayan bir lisans türüdür. GPL' in en çok üzerinde durduğu konu yazılımların kaynak kodu ile birlikte dağıtılmasının gerekliliğidir. Üretici firma yazılımını binary olarak dağıtsa bile kaynak kodunu da herkes tarafından erişilebilir bir yere bırakmak zorundadır. Kullanıcı, bu kaynak kodu alıp inceleyebilir, üzerinde istediği değişikliği yapabilir, kendi projelerinde, yazılımlarında kodun tamamını ya da bir parçasını kullanabilir. Hatta başkasının kod parçasını alıp bir kaç değişiklik yapıp, satarak maddi kazanç da elde edebilir. Ama tek bir şartla, yeni üretilen program da GPL ile lisanslanmak zorundadır.

Yukarıdaki paragrafi dikkatle okuduysanız, bunun neresi akıllıca diyor olabilirsiniz. Lütfen biraz sabredin, bir sonraki başlık bu konu ile ilgili olacak. Şimdi kısaca diğer lisans anlaşmaları ile farklarından bahsedeyim.

GPL, özellikle programın kaynak kodunun açık olmasının gerekliliğini savunan bir yapıdadır. Temel amaçları, şeffaflık, kullanıcının ne kullandığını bilmesi, yazılımın çok kişi tarafndan hızlıca geliştirilmesi vb...' dir. Pek çok kişi bu radikal yaklaşımın GNU GPL lisansı tarafından getirildiğini düşünse de bu yanlıştır. Çok daha önceleri BSD ve benzeri lisans anlaşmaları, programları kaynak kodları ile dağıtmayı oldukça popüler yapmıştı ki halen de çok sayıda yazılım bu lisanslar ile piyasaya sürülmektedir. BSD lisansı, GPL' e temelde benzese de en belirgin farkı, değiştirilerek piyasaya sürülen yazılımın kodunun açık olması zorunluluğu ve BSD lisanslı olması zorunluluğunun olmamasıdır. Oldukça fazla sayıda firma BSD lisanslı programların kodlarını olduğu gibi ya da biraz değiştirerek kendi yazılımları içine gömmüş, yazarına ve kullanıcılara hiç bir geribildirim yapmayarak çok yüksek meblağlarda maddi kazanç elde etmiştir. GPL, üretilen yazılımın da GPL olmasını zorunluluk yaparak bunu imkansız kılmaktadır.
GPL, yazılımın ücretlendirilmesi hakkında hiç bir fikir beyan etmez. Pek çok lisans anlaşması ücretsiz kategorisine girerken GPL yazılımları ücretsiz olmak zorunda değildir. Üretici firma ya da kuruluş, yazılımını GPL ile lisanslayıp, dağıtabilir ve karşılığında da bir ücret talep edebilir. Bu madde en baştan beri sözleşme içerisinde olmasına rağmen gariptir ki, GPL yazılımların çok büyük bir kısmı ücretsizdir. Genel bir yaklaşım yazılımdan değil, kullanıcıya sunulan destekten para kazanılması şeklindedir. Bu özelliği ile GPL, pek çok lisanstan ayrılmaktadır.

GPL yazılımların kopyalanmasında piyasada bulunan pek çok yazılımdan farklı bir mantık geçerlidir. Kısaca özetleyeyim: isteyen istediği gibi istediği medya ile bir GPL yazılımı kopyalayabilir, dağıtabilir, dağıtması için bir üçüncü şahısa devredebilir. Bunda hiç bir kısıtlama mevcut değildir. Eğer yazılım karşılık olarak bir ücret talep ediyorsa, bu yazılımı kullanan kişi ücretini ödemekle yükümlüdür. Değilse, herhangi bir hukuki yükümlülük altında kalınması sözkonusu değildir.

GPL' in Avantajları ve Dezavantajları

Şüphesiz, GPL, bir lisans anlaşmasının temel amaçlarından olan kullanıcıyı koruma kısmını oldukça başarı ile yerine getirir. Kullanıcı neredeyse yazılımı üreten kişi ile aynı haklara sahiptir ki en basitinden kodu istediği gibi değiştirip kendi amaçlarına uygun hale getirebilir ve bunu satıp maddi kazanç elde edebilir. Kullanıcı aynı zamanda, çok sayıda yazılımın kodunu inceleyebildiği için, kendisini geliştirme imkanı bulur, eninde sonunda bir gün de üretici konumuna gelip, o da GPL yazılım üretmeye başlar. Bu söylediklerim birer ütopya değil, bugün yazılım endüstrisini kasıp kavuran gelişmelerdir.

Üretici kısmında ise avantajlar çok ince çizgilerle ayrılmış durumdadır. İlk olarak yazılımını ücretsiz olarak piyasaya sürmesi zorunluluğu olmadığı için kazançta bir eksilme olmamalıdır diye düşünülebilir. GPL yazılımların dünyada çok büyük bir hedef kitlesi vardır. Özellikle orta ve küçük ölçekli firmalar için büyük sorun olan, "hedef kitleye ulaşamama" sorununu aşmak yazılım GPL ile lisanslandığında büyük bir problem teşkil etmemektedir. GPL yazılımlara karşı Internet' te büyük bir destek vardır. http://www.freshmeat.net, http://www.linuxapps.com,http://www.hotscripts.com, http://www.linuxberg.com gibi sitelerde her gün onlarca yazılımın duyurusu yapılmakta ve onbinlerce belki yüzbinlerce kişinin bir defada yazılımdan haberdar olması sağlanmaktadır. GPL yazılımlara karşı kullanıcının büyük bir sempatisi olduğundan dolayı, bazı büyük firmalar da yazılımlarını belki kendilerini şirin göstermek belki de gözden çıkardıkları bir ürünün diğer ürünlerine dikkat çekmek için bir altyapı hazırlamasını sağlamak için GPL ile lisanslamaktadırlar. GPL yazılımlara rağbet gösteren hedef kitlenin sayısının artması ile birlikte bu alanda destek veren firmalar da büyük bir gelir kaynağı elde etmiş durumdalar. GPL yazılımlar inanılmaz bir hızla, aynen bir virüs gibi yayılır. Başarılı bir yazılım üreticisi firma globalleşmeyi düşünüyorsa ve bu işi bir ay gibi çok kısa bir sürede yapmak istiyorsa belki de tek yolu yazılımını GPL ile lisanslamaktır.

Şimdi de kısaca maddeler halinde biraz da tekrar yaparak GPL lisansının avantajlarından yorumsuz olarak bahsedelim.

* Kullanıcı yazılımının içinde ne olduğunu bilir. Bazı üretici firmaların yaptığı öne sürülen backdoor yerleştirme vakaları imkansızdır. Bu özellikle askeri kurumlar içın önemli olmaktadır. Farklı bir ülkenin ürünü olan bir yazılımı önemli istihbarat birimleri kullanmak istemeyeceklerdir. GPL ile lisanslanan yazılımın kaynak kodu ortada olduğu için gerekli inceleme yapıldıktan sonra rahatlıkla kullanılabilir.

* Yazılım çok büyük bir kitle tarafından kullanılması sonucunda hataların keşfedilmesi ve yine çok büyük bir kitle tarafından geliştirildiği için düzeltilmesi süreci bazen dakikalarla sınırlı olur.

* Üretici firma, kullanıcı kitlesini geliştirmek için büyük bir şans elde etmiş olur.

* Kullanıcı yazılımda beğenmediği kısımları değiştirmekte hürdür. Bunu eğer kendisi yapamıyorsa bile yazılım çok büyük bir kitle tarafından kullanıldığı için, Internet' te biraz aradıktan sonra büyük ihtimalle aynı yazılımın kendi istediği şekilde değiştirilmiş halini rahatlıkla bulur. Ya da bu iş için profesyonel destek satın alabilir.

* Üretici firma, dünyaca popüler bir GPL yazılımın üreticisi olarak büyük bir prestij elde eder. Referans listesinde onbinlerce kişi tarafından kullanılan bir programı geliştirmiş bir firma olmanın onurunu taşır. Bunun sonucunda bir sonraki geliştirdiği yazılıma dışarıdan bakışlar daha profesyonelce olur ve firmanın ismi duyulduğu için de hedef kitle daha büyük olur.

* BSD gibi lisanslarda olanın aksine GPL bir yazılımdan türetilen yazılım da GPL olmak zorunda olduğu için geliştiricinin kodunun çalınması riski yoktur.

* GPL bir yazılımın kodunun üzerinde oynayan kişi sayısı bazen binleri bulmaktadır. Bu nedenle programlar oldukça hızlı bir şekilde çok büyük bir kitle tarafından geliştirilir. Bu da yazılımın kalitesinin artmasında büyük bir rol oynar.

* GPL, yazılım sektöründe bir rekabet ortamı yaratmayı sağlar. Ücretli ve kapalı kod olarak sunulan yazılımların ücretsiz ve açık kodlu olanlara nispeten çok daha kaliteli olmasının gerekliliği ortaya çıkar. Bu da yazılımların kalitesini arttırırır ve sektörün ütopik tam rekabet piyasasına olabildiğince yaklaşmasını sağlar. Sektörü sadece arz değil, talep de yönlendirmeye başlar.

* Kullanıcı ürünün gelişmesi için üretici firmaya bağımlı kalmaz. Özellikle kritik uygulamalarda kullanılan bir yazılımı üreten firmanın batması veya artık yazılıma destek vermemesi durumunda mağdur kalmaz. Kaynak kodu ortada olduğu için kullanıcı istenirse kendi bünyesinde isterse destek alarak yazılımı geliştirmeye devam edebilir.

GPL'e özellikle son günlerde bazı eleştiriler yapılmaktadır. Bu eleştiriler kimilerince bir kampanya boyutuna taşınmaktadır. Bu eleştiriler GPL' in de bazı dezavantajları olabileceğine bizlerin dikkatini çekmeyi başarmıştır. Yorumsuz olarak bu eleştirileri kısaca sıralamak gerekirse:

* GPL ile geliştirilmiş yazılımlar ücretsiz olmak zorunda olmasalar da genelde böyledir. GPL yazılımların sayısı ve kalitesi arttıkça yazılım sektöründe dönen para akışını azaltmakta, bu da pek çok kişinin gelirlerinde büyük azalmalara ve sektördeki bazı ürünlerin egale olmasına yol açmaktadır.

* Şu anki teknoloji ile üretilebilecek hemen her konuda bir GPL yazılım mevcuttur. GPL yazılımların kodları örnek alındığında sonuç olan ürün de GPL olmak zorunda olduğu için, kapalı kod bir yazılım yazmayı düşünen bir firmanın bu yazılımlardan örnek almaması gerekir. Dolayısıyla yaratıcılığa sınırlar çizilmiş olunur.

* GPL üreten firma ya da şahıslar genelde ürünlerine yeterli desteği verememektedirler. Bunun bir nedeni de GPL yazılım üreten firmaların inanılmaz boyutlardaki hedef kitleye yetişememeleridir.

* GPL üretici firma ya da kişiler genellikle ürünlerine destek vermek içın ücret talep ederler. Bu da GPL yazılımların sanıldığının aksine ücretsiz olmadığı anlamına gelir.

* GPL yazılımların kaynak kodu açık olduğu için bilgisayar korsanlarının kodu inceleyerek güvenlik açıklarını bulması mümkün olur.

Sonuç

GPL, ister beğenilsin, isterse eleştirilsin bilişim sektöründe son yılların en büyük gelişmelerinden birisidir. GPL ile lisanslanmış yazılımların içinde en popüleri olan Linux İşletim Sistemi ve daha binlerce yazılım, IBM, SUN, Oracle, Corel gibi dünya devi firmaları kendi saflarına çekmeyi başarmış, Microsoft gibi bir diğer dünya devinden yetkilileri de GPL aleyhinde konuşmalar yapmak ve "Linux neden ücretsiz değildir" gibi yazılar piyasaya sürmek zorunda bırakmıştır. Yapılan propagandalar sonuç olarak neyi doğurur şu an öne sürmek çok zor fakat kesin olan bir şey var ki, GPL artık bilişim sektöründe küçümsenemeyecek bir gerçektir.