GPLv3 Yazılımın Çalıştırılabilir Dosyasını Dağıtırken Kaynak Kod Nasıl Sunulur?
GPLv3 kapsamındaki bir programın çalıştırılabilir kopyasını müşteriye vermek, o kopyaya karşılık gelen kaynak kodun lisansın 6. bölümündeki yöntemlerden biriyle sağlanmasını gerektirir. İnternette benzer bir projenin bulunması, kaynak deposunun yalnızca şirket içinde tutulması veya gerektiğinde kod verileceğinin sözlü söylenmesi bu yükümlülüğün yerine getirildiğini tek başına göstermez. İncelenecek üç unsur, teslim edilen program sürümü, kaynak paketinin içeriği ve dağıtım için seçilen yöntemdir.

Bu yazı, GPLv3 lisanslı çalıştırılabilir programı ürünle birlikte ya da indirme yoluyla dağıtan şirketin kaynak kod yükümlülüğünü ele alır. Ücret alınması dağıtımı yasaklamaz; kaynak sağlama şartını da ortadan kaldırmaz. Yazılımın hangi lisans sürümüne tabi olduğu başlangıçta belirlenmelidir. GPLv2, GPLv3 ve AGPLv3 aynı metin değildir; birindeki dağıtım seçeneği diğerine başlık benzerliğiyle taşınamaz.
Türk hukukunda sorun hangi mali haklarla bağlantılıdır?
5846 sayılı Fikir ve Sanat Eserleri Kanunu m.2 bilgisayar programlarını, eser niteliğinin koşulları içinde korur. Programı değiştirme, çoğaltma ve dağıtma işlemleri bakımından m.21, m.22 ve m.23 ayrı mali hak alanlarını düzenler. GPL, bu hakların belirli şartlarla kullanılmasına izin veren lisans düzenidir. “Açık kaynak” etiketi, programın hak sahibinin bulunmadığı veya kodun her koşulda serbestçe kapatılabileceği anlamına gelmez.
Kaynak kodun nasıl sunulacağına ilişkin ayrıntılı dağıtım şartı doğrudan GNU GPLv3 lisansının 1. ve 6. bölümlerinden gelir. FSEK’in ilgili maddeleri ile lisansın şartları bu nedenle birlikte okunur. “Türk kanununda GPL kaynak arşivi adlı bir belge yok” tespiti, hak sahibinin verdiği kullanım izninin sınırlarını ortadan kaldırmaz. Önce korunan program, sonra kullanılan mali hak ve bu kullanımın dayandığı izin belirlenir.
Bir tedarikçinin müşteriyle yaptığı sözleşmede bütün yazılımı kendisine aitmiş gibi göstermesi, üçüncü kişinin kodu üzerindeki hakları değiştirmez. FSEK m.48 ve m.52 çerçevesindeki lisans ve şekil incelemesi, tedarikçinin kendi katkısıyla önceki bileşenin ayrılmasını gerektirir. Genel koruma çerçevesi için yazılımın telif hakkıyla korunması açıklaması, bu yazıdaki özel dağıtım meselesini tamamlar.
Kopya teslimi ile yalnızca ağdan kullanım farklı olaylardır
GPLv3 Bölüm 0, başkasının program kopyası edinmesini sağlayan aktarımı esas alır; kopya aktarılmadan ağ üzerinden etkileşim ayrı tutulur. Kurulum dosyası indirilmesi, yazılım içeren bir cihazın teslimi veya müşteriye uygulama paketi gönderilmesi bu ayrımda gerçek teslim biçimi üzerinden incelenir. Hizmete verilen ticari ad, müşteriye hangi dosyaların ulaştığı sorusunun yerine geçmez.
Bu inceleme teknik ekiple yapılmalıdır. Sunucuda çalışan bileşen ile kullanıcının tarayıcısına, bilgisayarına veya cihazına gönderilen bileşen farklı olabilir. Sözleşmenin kapağında “bulut hizmeti” yazması, dağıtılan istemci paketini görünmez kılmaz. Ürün mimarisi, kurulum çıktıları ve teslim kayıtları birlikte okunarak hangi programın hangi kişiye kopyalandığı tespit edilir. Ardından yalnız o işlem için uygulanacak lisans koşulları seçilir.
Şirket içinde kullanılan bir program hakkında, sadece GPL adı görüldüğü için bütün şirket kodunun internete yüklenmesi gerektiği sonucu çıkarılmaz. Buna karşılık şirket dışına kopya verildiği hâlde işlemi “iç kullanım” olarak kaydetmek de dağıtım olayını değiştirmez. Şirket, lisans incelemesine ürünün pazarlama tanımıyla değil; gerçek dosya hareketini gösteren dağıtım haritasıyla başlamalıdır.
Karşılık gelen kaynak kod hangi pakettir?
GPLv3 Bölüm 1’deki karşılık gelen kaynak, ilgili çalıştırılabilir sürümün üretilmesi, kurulması, çalıştırılması ve değiştirilmesi için gerekli kaynak ve kontrol betiklerini kapsar; tanımlanan sistem kütüphaneleri ve belirli genel araçlar kapsam dışında tutulur. Dosyanın uzantısı tek başına yeterlilik ölçütü değildir. Kaynak paketi, teslim edilen programla ilişkisi kurulabilen ve değişiklik yapılmasına elverişli içerik olmalıdır.
Pratik kontrol, dağıtılan sürümün hangi depo kaydından ve hangi derleme ayarlarıyla üretildiğinin belirlenmesiyle başlar. Yalnızca projenin en güncel ana dalını vermek, aylar önce teslim edilen ikili dosyanın kaynağını karşılamayabilir. Kaynak sürümünün ürün sürümüyle eşleştirilmesi, hem müşterinin değişiklik yapabilmesi hem de şirketin yükümlülüğü yerine getirdiğini gösterebilmesi için gereklidir. Arşiv adı yerine arşivin gerçek içeriği esas alınır.
Kaynak paketini hazırlayan ekip, kendi yaptığı yamaları dışarıda bırakmamalıdır. Değiştirilmiş program dağıtılmışsa yalnızca üst projenin değiştirilmemiş kaynak adresini paylaşmak, dağıtılan sürümdeki değişiklikleri açıklamaz. Yamanın ayrı dosya olarak verilmesi tercih edildiğinde de esas kaynak, uygulama sırası ve gerekli bilgiler birlikte değerlendirilmeli; teslim edilen paketin gerçekten ilgili sürümü elde etmeye elverişli olduğu kontrol edilmelidir.
Bununla birlikte her derlemenin aynı dosya özetini üretmesi ayrı bir teknik konudur. GNU’nun kaynak ve ikili dosyanın eşleşmesine ilişkin açıklaması derleme zamanı ve araç farkları gibi etkenlerle aynı bit dizisinin her durumda zorunlu olmadığını belirtir. Şirket, bu ayrımı yanlış kullanıp farklı bir sürümün kaynaklarını sunamaz. Amaç kaynak ile teslim edilen program arasındaki gerçek ilişkinin kurulmasıdır; yalnızca özet değer karşılaştırması bütün incelemeyi çözmez.
Fiziksel üründe kaynak paketi veya yazılı teklif
Bölüm 6(a), fiziksel ürünle kaynak kodun uygun kalıcı fiziksel ortamda birlikte verilmesini düzenler. Bölüm 6(b) ise fiziksel ürüne eşlik eden yazılı teklif yolunu tanır. Teklif en az üç yıl ve ürün modeli için yedek parça veya müşteri desteği sunulduğu sürece geçerli olmalıdır. Bu iki süre koşulundan yalnız kısa olanı seçmek lisans metnindeki yükümlülüğü karşılamaz.
Teklifin yararlanıcısı yalnız ilk faturanın adına düzenlendiği müşteri değildir; ilgili çalıştırılabilir kopyayı elinde bulunduran kişiler de metinde kapsanır. Bu nedenle şirketin destek sistemi başvuruyu sadece ilk satış sözleşmesinin tarafına açacak biçimde tasarlanırsa, kullanılan dağıtım seçeneğiyle sistem arasında uyumsuzluk oluşur. Satış kanalı, ikinci el devir ve cihazla birlikte el değiştiren yazılım kopyaları operasyon planında dikkate alınmalıdır.
6(b) kapsamındaki teklif, fiziksel kaynak kopyasını makul fiziksel iletim maliyetini aşmayan bedelle veya ağ sunucusundan ücretsiz kaynak erişimiyle karşılamayı öngörür. Kaynak talebini pahalı bir bakım sözleşmesi satın almaya bağlamak, bu seçeneğin bedel ve erişim koşullarıyla birlikte incelenir. Şirketin kaynak sunmak için kullanacağı yöntem, başvuru adresi ve sürüm tanımlama yolu teklif belgesinde anlaşılır bulunmalıdır.
Dağıtıcı, garanti süresinin bitmesini kaynak teklifinin kendiliğinden sona erdiği tarih saymamalıdır. Garanti, ücretli destek, yedek parça sunumu ve lisans teklifinin süresi farklı kayıtlara dayanır. Kaynak talebi geldiğinde yalnız satış tarihine bakmak yerine ilgili ürün modelinin destek kayıtları da kontrol edilir. Ürünün üretimden kalkması ile müşterilere destek verilmeye devam edilmesi aynı olay değildir.
İnternetten ikili dosya indirilirken kaynak erişimi
Bölüm 6(d), belirli bir yerden sunulan çalıştırılabilir kopyaya karşılık kaynağın eşdeğer biçimde ve ek bedel olmadan erişilebilir sunulmasını düzenler. Kaynak başka sunucuda tutulduğunda, ikili dosyanın yanında açık yönlendirme bulunmalı; dağıtıcı erişilebilirliği sağlama sorumluluğunu sürdürmelidir. Kullanıcının ikili dosyayla birlikte kaynak arşivini mutlaka indirmesini zorunlu tutmak gerekmez.
İndirme sayfasının tasarımı burada hukuki sonucun parçasıdır. Kaynak bağlantısının yalnız şirket çalışanlarının girebildiği bir görev kaydında kalması, müşterinin indirme ekranından erişimi sağlamaz. İlgili sürüme ulaşan bağlantı, dosya bilgileri ve lisans açıklaması aynı dağıtım akışı içinde görünür olmalıdır. Bağlantı metninin “kaynak” demesi yeterli değildir; hedefte gerçekten doğru dosya ve gerekli erişim imkânı bulunmalıdır.
Üçüncü taraf depoya bağlantı verilmesi, o deponun gelecekte de aynı içeriği tutacağını garanti etmez. Dağıtıcı, kendi yükümlülüğünü yerine getirmek için bağlantının çalışmasını ve sürümün korunmasını izlemelidir. Depo sahibi etiketi kaldırdığında veya projeyi taşıdığında indirme sayfasının eski adreste kalması, kullanıcıya kaynak sağlamaz. Dağıtım kayıtlarıyla eşleşen doğrulanmış arşiv, bu nedenle yalnız teknik kolaylık değil hukuki ispat bakımından da değer taşır.
Ticari bayi üreticinin teklifini aynen iletmekle yetinir mi?
GPLv3 Bölüm 6(c), alınmış yazılı teklifin bir kopyasıyla bireysel ikili kopya aktarımını yalnız arızi ve ticari olmayan belirli durumlarda tanır. Bu sınırlı seçenek, düzenli ticari satış yapan bayinin genel dağıtım yöntemi olarak okunamaz. Bayi hangi 6. bölüm seçeneğine dayanacağını kendi teslim biçimine göre belirlemeli; üreticinin teklifini paket içine koyduğu için incelemenin bittiğini düşünmemelidir.
Tedarik sözleşmesi bu noktada somut yükümlülükler içermelidir. Üreticiden hangi sürümün hangi kaynak paketi alınacak, bayinin dağıtımı sırasında paket nasıl erişilebilir kalacak ve kaynağın eksik çıkması hâlinde kim hangi düzeltmeyi yapacak? Bu soruların cevabı, tüketiciye veya kurumsal müşteriye yöneltilen kaynak talebinden önce kurulmalıdır. Üreticinin özel taahhüdü, bayinin lisans metnine karşı kendi durumunun ayrıca incelenmesini ortadan kaldırmaz.
Kaynağı gizlilik sözleşmesine veya escrow şartına bağlamak
Kaynak tesliminden önce müşteriden, GPL’nin tanıdığı değiştirme ve yeniden dağıtma haklarını ortadan kaldıran bir gizlilik taahhüdü istemek, lisansın 10. bölümündeki ek kısıtlama yasağıyla çatışır. Şirketin başka ticari sırları bulunması, lisans kapsamındaki kod için sınırsız gizlilik şartı koyma yetkisi yaratmaz. Önce hangi materyalin GPL kapsamındaki kaynak, hangisinin bağımsız gizli bilgi olduğu ayrılmalıdır.
Kaynak kodun yalnız bağımsız bir saklayıcıya teslim edilmesi ve müşteriye ancak iflas gibi belirli bir olaydan sonra açılması da kaynak erişimiyle aynı düzen değildir. Yazılım kaynak kod escrow sözleşmesi iş sürekliliği için ayrı bir mekanizma kurar. GPL dağıtım yükümlülüğüne tabi kod bakımından, escrow şartının lisansın istediği mevcut erişimin yerini aldığı varsayılamaz.
Müşteri sözleşmesinin bütün kaynakları tek bir “gizli şirket malı” başlığına toplaması, farklı hak sahiplerini ve izinleri karıştırır. Doğru dosyada özel geliştirme kodu, üçüncü taraf bileşenler, lisans bildirimi ve dağıtım yöntemi ayrı gösterilir. Lisansın yazılı kapsamı için FSEK m.52 kapsamında telif sözleşmesinin şekli ayrıca incelenmelidir; genel bir mülkiyet cümlesi bütün izin zincirini açıklamaz.
Kaynak kapsamı bütün şirket deposu anlamına gelmez
Kaynak teslimini hazırlarken aşırı geniş ve aşırı dar iki dosya seçimiyle karşılaşılır. Birinde şirketin ilgisiz bütün projeleri pakete konur; diğerinde dağıtılan programın çalışması için gerekli şirket değişiklikleri çıkarılır. Hukuki inceleme, dosyaların hangi klasörde tutulduğuna değil, hangi esere ait olduğuna ve dağıtılan programla ilişkisine dayanır. Aynı depo içinde bulunmak tek başına bütün dosyaların aynı lisansa tabi olduğunu göstermez.
GPLv3 Bölüm 5, birbirinden ayrı ve bağımsız eserlerin yalnız ortak dağıtım ortamında toplanmasıyla bütün diğer eserlerin kendiliğinden GPL kapsamına girmesini ayırır. Ancak bir birleşik programın parçalarını farklı dizinlere ayırmak da kapsamı otomatik daraltmaz. Mimari incelemede bileşenlerin işlevleri, kod ilişkileri, lisans izinleri ve dağıtılan bütünün niteliği birlikte değerlendirilir. “Ayrı dosya” veya “tek paket” ifadesi tek başına nihai hukuki cevap değildir.
Bu ayrımın kayıt altına alınması için ürün bileşen çizelgesi hazırlanır. Her bileşenin kaynağı, sürümü, hak sahibi bildirimi, lisansı, şirkette değiştirilip değiştirilmediği ve hangi teslim paketinde bulunduğu gösterilir. Çizelge, yalnız satın alma ekibinin aldığı faturalardan oluşturulamaz; yazılım deposu ve dağıtım çıktısıyla karşılaştırılmalıdır. Lisans dosyası olmayan bir paket, internetten indirildiği gerekçesiyle otomatik olarak GPL veya serbest kullanım kapsamında sınıflandırılmamalıdır.
Ayrıca kaynak paketi müşteri verileri, erişim parolaları ve ilgisiz özel anahtarların topluca paylaşılacağı bir arşiv olarak hazırlanmamalıdır. Kaynak kapsamı ile dağıtıma yanlışlıkla eklenmiş işletme sırrı aynı şey değildir. Gerekli kurulum ve derleme bilgileri sağlanırken şirketin üretim ortamındaki gerçek kimlik bilgileri ayrı tutulur. Bu ayıklama, zorunlu kaynak dosyalarını veya gerekli betikleri kaldırmak için gerekçe yapılamaz; paket hem kullanılabilirlik hem içerik kapsamı bakımından kontrol edilir.
Kaynak talebinde ve uyuşmazlıkta hangi kayıtlar gerekir?
- Dağıtılan kopya: Kurulum dosyası, cihaz yazılımı veya ürün paketi; sürüm numarası, teslim tarihi ve doğrulama değeriyle saklanır. Sonradan yenilenen indirme sayfası eski teslimin içeriğini tek başına göstermez.
- Lisans dayanağı: İlgili sürümün lisans dosyası, hak sahipliği bildirimleri ve varsa sürüme özgü ek izinler birlikte alınır. Genel proje ana sayfası yerine dağıtılan sürümün belgeleri esas tutulur.
- Kaynak eşleştirmesi: Kaynak arşivi, depo kaydı, değişiklikler, gerekli betikler ve paket inceleme sonucu aynı sürüm kaydına bağlanır. Sadece arşivin bulunduğunu gösteren ekran görüntüsü yeterlilik incelemesinin yerini tutmaz.
- Erişim kanıtı: İndirme bağlantısının hedefi, talep tarihi, yanıt, erişim hatası ve sunulan dosya kayıtları korunur. Başvuruya verilen otomatik yanıt, kaynağın gerçekten sağlandığını tek başına kanıtlamaz.
- Teklif süresi: 6(b) kullanılıyorsa ürünle verilen yazılı teklif, başlangıç bilgisi, ilgili modelin müşteri desteği ve yedek parça sunumu kayıtları birlikte dosyalanır.
Hak sahibi bakımından inceleme, program üzerindeki hakkın ve izin sınırının gösterilmesiyle başlar. Kaynağı isteyen kullanıcı ile ihlalin önlenmesini veya mali haklara ilişkin talebi ileri süren hak sahibinin sıfatları aynı değildir. FSEK m.68–70 kapsamındaki istemler, somut yetki, fiil ve ilgili talebin koşulları üzerinden değerlendirilir. Kaynak bağlantısındaki her hata için aynı tutarda otomatik tazminat veya aynı usul sonucu öngören bir kural kurulamaz.
Düzeltme çalışmasında önce hangi dağıtımların eksik olduğu belirlenir. Tek bir yeni sürüme kaynak eklemek, önceki ürün modellerine veya indirme sürümlerine ilişkin eksikliklerin de giderildiğini göstermez. Dağıtım tarihi, mevcut erişim ve kullanılan teklif yolu ayrı satırlarda incelenmelidir. Lisansın 8. bölümündeki sona erme ve yeniden yürürlük koşulları da geçmiş kullanımdan ayrılarak değerlendirilir; kaynak yüklemek bütün önceki uyuşmazlıkları kendiliğinden kapatan bir işlem olarak sunulmamalıdır.
GPLv3 kaynak kod dağıtımı hakkında sık sorulan sorular
GPLv3 lisanslı yazılımı ücretle satmak yasak mı?
Hayır. GPLv3 ücret alınmasını yasaklamaz. Çalıştırılabilir kopya dağıtıldığında kaynak kod ve diğer lisans şartları, satışın ücretli veya ücretsiz olmasına bakılmaksızın incelenir. Ticari bedel, kaynak sağlama yükümlülüğünü ortadan kaldırmaz.
Programı hiç değiştirmeden dağıtırsam kaynak gerekir mi?
Evet. GPLv3 Bölüm 6, değiştirilmemiş programın çalıştırılabilir kopyasının dağıtımını da kapsar. Değişiklik yapılmaması, uygun yöntemle karşılık gelen kaynağı sağlama şartını tek başına kaldırmaz.
Kaynak yerine projenin ana sayfasını göstermek yeterli mi?
Ana sayfa bağlantısı tek başına yeterlilik göstermez. Dağıtılan sürüme karşılık gelen kaynak erişilebilir olmalı ve seçilen dağıtım yönteminin koşulları karşılanmalıdır. Değiştirilmiş sürüm dağıtıldıysa şirketin değişiklikleri de kaynak incelemesine dâhildir.
GPLv3 yazılı kaynak teklifi yalnız üç yıl mı geçerlidir?
Bölüm 6(b) en az üç yıl ve ilgili ürün modeli için yedek parça veya müşteri desteği sunulduğu sürece geçerli teklif ister. Destek veya parça sunumu devam ediyorsa yalnız üç yılın dolması bütün yükümlülüğü sona erdirmez.
Kaynağı yalnız ilk müşteriye vermek yeterli mi?
6(b) kapsamındaki teklif, ilgili çalıştırılabilir kopyayı elinde bulunduran kişileri kapsar. Yalnız ilk faturada adı yazan müşteriyi muhatap alan bir uygulama bu seçenek açısından yeterli kabul edilmez. Hangi dağıtım yönteminin kullanıldığı belirlenmelidir.
İnternetten dağıtımda herkes kaynağı da indirmek zorunda mı?
Hayır. Bölüm 6(d), karşılık gelen kaynağa eşdeğer ve ek bedelsiz erişim sunulmasını düzenler; kullanıcıyı kaynak dosyalarını mutlaka indirmeye zorlamaz. Kaynak bağlantısının gerçek ve ilgili sürüme ait olması gerekir.
Kaynak başka bir şirketin sunucusunda tutulabilir mi?
6(d) koşulları altında başka sunucu kullanılabilir. İkili dosyanın yanında açık yönlendirme bulunmalı ve kaynak erişilebilir kalmalıdır. Dağıtıcı, erişilebilirlik sorumluluğunu yalnız bağlantı vererek üçüncü kişiye aktarmış olmaz.
Ticari bayi üreticinin yazılı teklifini iletmekle yetinebilir mi?
6(c) seçeneği yalnız arızi ve ticari olmayan belirli aktarım durumlarını kapsar. Düzenli ticari bayi dağıtımı bu istisnaya otomatik olarak dayanamaz. Bayinin kendi dağıtımına uygun başka 6. bölüm yöntemini sağlaması gerekir.
Kaynak kod yalnız escrow kuruluşuna bırakılabilir mi?
Escrow, belirli olay gerçekleştiğinde kaynak açılması için ayrı bir sözleşmesel mekanizmadır. GPL dağıtımında gereken kaynak erişiminin yerine kendiliğinden geçmez. Kullanıcıya sunulan erişim, uygulanan lisans seçeneğiyle ayrıca karşılaştırılır.
Türk hukukunda GPL şartları hangi haklarla ilişkilidir?
FSEK m.21 işleme, m.22 çoğaltma ve m.23 yayma haklarını düzenler. GPL bu hakların belirli koşullarla kullanılmasına izin verir. Kaynak sağlama şartı lisans metninden, korunan hakların ve hukuki taleplerin çerçevesi ise uygulanacak kanundan değerlendirilir.
Birincil lisans ve kanun kaynakları
- Open Source Initiative – GNU GPLv3, özellikle Bölüm 0, 1, 6 ve 10
- GNU – GPL lisansları hakkında resmî sık sorulan sorular
- 5846 sayılı FSEK – m.2, 21–23, 48, 52 ve 68–70
İstanbul ve Mersin ofisleri
İstanbul · Polaris Plaza
Maslak Ahi Evran Caddesi, Polaris Plaza No:21, Kat:9, 34475 Sarıyer/İstanbulMersin · Profit İş Merkezi
İhsaniye Mahallesi, 4903. Sokak, Profit İş Merkezi No:23, Kat:3, Daire:14, 33070 Akdeniz/MersinHukuki konu hakkında iletişim
İlk iletişimde konuyu, bulunduğunuz ülke veya ili ve varsa tebliğ ya da son işlem tarihini kısaca belirtebilirsiniz. T.C. kimlik numarası, sağlık verisi veya kişisel belge göndermeyiniz. Mesajlaşma tek başına hukuki görüş veya avukatlık ilişkisi oluşturmaz.
