Açık mı kaynak?: Bitmeyen bir kavram kargaşası
Öyle fazla geçmişe gitmeye gerek yok, oturup bana üç gün önce sorsanız, açık kaynak üzerine bir yazı kaleme alacağım aklımın ucundan geçmezdi herhalde. Yirmi yıla yaklaşan süredir özgür yazılım-açık kaynak ayrılığında özgür yazılım için mücadele ettiğimi, bu mücadele için yeri gelince dernek kurup, kimilerine üye olup, neredeyse altı ayda bir bu konuda eğitimler verdiğimi göz önüne alınca, hayatımın bir noktasında “açık kaynağı” savunacağımı hiç düşünmezdim; ama o gün bugünmüş.
Her şeyden önce “ne o Özcan, kafana taş mı düştü?” diye soracak arkadaşlar için bir not düşeyim: Özgür yazılım aslında bu yazının temel öznesi değil. Açık kaynak etrafında yaşanan bir kafa ve kavram karışıklığının özgür yazılımı da etkilemesi sebebiyle bu yazıyı yazmaya ve bu savunuyu yapmaya karar verdim, çatışmada tarafım elbette ki hala aynı :)
The word “free” has two legitimate general meanings; it can refer either to freedom or to price. When we speak of “free software,” we’re talking about freedom, not price. (Think of “free speech,” not “free beer.”) Specifically, it means that a user is free to run the program, study and change the program, and redistribute the program with or without changes.
– GNU Project
Özgür yazılım, açık kaynak gibi kavramlarla hayatında ilk kez karşılaşan her insanın, hatta yalnızca bu da değil, bilgisayar kullanıp da herhangi bir yazılım indirmeye karar vermiş hemen hemen herkesin “free software” ifadesini görünce “free” kelimesini “bedava” olarak yorumlaması gayet doğal ve beklendik bir şey. Çünkü özgür yazılımlar genellikle ücretsiz olarak indirilebildiği gibi, kaderin bir cilvesi ki dünyanın neredeyse bütün dillerinden farklı olarak lingua franca İngilizcede “bedava” ve “özgür” sıfatları için aynı kelime kullanılıyor; bu da kaçınılmaz olarak özellikle sıradan kullanıcıların, daha önceden “edinilen bir şey” söz konusu olduğunda aşina olduğu “bedava” sıfatını yazılımlara “özgür” sıfatından daha uygun görmesine sebep oluyor. Türkçe, Kürtçe, Lazca, Fransızca, İtalyanca gibi pek çok dilde bu iki sıfat iki ayrı kelimeyle ifade edilse de maalesef İnternet’te var olan verinin çok önemli bir kısmı İngilizce olduğundan bu karmaşa farklı dillere de yayılıyor, en azından farklı dillerde de tartışılıyor.
Ama aslında buna benzer İngilizcede olmayan bir dilsel karışıklık Türkçede var.
Bunu aslında ilk olarak 2019 Özgür Yazılım Yaz Kampı’nda fark etmiştim, kampta ilk defa Mustafa abi bir MongoDB kursu açacaktı ve o dönemin tartışması MongoDB’nin yeni lisansıydı. Başından beri GNU AGPL kullanan bir özgür yazılım olan MongoDB, çok radikal bir kararla lisansını kendi yazdıkları SSPL (Server Side Public License) isimli bir lisans ile değiştiriyor ve bu o dönem adeta bir bomba etkisi yaratıyordu. Lisans en basit şekliyle AGPL’e bir madde daha ekliyor ve yazılımın SaaS olarak dağıtılması halinde ilgili SaaS platformunun da tüm altyapısının özgür yazılım olmasını zorunlu kılıyordu. Tam biz kampa hazırlanırken, tartışmalar genelde bu lisansın bir özgür yazılım ya da açık kaynak lisansı olarak değerlendirilip değerlendirilemeyeceği konusunda devam ediyordu. Nitekim aradan 7 sene geçti ve MongoDB-AWS savaşı ile başlayan garip lisans modelleri Elasticsearch, Terraform derken çok ciddi bir etki yarattığı gibi pek çok derin sorunu da beraberinde getirmiş oldu.
SSPL ise Açık Kaynak İnisiyatifi tarafından “açık kaynak lisansı” olarak değerlendirilmedi.
Hmm, burada bir duruyoruz. Ne demek açık kaynak değil, e kaynak kodu ortada işte?
Bu yazıyı yazmaya karar verme sebebim, çok sevgili Fatih‘in attığı şu tweet ve altında dönen tartışmalar oldu aslında.
Hem müthiş proje, hem açık kaynak 🥹 https://t.co/W4kh6jQawo
— fatih kadir akın (@fkadev) January 17, 2025
Alıntılanan tweette Cursor.new
isimli bir projenin “public” yapıldığı bir GitHub bağlantısı ile birlikte paylaşılmış. Buraya kadar her şey normal, bağlantıya gittiğimizde herkese açık bir Git deposu ve yazılımın kaynak kodu var, README dosyasını okumaya başlıyoruz; o da ne?
This project is proprietary software licensed under the Cursor New Proprietary License - see the LICENSE file for details. The software is not open source and requires a valid license for use. For licensing inquiries, please contact .
Bize proje mülk yazılımdır, açık kaynak değildir diyor?! Özgür değil anladık da, nasıl açık kaynak olamaz?!
İşte Türkçedeki kavram kargaşası tam olarak bu: İngilizcede open source software ve source-available software olarak ifade edilen iki ayrı kavram, maalesef Türkçede açık kaynak yazılım ve açık kaynak kodlu yazılım olarak ifade ediliyor1. Şimdi kavramlar netleşmeye başladıysa bir tur üzerinden geçelim:
- Açık kaynak yazılım: Özgür yazılım hareketinden 1998 yılında politik sebeplerden ayrılan Açık Kaynak topluluğu tarafından yazılan 10 maddelik Açık Kaynak Tanımı’na uyan lisanslarla lisanslanmış yazılımlar. Açık kaynak tanımı çok büyük ölçüde özgür yazılım tanımı ile örtüşür, ancak farklı bir perspektiften2 yazılmıştır. Dolayısıyla bir yazılıma açık kaynak diyebilmek için kaynak kodunun açık olması yetmez, tanımdaki esasları da sağlamak zorundadır.
- Açık kaynak kodlu yazılım: Özgür yazılım ya da açık kaynak hareketi ile ilgisi olmayan, hatta bir hareket de olmayan, kaynak kodu erişilebilir durumda olan yazılımlara verilen isim. Kaynak kodunun erişilebilir olması kullanıcıyla ilgili yazılım üzerinde hiçbir hak sağlamaz.
Yani örneğin, aslında açık kaynak sandığımız Akaunting veya Terraform gibi Business Source License ile lisanslanmış yazılımlar ya da MongoDB veya Redis gibi SSPL ile lisanslanmış yazılımlar; açık kaynak değil, açık kaynak kodlu yazılımlar3.
Kapatmadan önce, bu konu konuşulurken sevgili Eser‘in tartışmaya dahil olduğu şu tweete de değinmekte yarar görüyorum:
şurada daha önce yapılmış, sonra gaza getirip açık kaynak haline getirttiğim bir varyasyonu var. (öğrenci/öğrenen biri yaptığı için lisans misans demeyin, pr açarsanız tahminen kabul edecektir)https://t.co/HFTv2Ubosp
— Eser Özvataf (eser.live) (@eserozvataf) January 18, 2025
Bir yazılımı özgür ya da açık kaynak yapan şey, kaynak koduna erişilebilirlik değil; yazılımın lisansıdır.
Bu sebeple, lisansı olmayan yazılımlar4 ve Git depoları da aslında açık kaynak olmuyor. Son yıllarda özellikle GitHub’ın bu konudaki UX geliştirmeleri ve medya etkisi sebebiyle lisansı olmayan yazılımlarda düşüş olsa da, hala GitHub lisans kullanım sıklığı istatistiklerinde lisanssız depolar dünyada ve Türkiye’de dördüncü sırada5.
Bu tartışmadan çıkardığım özeleştiri, özellikle maalesef ki MongoDB’nin SSPL atağı sonrasında ilmek ilmek ilerleyen source available tehlikesine özgür yazılım ve açık kaynak toplulukları olarak doğru zaman ve şekilde bir eleştiri getirip bu konuyu gündem edemeyişimiz oldu benim için. Ne olursa olsun özgür yazılım cephesinde de açık kaynak hareketinde de olsak, bu topluluklara ve insanlığa katkı vermek isteyen yeni gelenlere bu farkı daha iyi anlatmamız gerekiyor diye düşünüyorum. Ayrıca yazılım geliştirmeye yakın zamanda başlayan ve GitHub gibi alanlarda notlarını, projelerini yayınlayabilecek seviyeye gelmiş bireylere de yol gösterirken, lisanslama konusuna da temel konulardan biri olarak değinmek herkes için çok daha faydalı olacaktır. Bunun için de bir rehber hazırlama fikri aklıma geldi, ilk fırsatta bununla ilgili de çalışacağım.
2025 yılının ilk yazısı bu oldu, madem öyle bu da #100DaysToOffload için ilk yazı olsun 🎉
Bu konularda daha fazla okuma yapmak isterseniz, aşağıya bazı bağlantılar bırakıyorum:
- https://oyd.org.tr/yazilar/
- https://www.gnu.org/philosophy/philosophy.html
- https://opensource.org/osd
-
Bu karmaşanın nasıl oluştuğunu tarihsel olarak bilmesem de, akademideki açık erişim tayfasının sebep olduğuna inanıyorum. ↩︎
-
Özgür yazılım tanımı, dört tane özgürlüğü belirtir ve neredeyse tamamen kullanıcının özgürlüğünü temel alır; doğrudan “yazılım” kavramını ön plana almaz. Açık kaynak tanımı ise yazılımları teknik taraflarıyla ele alır (ör. kaynak kodu okunamaz hale getirilmemelidir der). ↩︎
-
Özgür yazılım olup olmamaları bu yazının konusu değil, bu konuda kesin bir tanım da yok ancak tanımlar ve sağduyu ışığında SSPL’i özgür yazılım lisansı olarak kabul etmek gerekeceği kanısındayım. OSI’nin, SSPL’in açık kaynak lisansı olmadığına karar verme sebebini “lisansın şirketlere karşı olan agresif tutumu” olarak açıklamasını göz önünde bulundurmakta yarar var. ↩︎
-
Unlicense diye bir şey de var, ama o bir lisans. Evet kavram karmaşası asla bitmez. ↩︎
-
https://innovationgraph.github.com/global-metrics/licenses ↩︎