Gpl Nedir? Kaynak Kod Nedir? Açık Kaynak Kod Nedir?
Gpl,kaynak kod,açık kaynak kod tanımları ve konu ile ilgili bilgiler.
GPL nedir?
GPL, bilgisayar programı alıcılarına özgür yazılım tanımı haklarını sunar ve korunan özgürlükleri sağlamak için çalışma değiştirilse ya da eklemeler yapılsa bile copyleft kullanır.
Bazı ölçümlere göre, GPL özgür ve açık kaynak yazılımlar için en popüler tek yazılımdır. Ocak 2006 itibari ile GPL, Freshmeat[1] listesindeki 41.922 özgür yazılımın %66’sı için tercih edildiği ve yine Ocak 2006 itibari ile SourceForge[2] listesindeki yazılımların da %68’i için kullanıldığı sonucuna varılmıştır. (Bu siteler, Linux ve GPL’yi savunan OSTG firması tarafından sahiplenilmiştir. Buna benzer olarak, 2001 Red Hat Linux 7.1 yoklamasına göre, açık kaynakların %50’sinin GPL[3], lisansı altında olduğu ve 1997’deki en geniş özgür yazılım arşivine sahip MetaLab'ın araştırmasında kullanılan lisansların[4] yarısının GPL olduğu ortaya konmuştur. Seçkin özgür yazılım programları, Linux çekirdeği ve GNU Derleyici Kolleksiyonu (GCC) içeren GPL altında lisanslanmıştır. Bazı diğer özgür yazılım programları birden fazla lisans ile dual-lisanslı’ dır. Lisanslarından biri GPL olmaktadır.
GPL, GNU projesinin bir parçası olarak yayınlanan programların kullanımı için Richard Stallman tarafından yazılmıştır. GNU Debugger ve GNU Derleyici Kolleksiyonu, GNU Emacs’ın önceki versiyonları için benzer lisansların birleşimini temel alır. Bu lisanslar modern GPL için benzer şartları ihtiva eder fakat bu lisanslar, her program için spesifiktir. Aynı lisansa sahip birbirine uyumsuz programları tercüme eder [5] Stallman'ın amacı herhangi bir proje için kullanılabilecek bir lisans üretmek ve bunun sonucunda bir çok projenin aynı kodu paylaşmasına uygunluk göstermesi idi.
GPL’nin terim ve şartları, herhangi birinin GPL'nin uygulama oluşturduğu (lisans sahibi yaptığı) işlerin kopyalamasına imkan tanır. Bu terim ve şartlara katılan herhangi bir lisans sahibine söz konusu işi kopyalamaya, değiştirmeye veya versiyon çoğaltmak kadar değiştirmeye de izin verir. Lisans sahipleri, yaptıkları iş için bir miktar bedel isteme hususunda ya da ücretsiz yayınlama konusunda özgürlüğe sahiptirler. Bu sonuncu nokta yani ticari yeniden çoğaltma için ayırma, GPL’yi diğer yazılım lisansları ile ayırır. FSF, özgür yazılımların kısıtlamalar ya da ticari kullanımlar için oluşturulmamasını [14] tartışır. GPL açıkca GPL işlerinin herhangi bir fiyata satılabileceğini ifade eder.
GPL ek olarak, bir dağıtıcının “ GPL'nin hibe ettiği hakları ileride ücretlendirmek isteme" gibi dayatmasının olamayacağını da belirtir. Bu, yazılımın ifşa edilmeyen anlaşma ya da kontrat ile dağıtımı gibi aktiviteleri yasaklar. GPL altındaki dağıtıcılar, GPL’nin, yazılımdan oluşan herhangi bir patent içi lisans hibe etmesi ile bu patentleri GPL yazılımı içinde uygulamış olurlar.
Lisansın üçüncü bölümü, derleme öncesi ikililer ile dağıtılmasını gerektirmektedir. Bu ikililer, bir kaynak kodunun kopyası, bunun aynı mekanizma ile dağıtılabileceğinin yazılı önerisinden oluşur.
GPL metni kendiliğinden telif hakkına sahiptir ve telif hakkı sahibi Özgür Yazılım Derneğidir. Buna rağmen GPL kapsamında dağıtılan işler için FSF, yazar açıkça telif hakkı talep etmedikçe, telif hakkı istemez. (GNU projelerinin bir parçası olan programlarında bazı seyrek durumlar haricinde.) Sadece kişisel telif hakkı sahipleri, bir lisans ihlalinde talep edilmesi halinde otoriteye sahiptir.
FSF, insanlara GPL'yi temel alırken türetilen lisanslar, GPL başlangıcını izin almadan kullanmamak kaydıyla yeni lisanslar oluşturmaları için izin verir. Bu cesaret kırıcıdır. Bu yüzden bu tür lisanslar genellikle GPL ile zıt düşer. (Daha fazla ayrıntı için GPL FAQ ‘yu inceleyin.)
GNU projesi ile oluşturulan diğer lisanslar GNU Daha Küçük Genel Umumi Lisans ve GNU Özgür Dokümantasyon Lisansını içerir.
Kaynak kod nedir?
Yazılım üretmenin zor olduğundan yazılımcının bizim anlayacağımız işleri, amaçları ve çözülmesi gereken sorunları bilgisayarın anlayacağı bir şekilde sıralamasını yapar. Bizim kelimeleri bir araya getirerek konuşmamız ve bu şekilde - çoğu zaman - anlaşabilmemize benzer olarak bilgisayarlar da kendi dillerini konuşurlar. Bu dil bizim dilimize göre oldukça kısıtlıdır ve yanlızca iki kelime, iki harf veya iki şeçenek olarak basite indirgeyebileceğimiz 0 (sıfır) ve 1 (bir) değerlerinden oluşur. Bu iki yapı taşı ile donanım seviyesinde, açık veya kapalı, var veya yok, doğru ya da yanlış kavramları kullanılarak bilgisayara ne yapması gerektiği söylenmelidir. Bilgisayar cevap verirken yine ayni dili kullanacaktır. Bilişim tarihinin ilk günlerinde yazılım üretme işini sadece bu dili gerçek anlamda bilen, başka bir deyişle bilgisayarca konuşabilen insanlar gerçekleştiriyorlardı. Yazılımcı 0 ve 1'ce konuşarak bilgisayardan ne istediğini adım adım anlatıyor, bilgisayarın cevabını ise yine aynı şekilde 0 ve 1'ce olarak alıp sonuca ulaşıyordu. Bu 0 ve 1'ce zamanında yazılım üretmek gerçekten zordu. Bilişim alanında gelişmeler oldukça yine bu bilgisayarca konuşabilen yazılımcılar tarafından tercüme aracı denebilecek yazılımlar üretilmeye başladı. Derleyici (compiler) tabir ettiğimiz bu yazılımların görevi yarı insanca yarı bilgisayarca olarak tanımlayabileceğimiz yeni bir dilde yazılan adımları, bilgisayarın anlayacağı 0 ve 1'ceye çevirmektir. Bilgisayar kendi bünyesinde ve bileşenleri arasında hala bilgisayarca konuşmaya devam etmekte fakat bu tercüman yardımı ile en azından yeni nesil yazılımcıların ne dediğini anlayabilmektedir.
İşte bu insanların da anlayabileceği tercüme öncesi metne, kaynak kodu diyoruz. Kaynak kodunun güzelliği, gerekli eğitimi almış insanların bu metni okuyup anlayabilmesi gerekirse kendi metnini üretip bilgisayara derdini anlatabilmesidir. Dileyen yazılımcı başka birinin yazdığı kaynak kodunu alıp ona ufak tefek değişiklikler yaparak bilgisayara derdini uzun uzun yeniden anlatmak zorunda kalmadan kendi işini de halledebilir.
Açık kaynak kod nedir?
Açık:bir şeyin geçişi ,girişi ya da akışı engellemeyecek durunda olmasıdır.
Kod:ise bir bilgiyi gösteren simgeler dizesidir.
Açık kaynak yazılımlar, en küçüğünden cep telefonu, saat gibi gömülü sistemlerden, en büyüğünden süperbilgisayarlara, ev kullanıcılarından KOBİ'lere, kamu kurumlarından her türden okullara, tüm kurum ve bireylerin rahatça kullanabileceği, gereksinimlere göre basitleştirilebilen, sağlamlaştırılabilen, güçlendirilebilen yazılımlardır. Açık kaynak kod yazılımlar, her alanda çözümler sunarak, yazılım tekellerine karşı tüketiciye seçenekler sunmaktadır. Almanya, İspanya, Meksika, Brezilya, Çin, Kore, Hindistan gibi bir çok ülke, kamu kurumlarında açık kaynak kod yazılımlarının kullanımını şimdiden benimsemiş ve bilgi toplumu stratejilerin bir parçası yapmışlardır. Avrupa Birliği, UNESCO, Dünya Bankası gibi kuruluşlar güvenlik ve tasarruf gibi gerekçelerle açık kaynak yazılımlarını önermektedir. Dünya üzerindeki hemen her ülke kendi gereksinimlerine göre açık kaynak kodlu bir Linux dağıtımı geliştirmiştir. Ülkemizde de TÜBİTAK'ın girişimi ile bu yönde ULUDAĞ: Ulusal Dağıtım Projesi başlatılmış ve bir Linux dağıtımı olan Pardus Ulusal İşletim Sistemi hazırlanmıştır. Ülkemizde açık kaynak kod camiası 10 yılı aşkın bir süredir bulunmakta, Turkuaz, Gelecek, İstanbulx, Boreas, Turkix gibi dağıtımlar ve başka açık kaynak kodlu yazılımlar ve uygulamalar geliştirilmekte, yerli açık kaynak firmaları kurulmaktadır.
Açık kaynak kod yazılımlar tasarruf ve güvenliğin ötesinde de bir ülke ekonomisi için önemlidir. Ülkemiz teknoloji, özellikle bilgi teknolojisi üretmek zorundadır. Açık kaynak ortamları, teknoloji üretebilecek gençleri yetiştirmenin etkin yollarından biridir. Açık kaynak, ithal hazır çözümler yerine, ülkemize, ülke insanına güvenmek, ona yatırım demektir. Açık kaynak, kendi okullarında gereksinimlerine göre uyarlanmış, güvenli, sağlam ve ucuz çözümler demektir. Açık Kaynak yazılımlar, mütevazı donanımları etkin kullanabilmek demektir. Tüm üretim ve servis sektörlerinde bilişim maaliyeti gittikçe artmaktadır. Açık kaynak yazılımlar, en başta lisanslar nedeniyle bu maliyetleri düşürerek, yerli sanayici ve bilişimciye destek demektir, ülkenin rekabet yeteneği artırmak demektir.
Açık kaynak yazılımları, kapalı kaynak kod yazılımlarla yetenek ve performansta yarışacak konumdadır. Açık kaynak yazılımların tam rekabet ortamında kapalı kaynak yazılımlarla yarışması gerekir. Kamudaki uygulamaların platform bağımsız olması gerekir. Temel bilişim eğitimin marka bağımlılığı yaratmayacak, kullanıcıyı tüm alternatif platform ve ürünlerde çalışabilme yeteneğini kazandıracak, ürünlere değil kavramlara ağırlık vermesi gerekir
Emre Temel