GPLv3 Yazılımı Dış Firmaya Geliştirtmek: Gizlilik ve Özel Yüklenici Şartları
GPLv3 kapsamındaki özel geliştirmeyi dış firmaya vermek, her durumda değişiklikleri herkese açıklama yükümlülüğü doğurmaz. Bölüm 2, yalnız müşteri için değişiklik yapılması veya programın onun adına çalıştırılması amacıyla kurulan dar bir yüklenici düzenini tanır. Yüklenici münhasıran müşteri adına, onun yönlendirmesi ve kontrolü altında çalışmalıdır. Müşterinin telif haklarını kontrol ettiği materyalle üçüncü kişiden aldığı GPL kodu ayrılır; genel bir gizlilik sözleşmesi bu ayrımı ortadan kaldırmaz.

Bu özel düzen, müşterilere ürün dağıtımını dış kaynak geliştirme gibi göstermenin aracı değildir. Hangi programın verildiği, yüklenicinin ne yapacağı, kendi hesabına kullanıp kullanamayacağı ve sonuç üzerindeki hakların kimde bulunduğu belirlenmelidir. Türk hukuku uygulanan geliştirme ilişkisinde FSEK m.48 ve m.52 mali hak düzenini, TBK m.19 ve m.112 ise sözleşmenin içeriğini ve ifasını değerlendirmeye yardımcı olur. Lisansın izin koşullarıyla proje sözleşmesi birlikte kurulmalıdır.
GPLv3 Bölüm 2 hangi çalışma düzenini tanır?
GPLv3 Bölüm 2, kapsam içindeki eserlerin yalnız alıcı için değiştirilmesi veya onların çalıştırılmasına yönelik tesis sağlanması amacıyla diğer kişilere verilmesini özel koşullarla ele alır. Yüklenicinin münhasıran müşteri adına, onun yönlendirmesi ve kontrolü altında hareket etmesi gerekir. Müşteriye ait telifli materyalin ilişki dışında kopyalanmasını yasaklayan koşullar bulunmalıdır. Müşterinin telif haklarını kontrol etmediği materyal aktarılırken ise ilgili GPL koşulları korunur.
Bu nedenle dış firmanın tüzel kişi olması veya uzaktan çalışması tek başına özel düzeni dışlamaz. Asıl mesele fiilen hangi rolü üstlendiğidir. Yüklenici programı müşteri için çalıştırıyorsa bu işin sınırı; kendi ürünü olarak pazarlıyorsa farklı dağıtım ilişkisi araştırılır. Sözleşmeye yalnız “danışman” veya “alt yüklenici” yazılması yeterli değildir. Görev, yetki, erişim ve sonraki kullanım kayıtları sözleşmedeki rolle tutarlı olmalıdır.
Bölüm 2’nin koşulları dışında kalan aktarım, lisansın olağan dağıtım hükümleriyle değerlendirilir. Bu da her durumda kodun bütün internete açılması demek değildir; ilgili dağıtım biçiminin kaynak ve bildirim koşulları belirlenir. İnceleme “gizli kalır” veya “herkese açılır” şeklinde iki soyut seçenekten ibaret değildir. Hangi alıcıya hangi kopyanın hangi izinle verildiği, doğan yükümlülüğün kapsamını belirler.
Kendi değişiklikleriyle önceki GPL kodu nasıl ayrılır?
FSF’nin GPLv3 dış yüklenici düzenine ilişkin gerekçesi, müşterinin kontrolü yalnız kendi telifli değişiklikleri üzerinde kullanabileceğini; başka katkı verenlerden alınan kısımların yükleniciye olağan GPL özgürlükleriyle sağlanması gerektiğini açıklar. Bu açıklama, nihai Bölüm 2’nin yorumuna yardımcıdır. Sonuç olarak müşterinin kendi özel katkısını gizli tutma düzeniyle başkasının açık kaynak kodunu bütün kullanımlara kapatma isteği aynı değildir.
Uygulamada dosya adı veya klasör sınırı tek başına hak sınırını göstermeyebilir. Aynı dosyada önceki program kodu ile müşterinin yeni katkısı bulunabilir. Hangi değişikliğin kim tarafından üretildiği, önceki kaynak sürümü ve katkı kayıtlarıyla belirlenir. Müşterinin bütün dosyaya yeni telif bildirimi eklemesi, önceki hak sahiplerinin yetkilerini ortadan kaldırmaz. Proje envanteri, devralınan kodla eklenen kısmın ayrımını görünür tutmalıdır.
Yüklenici, kamuya açık önceki GPL kodunu bağımsız ve hukuka uygun bir kaynaktan da edinmiş olabilir. Müşterinin özel değişikliklerine ilişkin gizlilik kaydı, yüklenicinin aynı temel kod üzerindeki bağımsız GPL izinlerini kendiliğinden yok etmez. Buna karşılık yüklenicinin temel kodu kullanma hakkı bulunması da müşterinin özel değişikliklerini başka projeye taşıma izni anlamına gelmez. İki materyalin kaynağı ve kullanım dayanağı ayrı tutulmalıdır.
Geliştirme bedelini ödemek hakları otomatik şirkete geçirir mi?
Türk hukuku uygulanıyorsa FSEK m.48 ve m.52 mali hak devri veya ruhsatın kapsamı ile şekli bakımından esas alınır. Bir dış firmaya geliştirme bedeli ödenmesi, üretilen bütün mali hakların kendiliğinden müşteriye geçtiği anlamına gelmez. Hangi hakların müşteride bulunduğu ve yüklenicinin neyi hangi sıfatla ürettiği belirlenmelidir. Bölüm 2’ye dayanırken müşterinin kontrol ettiği telifli materyalin dayanağı gösterilmelidir.
Telif sözleşmesinde hakların ayrı gösterilmesi açıklaması, geliştirme sözleşmesinin bu kısmı için tamamlayıcıdır. Çoğaltma, işleme ve diğer mali yetkilerin kapsamı; teslim edilecek mevcut ve yeni kodlar; üçüncü taraf bileşenler ayrı yazılmalıdır. Genel “proje bize aittir” ifadesi her hukuki soruyu çözmez. Başkasına ait GPL bileşenini kendi münhasır malı gibi devretme sözü de yüklenicinin sahip olmadığı hakkı yaratmaz.
Çalışanın ürettiği kod ile bağımsız yüklenicinin ürettiği kod aynı kurala otomatik tabi tutulmamalıdır. Çalışan yazılımlarında FSEK m.18 iş görülürken meydana getirilen eserlerin kullanım düzenini açıklar. Dış firmadaki personelin müşterinin çalışanı sayılması için yalnız projeye katılmış olması yeterli değildir. Yüklenicinin kendi çalışanlarıyla hak ilişkisi ve müşteriye verdiği yetki zinciri ayrıca belgelenmelidir. Lisans koşulundaki kontrol kavramı, iş sözleşmesinin varlığıyla özdeş değildir.
Yönlendirme ve kontrol hangi kayıtlarda görünmeli?
Proje görevleri, erişim sınırları ve sonuçların kullanılacağı amaç açık olmalıdır. Müşteri hangi değişikliği istediğini belirliyor mu, yüklenici hangi ortamda çalışıyor, ortaya çıkan sürüm kime teslim ediliyor? Bu sorular görev kayıtları ve sözleşme ekleriyle yanıtlanır. Yalnız faturanın müşteriye kesilmesi, münhasıran onun adına çalışma şartını tek başına göstermez. Yüklenicinin aynı değişikliği kendi ürününde kullanma yetkisi ayrıca incelenmelidir.
Teknik kontrol, müşterinin her kod satırını bizzat yazması demek değildir. Yüklenici teknik uzmanlığıyla işini yürütürken görev ve kullanım kapsamı müşteri adına kalabilir. Ancak yüklenici projeyi kendi hesabına ürünleştirip üçüncü kişilere sunabiliyorsa özel düzenin şartları yeniden değerlendirilir. Sonuç üzerinde bağımsız ticari kullanım hakkı ile müşteri için sınırlı geliştirme görevi aynı rol değildir. Taraflar bu ayrımı sözleşme ve fiili uygulamada tutarlı kurmalıdır.
Erişim kayıtları da bu yapıyı desteklemelidir. Hangi geliştiricinin hangi depoya ne kadar süreyle eriştiği, müşteriye ait kopyaların nerede tutulduğu ve teslim sonrasında hangi hesapların açık kaldığı belirlenir. Bu kayıtlar lisansın adlandırdığı belirli bir sertifika değildir; çalışma düzenini kanıtlar. Sözleşmede kapalı proje denirken kodun yüklenicinin herkesçe erişilen ürün deposuna konulması, belgeyle uygulama arasında açıklanması gereken bir çelişkidir.
Görev değişikliği kayıtları da başlangıç sözleşmesi kadar önemlidir. Müşteri için geliştirilen modülün sonradan yüklenicinin ortak ürününe eklenmesine izin verilmesi, ilk çalışma amacını değiştirebilir. Bu karar yalnız teknik iş emriyle geçiştirilmemeli; ilgili katkıların hakları, yeni alıcılar ve dağıtım koşulları yeniden belirlenmelidir. Önceki kapalı depo düzeni, sonraki farklı kullanım için tek başına izin kanıtı oluşturmaz.
Gizlilik hükmünün kapsamı nasıl çizilmeli?
Gizlilik maddesi müşterinin özel kodunu, proje belgelerini ve diğer gizli bilgileri tanımlamalıdır. Buna karşılık üçüncü kişinin GPL kodu üzerindeki lisans haklarını genel bir cümleyle silmemelidir. Bilginin kaynağı, kapsamı ve izinli kullanım amacı gösterilirse yüklenici neyi proje dışında kullanamayacağını anlayabilir. Belirsiz biçimde “açık kaynak dahil her şey şirket sırrıdır” demek, lisans ilişkisini doğru kurmanın yerine geçmez.
Müşterinin materyalinin ilişki dışında kopyalanmasının önlenmesi Bölüm 2’de özel önem taşır. Yüklenicinin kendi portföyünde örnek göstermesi, test deposuna taşıması veya başka müşteriye aynı özel kodu vermesi aynı görev kapsamında varsayılamaz. Her işlem için yetki ayrıca belirlenir. Kaynak kodun ticari sır olarak korunması rehberi, gizlilik ihlalinin ayrı hukuki alanını açıklar. GPL’ye uygun iş modeli, başka gizli bilgilerin açıklanmasını otomatik olarak meşru kılmaz.
Barındırma ve veri merkezi hizmetinde aynı ayrım uygulanır mı?
Bölüm 2, programların müşteri adına çalıştırılması için tesis sağlanmasını da açıkça kapsar. Bu nedenle dış veri merkezi veya işletim hizmeti, sadece dışarıda yürütüldüğü için olağan müşteriye ürün dağıtımıyla aynı kabul edilmez. Fakat hizmetin yalnız müşteri adına yürütülmesi, yönlendirme ve kontrol koşulları korunmalıdır. Hizmet sağlayıcının programı kendi müşterilerine bağımsız ürün olarak sunması farklı bir ilişki oluşturur.
Barındırma sözleşmesinde yönetim erişimi, kopyaların saklanması, bakım görevi ve hizmet sonundaki teslim açık gösterilir. İşletim için gereken erişimle programın ticari olarak yeniden kullanılmasına verilen izin ayrılır. Sunucu taşıma veya yedekleme işlemlerinin kimin hesabına yapıldığı da belirlenir. Teknik altyapının hizmet sağlayıcıya ait olması, programın bütün kullanım haklarının da ona geçtiğini göstermez. Buna karşılık lisans koşulları görülmeden her kopya hareketi şirket içi işlem sayılmamalıdır.
Bu yazı GPLv3’ün Bölüm 2 düzenini inceler. AGPL, EUPL veya başka bir lisansın ağ üzerinden kullanıma bağladığı farklı koşullar bu sonuçla geçiştirilemez. Envanterde yalnız “GPL benzeri” yazması yeterli değildir; gerçek lisans ve sürüm okunmalıdır. Aynı hizmette birden fazla lisanslı bileşen bulunuyorsa her birinin kapsamı belirlenir. Tek hizmet sözleşmesi, bütün üçüncü taraf izinlerini aynı metne dönüştürmez.
Alt yüklenici eklenirse ilk sözleşme yeterli mi?
İlk yüklenicinin başka geliştirici veya işletim kuruluşu kullanması yeni bir aktarım ve erişim ilişkisi yaratır. İlk sözleşmede özel çalışma düzeni kurulmuş olması, sonraki bütün kişilerin otomatik aynı koşullarda çalıştığını göstermez. Alt yüklenicinin rolü, müşteri adına hareket etmesi, kontrol bağlantısı ve ilişki dışında kopyalama sınırı açıklanmalıdır. Yetkili kişi listesi ve erişim kapsamı sözleşmenin gerçek işleyişiyle uyumlu olmalıdır.
Türk hukukuna tabi borç ilişkisinde TBK m.116 ifa yardımcılarının fiilleri bakımından sorumluluk çerçevesini düzenler. Yardımcı kullanmak, ana yüklenicinin üstlendiği edimlerden kendiliğinden çıkması anlamına gelmez. Bununla birlikte somut sorumluluk ve geçerli sözleşme sınırlamaları ayrıca incelenir. Lisans koşullarının sonraki kişilere doğru aktarılması, teknik görev paylaşımından ayrı bir hukuki iş olarak ele alınmalıdır.
Alt yüklenicinin hangi ülkede ve hangi altyapıda çalıştığına göre başka sözleşme ve veri yükümlülükleri de gündeme gelebilir. Bu unsurlar, GPL Bölüm 2’nin tek başına cevapladığı konular değildir. Lisans incelemesi telifli materyalin hangi amaç ve yetkiyle verildiğini belirler; kişisel verilerin aktarımını veya iş ilişkisinin bütün kurallarını kendiliğinden düzenlemez. Proje sözleşmesinde hukuki başlıklar birbirinin yerine kullanılmamalıdır.
Proje daha sonra müşterilere satılırsa ne değişir?
Yalnız iç kullanım için yaptırılan özel değişikliğin daha sonra üçüncü kişilere ürün olarak verilmesi, yeni dağıtım incelemesi gerektirir. Bölüm 2’deki dar çalışma düzeni, gelecekteki bütün ticari sunumlar için genel gizlilik istisnası değildir. Hangi sürümün kime verileceği ve GPL’nin olağan kaynak, lisans ve bildirim koşulları belirlenir. İç geliştirme sırasında gizli tutulabilen materyalin sonraki dağıtım şartı ayrıca değerlendirilmelidir.
Ürünleştirme kararı alındığında geliştiricinin önceki sözleşmedeki mali hak yetkileri de kontrol edilir. Müşterinin yalnız belirli iç kullanım izni edinmiş olmasıyla geniş dağıtım yetkisi edinmiş olması aynı değildir. Üçüncü taraf kodu, müşteriye ait katkı ve yüklenicinin önceden var olan araçları ayrı değerlendirilir. Hazır çalışan bir sürümün bulunması, bu hakların tamamının müşteriler için yeni dağıtıma hazır olduğunu kanıtlamaz.
Teslim ve proje kapanışında hangi kayıtlar tutulmalı?
- Başlangıç GPL programı, kullanılan lisans sürümü ve değişikliklerden önceki kaynak kaydı.
- Müşterinin haklarını kontrol ettiği katkılarla üçüncü taraf materyalinin ayrımı.
- Görev kapsamı, müşteri adına çalışma ve yönlendirme/kontrol düzeni.
- Yüklenici ve alt yüklenicilerin erişimleri, teslim sürümleri ve proje dışı kullanım sınırları.
- Proje bitiminde teslim, erişim kapatma, izinli saklama ve kopyaların durumuna ilişkin tutanak.
Teslimin teknik kabulü ile mali hak ve gizlilik belgelerinin tamamlanması farklı aşamalardır. Yazılım kabul testi ve ayıp bildirimi işlevsel incelemeyi ayrıntılandırır. Buradaki lisans dosyası ise çalışır sonucun hangi izinle elde edildiğini gösterir. Testlerin geçmesi, yanlış GPL sürümüyle çalışılmış olmasını veya yetkisiz üçüncü taraf kodunu otomatik düzeltmez. Kabul tutanağı bu başlıkların hangisini doğruladığını açıkça belirtmelidir.
Kapanışta bütün kayıtların silinmesi isteniyorsa sözleşmesel teslim, ispat ve hukuken gerekli saklama durumları birlikte incelenmelidir. Proje dışında kullanılmama ile her delil kaydının yok edilmesi aynı değildir. Hangi kopyanın müşteriye verildiği, hangi erişimin sona erdiği ve hangi sınırlı belgenin hangi sebeple saklandığı açıklanmalıdır. Belirsiz bir “her şeyi sildik” beyanı, sonradan sürüm ve yetki zincirinin ispatını güçleştirir.
Yüklenici özel kodu başka projede kullanırsa ne araştırılır?
Önce kullanılan kısmın müşterinin telifli özel katkısı mı, üçüncü tarafın GPL kodu mu yoksa korunabilir ifade içermeyen genel bilgi mi olduğu belirlenir. Aynı işlevi gerçekleştiren her programın müşteri kodunu kopyaladığı sonucu çıkarılamaz. Dosya karşılaştırması, değişiklik geçmişi ve erişim kayıtları hukuki nitelendirmeye yardımcı olur. İddia, hangi materyalin hangi izin dışında kullanıldığı gösterilerek kurulmalıdır; bütün açık kaynak ekosistemi müşterinin tekeline dönüşmez.
Türk hukuku uygulanan sözleşmede TBK m.112’ye göre borca aykırılık, zarar ve nedensellik değerlendirilir. FSEK kapsamındaki talepler ise hak sahibi ve kullanılan mali hak bakımından ayrıca incelenir. Gizlilik ihlali, lisans şartının ihlali ve teslim eksikliği farklı olgular olabilir. Her biri için istenen sonuç açık yazılmalıdır. Tek genel ihtarla bütün hukuki sebeplerin aynı şartlara bağlandığı varsayılmamalıdır.
Delil ve süre yönetimi nasıl yapılır?
HMK m.199 çerçevesinde depo kayıtları, görev yazışmaları ve teslim belgeleri delil olarak değerlendirilir. Kaydın kime ait olduğu ve hangi tarihte üretildiği korunmalıdır. Yalnız son sürüme bakmak, özel katkının ne zaman ve kim tarafından eklendiğini göstermeyebilir. Uyuşmazlıkta önceki sürüm, tartışmalı sürüm ve izin dosyası birlikte incelenir. Karşılaştırma raporu yalnız benzerlik oranı vermekle kalmamalı, ilgili dosya ve işlemleri açıklamalıdır.
Bölüm 2 her proje için tek bir saklama, düzeltme veya dava süresi koymaz. Sözleşmesel takvim, ilgili lisans koşulları ve uygulanacak hukukta talebe ilişkin süreler ayrılır. Türk hukukunda TBK m.146 genel kuralı yanında özel hükümler ve eser ilişkisine bağlı süreler ayrıca incelenir. Teslim, öğrenme, bildirim ve amaç dışı kullanım tarihleri ayrı kaydedilmelidir. Lisans incelemesi sürerken gerekli bildirimin süresi gözden kaçırılmamalıdır.
Sık sorulan sorular
GPLv3 yazılımı dış firmaya geliştirtmek kodu herkese açmayı gerektirir mi?
Her durumda gerektirmez. Bölüm 2’nin dar yüklenici koşulları incelenir: münhasıran müşteri adına çalışma, yönlendirme ve kontrol, müşterinin telifli materyalinin ilişki dışında kopyalanmaması ve üçüncü taraf GPL şartlarının korunması.
Sadece gizlilik sözleşmesi imzalamak yeterli mi?
Hayır. Fiili görev, hak kontrolü ve kullanım kapsamı özel düzenle uyumlu olmalıdır. Gizlilik metni, üçüncü taraf GPL kodunun olağan lisans haklarını genel olarak ortadan kaldıramaz.
Dış firma uzaktan çalışıyorsa özel düzen uygulanamaz mı?
Uzaktan çalışma tek başına engel değildir. Hangi amaçla, kimin adına ve hangi kontrol altında çalışıldığı belirlenir. İşin yeri yerine lisansın aradığı görev ve kullanım koşulları incelenir.
Müşteri bütün temel GPL kodunu kendi sırrı ilan edebilir mi?
Kendi telifli değişiklikleri ile üçüncü kişilerden alınan GPL materyali ayrılır. Temel kodun olağan GPL özgürlükleri korunur. Müşterinin özel katkısının başka projeye taşınması ise ayrı yetki ve gizlilik değerlendirmesidir.
Geliştirme ücretinin ödenmesi bütün telif haklarını geçirir mi?
Tek başına ödeme böyle genel sonuç doğurmaz. Türk hukuku uygulanıyorsa FSEK m.48 ve m.52 kapsamında mali hak veya ruhsat düzeni belirlenir. Yüklenicinin kendi hak zinciri de kontrol edilmelidir.
Barındırma sağlayıcısı Bölüm 2 kapsamında olabilir mi?
Programı müşteri adına çalıştırmak için tesis sağlama düzenlemede yer alır. Ancak münhasır amaç, yönlendirme ve kontrol koşulları korunmalıdır. Sağlayıcının aynı programı kendi müşterilerine sunması ayrıca değerlendirilir.
İlk yüklenici alt yüklenici kullanınca koşullar otomatik taşınır mı?
Hayır. Yeni kişinin görevi, erişimi, müşteri adına hareketi ve proje dışı kopya sınırı belirlenmelidir. İlk sözleşmenin varlığı sonraki bütün ilişkilerin fiilen aynı koşulları taşıdığını kanıtlamaz.
İç kullanım için geliştirilen sürüm daha sonra satılabilir mi?
Satış veya başka dağıtım planı ayrıca incelenir. Bölüm 2 gelecekteki bütün ürün dağıtımları için genel gizlilik istisnası değildir. GPL koşulları ve müşterinin kendi katkılar üzerindeki dağıtım yetkisi belirlenmelidir.
Aynı işlevi yapan başka program kod kopyalandığını kanıtlar mı?
Tek başına aynı işlev yeterli değildir. Tartışmalı ifade, dosya içeriği, katkı geçmişi ve erişim kayıtları karşılaştırılır. Müşterinin özel koduyla genel GPL materyali ve bağımsız geliştirme ayrılır.
Proje sonunda hangi üç kayıt birlikte korunmalı?
Başlangıç kodu, teslim edilen değişiklikler ve bunlara ilişkin izin/görev belgeleri birlikte korunmalıdır. Yalnız çalışır dosya veya genel silme beyanı, özel yüklenici düzeninin bütün koşullarını göstermeye yetmez.
İ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.
