B&KBakırcı & KeskinHUKUK BÜROSU
TR
TürkçeEnglishDeutschРусскийالعربية中文
Menü

LGPLv3 Kütüphanesini Ticari Uygulamaya Bağlamak: Yeniden Bağlama ve Lisans Şartları

LGPLv3 kütüphanesinin ticari uygulamada kullanılması, uygulamanın kaynak kodunun her durumda bütünüyle açılmasını gerektirmez; kullanıcıya kütüphaneyi değiştirme ve ilgili birleşik uygulamayı yeniden oluşturma imkânı tanınmalıdır. Lisansın 4. bölümü, bu imkân için iki ayrı yol düzenler: gerekli kaynak ve uygulama kodunun yeniden bağlamaya elverişli verilmesi veya değiştirilmiş uyumlu kütüphaneyle çalışabilen uygun paylaşımlı kütüphane mekanizması kullanılması. Ticari dağıtımın gerçek yöntemi bu seçeneklerden hangisinin koşullarını sağladığıyla değerlendirilir.

LGPLv3 için uygulama-kütüphane ayrımı, dağıtım yolunun seçilmesi ve teknik-hukuki imkânların doğrulanmasını gösteren şema
LGPLv3 yeniden bağlama koşulu, teslim edilen dosyalar ve son kullanıcıya verilen izin birlikte incelenerek doğrulanır.

Yazılımın yalnız “dinamik bağlı” veya “statik bağlı” olarak etiketlenmesi yeterli hukuk incelemesi değildir. Dağıtılan uygulama gerçekte hangi kütüphaneyi yüklüyor, kullanıcı değiştirilmiş uyumlu sürümü çalıştırabiliyor mu ve sözleşme buna izin veriyor mu? Bu soruların hem teknik hem yazılı karşılığı bulunmalıdır. Bu rehber LGPLv3 birleşik uygulama dağıtımını ele alır; LGPL 2.1 metnindeki seçenekler buraya otomatik taşınmaz.

LGPLv3 neden GPLv3 metniyle birlikte okunur?

GNU Lesser General Public License version 3, GPLv3 koşullarını bünyesine alır ve belirli ek izinler getirir. Dolayısıyla yalnız LGPL’nin kısa metnine bakıp temel kaynak dağıtım hükümlerini yok saymak doğru değildir. Birleşik uygulama için özel izinlerden yararlanılırken bu izinlerin sınırları uygulanır. GPLv3 metni özellikle kaynak sağlama yöntemi ve belirli ürünlerde kurulum bilgisi bağlantısı bakımından birlikte okunmalıdır.

Türk hukuku açısından temel mali hak zemini FSEK m.21, m.22 ve m.23 hükümleridir. Eser niteliğindeki programı değiştirme, çoğaltma ve dağıtma işlemleri bu hak alanlarıyla ilişkilidir. LGPL, kütüphanenin hak sahibinden alınan izin düzenini açıklar. Ücretsiz edinilen bir kütüphanenin hak sahibi bulunmadığı veya tedarikçinin ürüne eklemesiyle bütün hakları devraldığı varsayılamaz.

Kütüphane geliştiricisinin izni ile ticari uygulamanın müşteriye verilen izni dosyada ayrı gösterilmelidir. Genel hak sahipliği çerçevesi yazılımın telif hakkıyla korunması yazısında açıklanır. Buradaki özel soru, kütüphane için verilmiş LGPL izniyle şirketin uygulaması arasındaki birleşimde hangi kullanıcı haklarının korunacağıdır. Sözleşme taslağı, gerçek yazılım mimarisinden ayrı hazırlanırsa bu soruya eksik cevap verir.

Uygulama, kütüphane ve birleşik çalışma ayrımı

LGPLv3 Bölüm 0, uygulamayı kütüphanenin sunduğu arayüzü kullanan, başka bakımdan kütüphaneye dayanmayan eser olarak tanımlar. Uygulama ile kütüphanenin bağlanması veya birleştirilmesi birleşik çalışmayı meydana getirir. Tanım, arayüz kullanımı ile doğrudan kütüphane koduna dayanan geliştirmeyi ayırır. Şirketin bir dosyaya “uygulama kodu” adını vermesi, bu tanımı gerçekten karşıladığını tek başına göstermez.

İncelemede kütüphane dosyaları, şirkete ait uygulama dosyaları ve birleştirme çıktıları ayrı listelenir. Kütüphanenin içine yapılan değişiklikler uygulamanın bağımsız geliştirmesiyle karıştırılmamalıdır. Aynı yazılım deposunda bulunmaları bütün dosyaları tek statüye sokmaz; farklı depolarda bulunmaları da önceki koda dayanma ilişkisini ortadan kaldırmaz. Kodun kökeni ve teknik ilişki somut olarak gösterilmelidir.

Bu sınıflandırma özellikle satın alınan veya dış ekipçe geliştirilen uygulamalarda önemlidir. Teslim eden şirketin genel “tüm fikrî haklar bizdedir” açıklaması, kütüphane lisansını açıklamaz. Hangi kütüphane sürümünün kullanıldığı, değişiklik yapılıp yapılmadığı ve hangi ek izinlere dayanıldığı tedarik dosyasında bulunmalıdır. Son müşteriye yapılan dağıtım, önceki tedarikçinin verdiği belgeyle teknik paket karşılaştırılmadan onaylanmamalıdır.

Birinci yol: yeniden bağlamaya uygun uygulama kodu

Bölüm 4(d)(0), asgari karşılık gelen kaynak ile karşılık gelen uygulama kodunun, kullanıcının uygulamayı kütüphanenin değiştirilmiş sürümüyle yeniden bağlamasına elverişli biçimde verilmesini düzenler. Uygulama kodu tanımı nesne kodunu veya kaynak kodunu ve yeniden oluşturma için gereken veri ile yardımcı programları kapsar. Bu nedenle ilgili seçeneğin her kullanımında ticari uygulamanın bütün kaynaklarının yayımlanacağı söylenemez.

Buna karşılık yalnız uygulamanın son çalıştırılabilir dosyasını vermek de otomatik olarak yeterli değildir. Kullanıcının değiştirilmiş kütüphaneyle yeni birleşimi oluşturabilmesi için hangi dosyalara ve bilgilere ihtiyacı olduğu belirlenir. Verilen nesne dosyalarının doğru sürüme ait olması, kullanılan araçlarla uyumu ve yeniden bağlama işleminin fiilen yapılabilmesi kontrol edilir. Dosya sayısının fazla olması, bu işlevin gerçekten sağlandığını göstermez.

Teknik teslim planında ürün sürümü, kütüphane sürümü, derleme düzeni ve gereken yardımcı materyal aynı kayda bağlanır. Geliştiricinin kendi bilgisayarında tamamlayabildiği işlem, müşteriye verilen paketle tamamlanamıyorsa teslimin elverişliliği ayrıca incelenmelidir. Hukuki koşulun uygulanması için yapılacak test, müşterinin erişebildiği materyal üzerinden yürütülür. Şirket içindeki gizli bir sunucuya bağımlı adımlar açık bırakılmamalıdır.

Sunulan uygulama kodunun kullanım şartları da yeniden bağlamaya izin vermelidir. Teknik olarak yeterli dosyanın yanına, dosyanın bu amaçla kullanımını yasaklayan bir lisans koymak koşulu karşılamaz. Yazılı izin ve teknik olanak birlikte sağlanmalıdır. Ticari uygulamanın diğer kullanım sınırları korunurken, LGPL’nin bu özel dağıtım yolu için istediği işlem açıkça mümkün bırakılır.

İkinci yol: gerçekten uygun paylaşımlı kütüphane mekanizması

Bölüm 4(d)(1), çalışma sırasında kullanıcının sisteminde bulunan kütüphane kopyasını kullanan ve bağlanan sürümle arayüz bakımından uyumlu değiştirilmiş kütüphaneyle düzgün çalışan mekanizmayı düzenler. Sadece dosya uzantısının paylaşımlı kütüphaneye ait olması, iki koşulun da sağlandığını kanıtlamaz. Çalıştırma anında hangi kopyanın yüklendiği ve değiştirilmiş uyumlu sürümün kabul edilip edilmediği incelenir.

Uygulama yalnız üreticinin önceden onayladığı değiştirilemez kopyayı kabul ediyorsa, teknik kilidin bu seçeneğe etkisi değerlendirilmelidir. “Dinamik bağladık” açıklaması; sabit doğrulama, kapalı paket veya kurulum düzeninin kullanıcı değişikliğini engellediği olguyu bertaraf etmez. Kontrol, dağıtılan ürün üzerinde yapılır. Geliştirme ortamındaki esneklik ile müşteriye verilen sürümün davranışı aynı olmayabilir.

Kütüphane dosyasını uygulamayla birlikte ayrıca dağıtmak da kendi lisans yükümlülükleri açısından incelenir. Paylaşımlı mekanizma seçeneği, dağıtılan LGPL kütüphanenin kaynak ve bildirim koşullarını tümüyle kaldıran bir izin değildir. Hangi kodun şirket tarafından müşteriye verildiği saptanır. Kullanıcının önceden sisteminde bulunan kopya ile şirketin kurulum paketiyle teslim ettiği kopya aynı dağıtım olayı olarak kaydedilmemelidir.

Statik bağlama kesin olarak yasak mı?

LGPLv3, statik bağlamayı adı nedeniyle bütünüyle yasaklamaz. Kullanılan birleşik çalışma için 4. bölümdeki yükümlülükler karşılanmalıdır. Statik pakette yeniden bağlama için gerekli materyalin verilmesi yolu özellikle önem kazanır. Şirketin yalnız kapalı son ikili dosyayı teslim etmesi ile kullanıcıya gerekli nesne dosyalarını, kütüphane kaynaklarını ve yeniden bağlama imkânını sağlaması aynı hukuki durum değildir.

Ticari karar, dağıtım seçeneğinin maliyetleri görünür hâle getirilerek alınmalıdır. Bir ürün ekibi statik teslimi seçtiğinde gereken yeniden bağlama paketi de sürüm sürecine eklenir. Dinamik teslimi seçtiğinde ise uygun kütüphane değiştirme davranışı doğrulanır. Lisans uyumu, ürün tamamlandıktan sonra yalnız belge eklemekle çözülecek bir iş olarak bırakılmamalıdır; seçilen mimari ve dağıtım biçimi gerekli materyali baştan belirler.

Tersine mühendislik yasağı nasıl yazılmalıdır?

Bölüm 4, birleşik çalışmanın koşullarının kütüphane bölümlerinin değiştirilmesini ve bu değişikliklerde hata ayıklama için tersine mühendisliği fiilen kısıtlamamasını ister. Bu hüküm, ticari son kullanıcı sözleşmesindeki genel tersine mühendislik yasağıyla birlikte değerlendirilmelidir. Metnin bütün işlemleri istisnasız yasaklaması, özel LGPL izniyle uyuşmazlık yaratır. Gerekli işlem için kullanılan hakkın açıkça korunması gerekir.

Buradaki lisans koşulu ile FSEK m.38 kapsamında ara işlerlik için tersine mühendislik istisnası aynı hüküm değildir. FSEK m.38, kanunda sayılan amaç ve koşulları düzenler; LGPL Bölüm 4 ise dağıtım izninin şartı olarak belirli değiştirme ve hata ayıklama imkânını korur. İki dayanağın kapsamı ayrı gösterilmeli, biri diğerini sınırsız bir genel çözüm gibi sunmamalıdır.

Bu izin, programın ilgisiz tüm bölümlerini kopyalama veya şirketin bütün ticari sırlarına erişme hakkı şeklinde genişletilmez. İncelenen işlem, kütüphane değişikliği ve ilgili hata ayıklama amacıyla ilişkilendirilir. Teknik dosyada çalışmanın hedefi ve gereken bölümler gösterildiğinde sözleşme istisnası da daha doğru yazılır. Belirsiz, bütün ürün için tek cümlelik yasak veya serbestlik açıklaması gerekli ayrımı sağlamaz.

Bildirimler ve iki lisans metninin verilmesi

LGPLv3 Bölüm 4(a) ve 4(b), birleşik çalışmanın her kopyasında kütüphanenin kullanıldığına ve ilgili lisansa tabi olduğuna ilişkin belirgin bildirim ile hem GPL hem LGPL metninin eşlik etmesini düzenler. Yalnız “açık kaynak kullanılmıştır” cümlesi, hangi kütüphane ve hangi lisansın uygulandığını göstermez. Ürün içindeki lisans belgeleri gerçek kullanılan sürümle eşleştirilmelidir.

Uygulama çalışırken telif bildirimleri gösteriyorsa 4(c) uyarınca kütüphane bildirimi ve lisans metinlerine yönlendirme de bu bildirimler arasında yer almalıdır. Metin, bu özel durumu koşula bağlar; her yazılımda aynı açılış penceresini zorunlu tutan bağımsız bir tasarım kuralı oluşturmaz. Arayüz tasarlanırken mevcut bildirim akışı ve lisans şartı birlikte incelenmelidir. Çıktıya görünmeyen bir belge eklemek, her görünürlük yükümlülüğünü karşılamaz.

Şirketin paketleme süreci lisans dosyalarını yanlışlıkla dışarıda bırakıyorsa kaynak deposundaki doğru düzen son kullanıcıya ulaşmaz. Dağıtıma çıkan gerçek kurulum paketi açılarak kontrol edilir. Bu kontrol, kaynak dosyasındaki bildirim, ürün içi açıklama ve beraberinde verilen lisans metinlerinin tutarlılığını göstermelidir. Müşteriye sonradan e-postayla belge yollanması, önceki teslimin ne içerdiğinin kaydını değiştirmez; düzeltme ayrıca belgelenir.

Kurulum bilgisi ve değiştirilebilir ürün koşulu

LGPLv3 Bölüm 4(e), GPLv3 Bölüm 6 kapsamında ayrıca gerekli olduğu ölçüde kurulum bilgisinin verilmesini düzenler. Bu, her ticari uygulamada aynı bilgi paketinin zorunlu olduğu anlamına gelmez. İlgili ürünün GPL tanımındaki kullanıcı ürünü olup olmadığı, teslim biçimi ve değiştirilmiş birleşik sürümün kurulup çalıştırılması için gereken bilgi birlikte değerlendirilir. Bağlantı hükmünün şartları atlanmamalıdır.

Üreticinin değiştirilebilir sürümü kurma yeteneğini elinde tutması ile kimsenin değiştirilmiş kod kuramadığı ürün yapısı aynı değildir. GPLv3 metnindeki istisna ve açıklamalar, teknik yetenek üzerinden okunur. Ürünün “güvenli cihaz” diye adlandırılması tek başına lisans şartını kaldırmaz. Buna karşılık gereken bilgiyi verme yükümlülüğü de ilgisiz bütün sistem parolalarının veya müşterilerin erişim anahtarlarının açılacağı biçimde yorumlanmaz; gerekli kurulum kapsamı belirlenir.

Kurulum bilgisinin hangi materyalle birlikte verileceği seçilen 4(d) yoluna göre planlanır. Yeniden bağlama paketinin hazır olması fakat değiştirilen sürümün kurulmasının açıklanmaması, gerekli olduğu durumda işlemi yarım bırakır. Teknik ekip, kaynak üretiminden kuruluma kadar kullanıcının gerçekten izleyebildiği yolu belgelemelidir. Lisans incelemesi yalnız derlemenin başarıyla bitmesine değil, öngörülen kullanım imkânının tamamlanmasına bakar.

Kütüphanenin kendisi uygulamaya bağımlı değiştirilirse

LGPLv3 Bölüm 2, kütüphaneye yapılan değişikliklerin uygulamadan sağlanacak belirli işlev veya veriye gönderme yaptığı durumu ayrıca düzenler. Metindeki koşullar oluştuğunda, uygulama bu işlevi veya veriyi sağlamasa da kütüphanedeki ilgili imkânın anlamlı kalan amacını yerine getirmesi için iyi niyetli çaba gösterilmesi öngörülür. Diğer seçenek, ilgili kopyayı LGPL ek izinleri olmaksızın GPL altında dağıtmaktır. Bu iki yolun ürün üzerindeki etkisi farklıdır.

Bu nedenle teknik ekibin “kütüphaneyi yalnız uygulamamızla çalışacak hâle getirdik” açıklaması dağıtım dosyasında ayrıca incelenmelidir. Kütüphane değişikliğinin kapsamı, uygulamadan beklediği işlev ve alternatif çalışma davranışı belirtilir. Birleşik uygulamaya ilişkin 4. bölüm kontrolü, değiştirilmiş kütüphane için geçerli 2. bölüm koşulunu görünmez kılmaz. Şirket kendi katkısını hangi izinle dağıttığını ve önceki koda ilişkin hangi şartı uyguladığını aynı sürüm üzerinde açıklamalıdır. Sadece kütüphane adının aynı kalması, önceki lisans değerlendirmesinin değişmeden geçerli olduğunu kanıtlamaz.

Başlık dosyalarındaki on satır ifadesi ne anlama gelir?

LGPLv3 Bölüm 3, kütüphane başlık dosyasından uygulamanın nesne koduna giren belirli materyali ayrı düzenler. Sayısal parametreler, veri yapıları, erişiciler ve belirtilen küçük makro, satır içi fonksiyon veya şablonlar için dar bir ayrım bulunur. Bu düzen, tüm yazılımlar bakımından “on satıra kadar kod telifsizdir” şeklinde genel bir ölçü değildir. Koruma ve izin kapsamı ilgili lisans ve kanuna göre belirlenir.

Başlık dosyasındaki materyal bu sınırlı kategori dışında kalıyorsa 3. bölümde belirtilen bildirim ve lisans metni koşulları ayrıca uygulanır. Kaynak taraması yalnız çalıştırılabilir kütüphane dosyalarını aramakla yetinmemelidir; uygulamaya derleme sırasında alınan başlık içeriği de incelenir. Derleme çıktısında hangi materyalin yer aldığı teknik olarak gösterildiğinde, yükümlülükler doğru bölüme bağlanır. Dosyanın geliştirici araçları içinde bulunması onu otomatik olarak lisans incelemesi dışına çıkarmaz.

Dağıtım öncesi dosya ve uyuşmazlık delilleri

  • Sürüm ve izin: Kütüphanenin alınan sürümü, LGPL sürümü, varsa ek izinleri ve değişiklik geçmişi saklanır. Lisans değişmiş proje ana sayfası eski paket için tek dayanak yapılmaz.
  • Seçilen yol: 4(d)(0) veya 4(d)(1) seçeneğinin hangisine dayanıldığı açıklanır. Dosya listesi veya paylaşımlı yükleme mekanizması bu kararın teknik kanıtıyla eşleştirilir.
  • Yeniden oluşturma kaydı: Kullanıcının erişebildiği materyalle yapılan işlem, kullanılan araçlar, gerekli yardımcı dosyalar ve sonuç belgelenir. Şirket içi erişime bağımlı adımlar ayrıca saptanır.
  • Teslim koşulları: Kaynak bağlantısı, GPL ve LGPL metinleri, ürün bildirimleri, ticari lisans hükümleri ve gerekli kurulum bilgisi birlikte kontrol edilir.

Ticari uygulamaya verilen ruhsatın yazılı kapsamı için FSEK m.52 ve hakların ayrı gösterilmesi önem taşır. Kaynak sahibi, dağıtıcı ve müşteri aynı kişi değildir; her birinin hangi belgeye dayanarak neyi talep ettiği açıklanmalıdır. FSEK m.68–70 kapsamında ileri sürülen talepler de hak, ihlal ve ilgili istemin koşulları üzerinden kurulur. Her eksik dosya için otomatik ve aynı tutarda tazminat öngören bir genel sonuç yoktur.

LGPLv3 ticari uygulama dağıtımı hakkında sık sorulan sorular

LGPLv3 kütüphane kapalı kaynak uygulamada kullanılabilir mi?

Lisansın birleşik çalışma koşulları sağlanarak kullanılabilir. Uygulamanın bütün kaynaklarının her durumda açılması gerekmez. Kütüphaneyi değiştirme ve ilgili birleşimi yeniden oluşturma imkânı, seçilen dağıtım yoluyla gerçekten korunmalıdır.

Statik bağlama LGPLv3 bakımından kesin yasak mı?

Hayır. Statik bağlamada da 4. bölümün koşulları uygulanır. Yeniden bağlamaya uygun uygulama kodu, gerekli kaynaklar ve ilgili izinler sağlanmalıdır. Yalnız son çalıştırılabilir dosyayı teslim etmek bu koşulların karşılandığını tek başına göstermez.

Uygulamamın kaynak kodu yerine nesne kodu verebilir miyim?

Bölüm 0 ve 4(d)(0), karşılık gelen uygulama kodunun nesne veya kaynak biçimini kapsar. Verilen biçim, kullanıcıya değiştirilmiş kütüphaneyle yeniden bağlama imkânı sağlamalı ve gerekli veri ile yardımcı programları içermelidir.

Dinamik bağlama her durumda yeterli mi?

Hayır. 4(d)(1) için mekanizma çalışma sırasında kullanıcının sistemindeki kütüphaneyi kullanmalı ve arayüz bakımından uyumlu değiştirilmiş sürümle düzgün çalışmalıdır. Yalnız dosya türü veya bağlama etiketi yeterlilik kanıtı değildir.

Uygulamayla kütüphane kopyasını verirsem kaynak şartı kalkar mı?

Paylaşımlı kütüphane seçeneği, dağıtılan kütüphanenin kaynak ve bildirim yükümlülüklerini tümüyle kaldırmaz. Şirketin hangi kodu müşteriye teslim ettiği belirlenir ve o kopyanın lisans koşulları ayrıca uygulanır.

EULA bütün tersine mühendisliği yasaklayabilir mi?

LGPLv3 Bölüm 4, kütüphane bölümlerinin değiştirilmesini ve bu değişikliklerde hata ayıklama için tersine mühendisliği fiilen kısıtlamayan koşullar ister. Genel yasak bu özel izinle uyumlu kurulmalıdır. FSEK m.38 dayanağı ayrıca değerlendirilir.

Yalnız LGPL metnini eklemek yeterli mi?

Bölüm 4(b), birleşik çalışmaya hem GPL hem LGPL metninin eşlik etmesini ister. Kütüphane kullanımına ilişkin belirgin bildirim ve diğer koşullar da uygulanır. Genel bir açık kaynak açıklaması bu belgelerin yerine geçmez.

Her uygulamada açılışta telif penceresi göstermek zorunlu mu?

Bölüm 4(c), çalışma sırasında telif bildirimi gösteren birleşik uygulamayı esas alır. Böyle bir akışta kütüphane bildirimi ve ilgili lisanslara yönlendirme de bulunmalıdır. Hüküm her ürün için aynı açılış penceresini bağımsız olarak zorunlu tutmaz.

LGPL metnindeki on satır genel telif istisnası mı?

Hayır. Bölüm 3 belirli başlık dosyası materyalinin nesne koduna alınmasına ilişkin dar bir düzenlemedir. Bütün yazılımlarda on satıra kadar kodun telifsiz veya koşulsuz kullanılabilir olduğu anlamına gelmez.

Kurulum bilgisi her yazılımda aynı kapsamda mı verilir?

Bölüm 4(e), GPLv3 Bölüm 6 kapsamında gerekli olduğu durum ve ölçüde kurulum bilgisini düzenler. Ürün niteliği, teslim biçimi ve değiştirilmiş birleşimin kurulması için gereken bilgi somut olarak belirlenmelidir.

Birincil lisans ve mevzuat kaynakları

İstanbul ve Mersin ofisleri

İstanbul · Polaris Plaza

Maslak Ahi Evran Caddesi, Polaris Plaza No:21, Kat:9, 34475 Sarıyer/İstanbul

İstanbul ofisi ve randevu

Mersin · Profit İş Merkezi

İhsaniye Mahallesi, 4903. Sokak, Profit İş Merkezi No:23, Kat:3, Daire:14, 33070 Akdeniz/Mersin

Mersin ofisi ve randevu

Hukuki 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.

Telefonla Araİletişim Bilgileri

tarafından hazırlanmış, Av. Emirhan Keskin tarafından incelenmiştir.

Yazar Bilgisi

, Mersin Barosu 3472 sicil numarasına kayıtlıdır. Bakırcı & Keskin Hukuk Bürosu bünyesinde ceza, aile, iş, gayrimenkul ve ticaret hukuku alanlarında hukuki danışmanlık ve dava takibi sunmaktadır.

İnceleyen: Av. Emirhan Keskin · Mersin Barosu Sicil No: 5507

Telefon WhatsApp