Ana içeriğe atla

Yazdığınız kodu GPLv3 ile nasıl lisanslarsınız

Bir program geliştirdiğinizde onu bir özgür yazılım lisansıyla lisanslamanız kamunun ondan en büyük faydayı sağlamasına imkan verecektir. Özgür yazılımlar kullanımı, dağıtımı, değiştirilmesi ve değiştirilmiş halinin dağıtılması konusunda kısıtlama getirilemeyecek yazılımlardır. Son zamanlarda yazılımlarını GPL ile lisanslamak isteyen ama bunu nasıl yapacağını pek bilemeyenlerin sayısının hiç de az olmadığını görüyorum. Aslında yapılacak işlem basit olmasına rağmen bir programın GPLv3 ile nasıl lisanslanacağını kısaca özetlemek istiyorum.

En güvenlisi aşağıdaki ifadelerin her kaynak dosyanın başlangıcına eklenmesi:

   (programın adını ve ne yaptığını özetleyen bir satır.)
   Copyright (C) (yıl) (yazarın adı)
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or
   (at your option) any later version.
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA

Birden çok dosyadan oluşan programlar için lisanstaki "this program" ifadesini programın adıyla değiştirmek ve lisans bilgisinin başlangıcına “This file is part of NAME” ifadesini eklemek daha uygun olacaktır. Her kaynak dosyanın en azından "copyright" ifadesini içeren satırı ve diğer uyarı mesajlarının nerede bulunacağı bilgisini içermesi gerekir. Kaynak kodla birlikte COPYING veya LICENSE isimli bir dosyada GNU Genel Kamu Lisansının bir kopyasını dağıtmanız gerekmektedir. Geliştiriciye ulaşmak için bir eposta adresi eklenmesi de son derece önemlidir. Yazdığınız program konsoldan kullanıcıyla etkileşime giriyorsa ilk çalıştırıldığında aşağıdaki gibi bir uyarı mesajı vermelidir:
   Gnomovision version 42, Copyright (C) yıl  yazarın adı
   Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w.
   This is free software, and you are welcome to redistribute it
   under certain conditions; type `show c' for details.
Buradaki show w ve show c ifadeleri yerine programda uygun karşılıklar nelerse onların yazılması gerektiğini de vurgulamış olalım. Eğer programınız bir grafik arayüze sahipse bu bilgileri Hakkında bölümünde görüntülemelisiniz. GNU Genel Kamu Lisansı programınızın sahipli bir yazılımın içinde kullanılmasına izin vermez. Eğer yazdığınız kod sahipli yazılımların da bağlanmasını istediğiniz bir kitaplık ise onu GNU Kısıtlı Genel Kamu Lisansı ile lisanslamayı düşünebilirsiniz.

Bu blogdaki popüler yayınlar

Bilgisayar mühendisliği öğrencilerine tavsiyeler

Üniversite tercihlerinin pek azı gerçekten bilerek, isteyerek yapıldığından öğrencilerin bölümlerini tanımaları, kendilerine bir yön belirlemeleri bazen bir iki yılı bile bulabiliyor. Elbette bir günlük girdisiyle bu sorunu çözmek mümkün değil ama yolun başındaki genç arkadaşlar için bir kaç önerinin faydalı olacağını düşünüyorum. Aşağıda yazanların benim onbeş yıllık tecrübelerim olduğunu, bunları yapmanın iyi geleceği bünyeler olduğu gibi bunları yapmadan da başarılı/mutlu olanlar olabileceğini bilip öyle okumakta fayda var.
Üniversite hayatını sadece okuldan ibaret görmeyin. Mezun olduktan sonraki hayatınız da sadece işten ibaret olmayacak. En çok kitap okuduğunuz, müzik dinlediğiniz yıllar üniversite yıllarınız olsun. Üniversitelerde bir sürü öğrenci topluluğu var, ilginizi çeken birine katılın. Beğenmezseniz başkasına katılırsınız. Sosyal faaliyetleri, konserleri küçümsemeyin pişman olursunuz sonra.Lisans eğitimi dört yıl ve bu yeterince uzun bir süre. Üniversiteye gelene kadar bi…

SHA1'in kırılması ne anlama geliyor?

İnternette güvenlik, gizlilik, bütünlük gibi konular çoğunlukla bizim üzerinde pek düşünmediğimiz ve kullandığımız yazılımlar tarafından halledilen konular arasında yer alıyor. Örneğin internette bankacılık işlemi yaparken bağlandığımız sunucu gerçekten bağlanmak istediğimiz sunucu mu, gönderip aldığımız verileri araya giren birileri ele geçirip ondan bir anlam çıkartabiliyor mu diye düşünmüyoruz. Bu işlemleri tarayıcımız bizim yerimize yapıyor. O da verilerin şifrelenmesi ve sunucuların doğrulanması gibi işlemleri kriptografik protokolleri kullanarak gerçekleştiriyor. Benzer şekilde kullandığınız programlar güncellemeleri indirdikten sonra onların bozulmadan indiğini kontrol etmek için benzer kriptografik araçları arka planda çalıştırıyorlar.

Kriptografinin diğer kullanım alanlarının yanı sıra veri bütünlüğünün kontrol edilmesi de hepimiz için büyük önem taşıyor. Bu işlem için dosya içeriklerini kontrol etmek yerine onların tek yönlü fonksiyonlar kullanılarak özetleri çıkartılıyor ve…

Yerli yazılım, Milli yazılım

Ülkemizin olabildiğince çok konuda dışa bağımlı olmaması hepimizin isteği. Elbette her şeyi yurt içinde üretemeyiz ama eğer bir ürünün yurt dışından kullanılması ülkenin kaynaklarının dışa aktarılması anlamına geliyorsa veya o ürünü geliştirmek için dışa bağımlı oluyorsak onu kendimizin üretmesi anlamlı olacaktır. Ülke menfaatleri açısından bakıldığında bazen dışarıdan daha ucuza alınabilecek bir ürünü yurt içinde üretmek onun sağlayacağı katma değerler göz önüne alındığında daha faydalı olabilir. Güvenlik, gizlilik gibi konuların yanı sıra bir ülke vatandaşı için kullandığı ürünlerin çoğunun kendi ülkesinde üretildiğini bilmek bile önemlidir.

Uzun zamandır özgür yazılımı anlatmaya gittiğim yerlerde 'neden yabancıların yazılımlarını kullanıyoruz da kendimiz yazmıyoruz' sorusuyla karşılaştığımdan bu konuda kısaca yazayım istiyorum. Bu bahsettiğime çok benzer tepkileri Pardus hakkında da sıklıkla duyuyorduk, 'neden milli çekirdek yok, neden kendi ofis paketimizi yazmıyoruz&#…