Kullanımda olan her yazılım üreticisinin haklarını ve kullanıcının haklarını korumaya yönelik bir lisans anlaşmasına sahiptir. Lisans anlaşması nesnenin kullanımı, geliştirilmesi, yeniden yapılandırılması, değiştirilmesi, alıntısının yapılabilmesi gibi hususları belirleyen düzenlemeler içerir. Böylece üreticinin izni olmadan çoğaltılamaz, değişiklik yapılamaz. Ancak açık kaynak kodlu (Özgür Yazılım ‘Free Software’) yazılımda istediğimiz gibi kopyalama yapabilir, yeniden dağıtabilir, hatta yeniden düzenleyebiliriz. Özgür yazılım anlaşmalarından en popüleri Genel Kamu Lisansı (GPL, General Public License)‘dir.
1983 yılında MIT Üniversitesinden Richard Stallman özgür yazılım kavramını ortaya koyarak GNU organizasyonunu kurdu. Stallman’ın özgür yazılım kavramı, bir yazılımı istediğimiz gibi kullanma, kopyalama, değiştirme, geliştirme ve geliştirdiğimiz yazılımı aynı mantıkla dağıtma özgürlüğünü ifade etmektedir. Bir yazılımın kaynak kodları herkese açık ve geliştirilebilir olmalı, isteyen her geliştirici bu açık kodları değiştirerek yeni yazılımlar geliştirebilmeli ve yine bu yeni yazılımlar da kaynak kodları açık olarak özgürce dağıtılmalıdır. Bu düşünce açık kaynak kodlu yazılım ( Open source software) olarak adlandırılır.
GPL lisans anlaşması, GNU projesi için 1983 yılında Richard Stallman tarafından geliştirilmiştir. Bu lisansın en önemli özelliği yazılımların kaynak kodları ile birlikte dağıtılması gerektiği fikridir. Bu kullanıcılara yazılımın kaynak kodunu inceleme, istediği değişiklikleri özgürce yapma, kaynak kodları kısmen ya da tamamen farklı projede kullanma hakkı vermektedir. Hatta kullanıcılar yeni geliştirmiş oldukları yazılımdan maddi kazanç da elde edebilir ancak yeni yazılım da GPL lisansı ile lisanslanmalı ve geliştirmeye açık olmalıdır. GPL’nin en son güncel sürümü FSF(Free Software Foundation – Özgür Yazılım Vakfı) tarafından 29 Haziran 2007 tarihinde yayınlandı. GNU Genel Kamu Lisansı, dört temel özgürlüğü garanti altına almayı amaçlamaktadır. Bu özgürlükler şunlardır.
- Yazılımı sınırsız kullanma özgürlüğü
- Yazılımın nasıl çalıştığını inceleme ve amaçlara uygun değiştirme özgürlüğü
- Yazılımın kopyalarını sınırsız dağıtma özgürlüğü
- Yazılımın değiştirilmiş halini dağıtma özgürlüğü
GPL’de yazılımların ücretlendirilmesi ile ilgili bir kural bulunmamakla birlikte, GPL lisanslı yazılımların büyük çoğunluğu ücretsiz sunulmaktadır. Yazılımdan öte, kullanıcıya sunulan destekten para kazanılması yaygındır. GPL yazılımı isteyen her kullanıcı dilediği kopyalayabilir ve kullanabilir. Geliştirici yazılım için bir ücret talep ediyorsa kullanıcı bu ücreti ödemek durumundadır, ancak ücret talep edilmiyorsa kullanıcının herhangi bir yasal yükümlülüğü yoktur. GPL lisansı ile kullanıcının hakları korunurken, aynı zamanda tüm kaynak kodlara müdahale yetkisi vererek onun da bir geliştirici olması ve GPL yazılım geliştirmesi teşvik edilmektedir.