4 puan yazan GN⁺ 2025-05-08 | 4 yorum | WhatsApp'ta paylaş
  • VLC for Unity, Unity oyun motoru ile VLC multimedya motorunu bağlayan açık kaynaklı bir entegrasyon ve Aralık 2019’dan beri Unity Store’da platforma özel ikili dosyalar dağıtıyordu
  • 2023 yazının sonlarında Unity’den gelen e-postanın ardından yayıncı hesabı hemen engellendi; aylar süren görüşmelere ve LGPL kodunu dışarıda bırakma önerisine rağmen Store’a dönüşe izin verilmedi
  • Unity Store’da FFmpeg gibi LGPL bağımlılıkları içeren çok sayıda asset hâlâ bulunuyor; Unity Editor ve çalışma zamanı da Lame, libiconv, libwebsockets, websockify.js gibi LGPL kütüphaneleri kullanıyor
  • Asset kaldırıldıktan sonra müşteriler bakım ve derleme güncellemelerini sormaya başlayınca Videolabs, Unity Store olmadan da ikili dosya satmak için kendi sitesinde Videolabs Store’u açtı
  • Videolabs Store, VLC Unity eklentisi ikili dosyalarının yanında LibVLC·FFmpeg için ticari destek yapısını, LibVLCSharp lisansını, LibVLC ebook’unu, Kyber’i ve planlanan Unreal entegrasyon ürünlerini de kapsıyor

Unity Store’dan engellenen VLC for Unity

  • VLC for Unity, Unity tabanlı oyunlarda VLC motorunu kullanan bir medya oynatıcı oluşturmayı mümkün kılan bir köprü entegrasyonu
  • Unity, Mono aracılığıyla; LibVLC ise kendi başına yüksek taşınabilirliğe sahip olduğundan bu entegrasyon çapraz platform kullanımı hedefliyor
  • Unity Store’da Aralık 2019’dan beri VLC for Unity’nin açık kaynak entegrasyon ikili dosyaları dağıtılıyordu ve hedeflenen platform sayısı 3’tü
    • Windows
    • UWP
    • Android
  • 2023 yazının sonlarında Unity bir e-posta gönderdikten sonra yayıncı hesabı hemen engellendi
  • Sonraki aylarda e-posta yoluyla bir uzlaşma aranmış, hatta asset’ten LGPL kodunu çıkarma önerilmiş olsa da Unity Store’a geri dönüşe izin vermedi
    • Unity paketi içindeki tüm LGPL kodları kaldırılsa bile geri dönülemeyeceği yanıtı verildi
  • Unity Store’da FFmpeg gibi LGPL bağımlılıkları içeren yüzlerce ila binlerce asset bugün de mevcut
  • Unity’nin kendisi de Editor ve çalışma zamanında LGPL bağımlılıkları kullanıyor ve bu durum Unity ile dağıtılan oyunları da etkiliyor
    • Örnek kütüphaneler olarak Lame, libiconv, libwebsockets, websockify.js listeleniyor
    • Unity’nin tüm açık kaynak bağımlılık listesi ayrı bir listede görülebilir
  • Temel çatışma, Unity’nin LGPL açık kaynak kütüphaneler kullanırken Unity Store yayıncıları ve kullanıcılarının LGPL tabanlı dağıtımına izin vermemesinde yatıyor; bu da çifte standart oluşturuyor

Videolabs Store ve ticari destek

  • VLC for Unity asset’i kaldırıldıktan sonra mevcut ve yeni müşteriler bakımın sürüp sürmeyeceğini ve derleme güncellemelerinin nasıl alınacağını sormaya başladı
  • Birçok şirket LibVLC SDK ve FFmpeg gibi ilgili teknolojileri kullandığı için Videolabs kendi Videolabs Store’unu açmaya karar verdi
  • Mevcut ve yeni müşteriler, Unity Store olmadan da açık kaynak VLC Unity eklentisinin ikili dosyalarını satın alabiliyor
  • VLC for Unity açık kaynak olduğu için kullanıcıların bunu kendilerinin derlemesi de mümkün
  • Videolabs Store, LibVLC ve FFmpeg için ürün ve hizmet sunum yapısını netleştiren bir kanal işlevi görüyor
  • Bazı kullanıcılar sorun çözümü veya yeni özellikler talep ediyor ancak topluluğun ve az sayıdaki gönüllünün sınırlı zamanı nedeniyle buna yanıt vermenin sınırları var
  • Videolabs ekibi, VLC ve FFmpeg uzmanlarından oluşuyor ve çeşitli protokoller, formatlar ve platformlarla ilgileniyor
  • Sunulan multimedya danışmanlık paketleri 3 saat, 10 saat ve 24 saatlik; tek seferlik hizmet ya da aylık abonelik olarak satın alınabiliyor
    • Destek kapsamına özel derlemeler, hata düzeltmeleri, SDK entegrasyonu ve belirli gereksinimlere yönelik soru-cevap dâhil
    • İşletim sistemi platformu veya toolkit fark etmeksizin destek verilebiliyor
  • Store’da LibVLCSharp ticari lisansı ve LibVLC ebook da yer alıyor
  • Planlanan ürünler arasında ultra düşük gecikmeli oyun ve masaüstü akışı ile uzaktan kontrol SDK’sı Kyber ve Unreal gibi ek oyun motoru entegrasyonları bulunuyor

4 yorum

 
sonohoshi 2025-05-10

Motoru bile düzgün yapamayan bir şirket, saçma sapan ne varsa hepsini yapıyor demek ki lol

 
mhcoma 2025-05-09

Belirsiz ve uç bir düşünce olabilir ama teknoloji sektöründe anlaşılmaz bir sorun çıktığında suçun çoğu zaman takım elbiselilerde olduğunu düşünmeden edemiyorum.

 
y15un 2025-05-08

Unity yine...

Lisanslama meselesi yüzünden şirket batmanın eşiğine kadar gelmişti; yine de insanları sinirlendirmeyi başarıyorlar haha

 
GN⁺ 2025-05-08
Hacker News yorumları
  • Hukuk ekibinin yanlış bilgilendirilip bunu sözleşmeye koyduğu açık görünüyor
    Yazıda da söylendiği gibi Unity asset’lerinin önemli bir kısmı LGPL bağımlılıkları kullanıyor; Unity’nin kendisi de LGPL asset’leri kullanıyor ve Unity ile yapılmış yayımlanmış oyunlarda da LGPL asset’leri var
    Niyet büyük olasılıkla yalnızca GPL bağımlılıklarını filtrelemekti
    GPL ile LGPL arasında büyük fark var; LGPL, belirli koşullara uyulduğunda kapalı kaynak bir uygulamanın açık kaynak bir kütüphaneye link vermesi durumunda uygulamanın kaynak kodunun açılmasını gerektirmeyecek şekilde tasarlanmış bir lisans
    Buna karşılık GPL, GPL kodu içeren türev çalışmanın tamamının GPL olarak dağıtılmasını ve kaynak kodunun da yayımlanmasını gerektiren daha katı şartlara sahip

    • Unity uygulamalarının nasıl dağıtıldığını pek bilmiyorum ama yalnızca LGPL koşullarını karşılayacak şekilde dağıtılmak üzere tasarlandığını varsayarsak bu biraz şaşırtıcı olurdu
      Örneğin imzalamanın zorunlu olduğu platformların mağazaları üzerinden dağıtılan uygulamaların, kullanıcı LGPL bileşenlerini değiştiremediği için LGPL bileşenleri içeremeyeceğini düşünmüştüm
      Hukuki ayrıntıları bir kenara bıraksak bile LGPL, GPL’den daha esnek olsa da hâlâ oldukça kısıtlayıcı; bu yüzden kapalı kaynak yazılımların işi basit tutması ya da ilgili alanda uzman bir avukata danışıp uyumluluğu dikkatle doğrulaması gerekir
      Bu açıdan Unity’nin LGPL yazılımlarını yasaklaması anlaşılır. Bu, bunu düzgün yapamayacakları anlamına gelmiyor; Unity’nin ya da sağlayıcının mağazaya yüklenen her asset’i her seferinde hukuken incelemesinin gerçekçi olmamasından kaynaklanıyor
    • Yazılım lisansları konusu her seferinde tartışmalar ve çelişkili yorumlar seline dönüşüyor
      2025’te bile HN’de dahi kimsenin LGPL’in somut olarak ne anlama geldiğini veya uygulama gereksinimlerini kesin bilmemesi tuhaf
      Durum bu kadar karmaşık, kafa karıştırıcı ve yoruma açıkken, insanların gerçekten anlayabileceği daha iyi yeni bir lisans sistemi oluşturmak için kesinlikle alan var
      MIT gibi lisanslar herkes tarafından nispeten net anlaşılıyor; ancak çeşitli GPL türevlerinin ve daha karmaşık özel lisansların ideal olarak daha iyi bir şeyle değiştirilmesi gerekir
    • Unity’nin kendisinin ya da Unity tabanlı oyunların LGPL bileşenleri kullanıp kullanmaması işin özü değil
      Burada önemli olan Unity Asset Store’da neye izin verildiği
      Unity’nin, Unity oyunlarına linklenebilecek her şeyi mağazasında kabul etme zorunluluğu yok; o dönemdeki sağlayıcı sözleşmesi de basitçe LGPL asset’lerinin mağazada satılamayacağını söylüyor gibi görünüyor
      Mağazanın ek gereksinimler koyması şaşırtıcı ya da haksız değil; üçüncü taraf içerik dağıtıcısı olarak riski azaltmak için de sebepleri var
      Ayrıca Unity Asset Store’daki asset’lerin mutlaka yalnızca Unity’de kullanılması gerekmiyor; bazı asset’ler lisanslarına bağlı olarak başka motorlarda da kullanılabiliyor: https://support.unity.com/hc/en-us/articles/34387186019988-C...
      Ancak LGPL bileşenleri içeren başka asset’leri dağıtmaya devam ederken LGPL kurallarını tutarlı şekilde uygulamamak daha büyük bir sorun
    • LGPL o kadar basit değil
      LGPL temelde kullanıcının açık kaynak kütüphaneyi değiştirebilmesini, yeniden derleyebilmesini ve bu yeni kütüphaneyi mevcut uygulamaya yeniden entegre edebilmesini şart koşar
      LGPL kütüphanesi kullanan geliştiricinin bunu “mümkün kılması” gerekir; fakat bunun pratikte ne anlama geldiği yoruma açıktır
      Avukatların ve şirketlerin LGPL’den uzak durmasının nedeni de GPL’den daha fazla yorum alanı içermesidir
    • Bu koşul, kütüphanenin dinamik olarak linklenmesi gerektiği anlamına gelir
      Burada bu varsayımın geçerli olup olmadığından pek emin değilim
  • Unity’nin avukatları şirketi mahvetmeye devam ediyor ve bu pek şaşırtıcı değil
    Eskiden orada çalışmıştım; teknik başarılarıyla gurur duyuyordum ama bunun dışındaki neredeyse her şeyden utanıyordum

  • Düzeltme: Aslında bağlantılıymış; VLC çekirdek geliştiricilerinin çoğu VideoLabs’te çalışıyormuş
    Orijinal yorumu bırakıyorum
    Bu blog yazısı https://videolabs.io adresindeki “VideoLab Store”a bağlantı veriyor; VLC’nin (VideoLAN’in kısaltmasıdır, VideoLab’in değil) logosuna çok benzeyen ama aynı olmayan bir logoyu büyükçe kullanıyor
    Ana sayfada hatta “Hire the VLC team” ifadesi bile yer alıyor
    Bildiğim kadarıyla VideoLab’in VideoLAN kâr amacı gütmeyen kuruluşuyla ilgisi yoktu ve insanları VLC geliştiricileriymiş gibi yanıltmaya çalışıyor gibi görünüyordu

    • VideoLAN başkanıyım
      Şu anda VideoLabs, VLC çekirdek geliştiricilerinin çoğunu istihdam ediyor ve bu kişiler VLC geliştirmenin ana itici gücü
      Bu şekilde yapılandırılmasının nedeni, Videolabs şirketi sonsuza kadar var olmasa bile VLC’nin sonsuza kadar özgür yazılım olarak kalmasını ve kâr amacı gütmeyen kuruluşun da yaşamaya devam etmesini sağlamak
      Açık kaynak projelerinde oldukça tipik bir yapı; VideoLAN örneğinde danışmanlık yapan 3-4 şirket var
    • VideoLabs, VLC/VideoLAN’in kurucularından biri ve VideoLAN kâr amacı gütmeyen kuruluşunun başkanı tarafından kurulmuş bir şirket
      Özünde, VLC’nin başlıca katkı verenlerinin çoğunu istihdam edip maaş ödeyerek bu ekosistemde çalışmalarını sağlayan; bunu da danışmanlık ve diğer hizmetlerle finanse eden kâr amaçlı bir tüzel kişilik
      VLC kod tabanına da epey katkıda bulunuyor
      Bir ortaklık kapsamında birlikte çalışmış biri olarak şunu da ekleyeyim: “kâr amaçlı” ifadesi çoğunlukla yalnızca hukuki biçimi anlatıyordu, düşünce tarzlarını değil
    • Yazar, blogunda VideoLAN projesinin Git deposuna belirgin biçimde bağlantı vermiş ve orada projeye de katkıda bulunuyor: https://code.videolan.org/videolan/LibVLCSharp
      Üstelik Videolabs https://www.videolan.org/videolan/partners.html sayfasında da listelenmiş
      Proje tarafı bu şirketi iyi tanıyor gibi görünüyor
    • Tanıtım sayfasına göre Videolabs, VideoLAN topluluğundan doğmuş ve mobil VLC portlarının bakımını üstlenerek başlamış
      Bugün VLC’nin başlıca katkı verenlerinden biri olarak, tarihsel geliştiricileri istihdam ediyor ve VLC ile FFmpeg ekosistemleri etrafında özel çözümler geliştiriyor
    • CTO, VideoLAN kâr amacı gütmeyen kuruluşunun başkanı olduğu için ifade doğru görünüyor
      Tanıtım sayfasına göre bunlar VLC’nin ana bakımcılarıymış
  • Yanılıyorsam düzeltilmesini isterim
    Anladığım kadarıyla LGPL v2 kodu kullanmak konsol çıkışlarında da sorun değil. v2’de Tivoization karşıtı madde yok; yani son kullanıcı kilitli bir platform yüzünden programı yeniden linkleyemese bile bunun sorun olmadığı anlamına geliyor.
    Ancak websockify.js ve muhtemelen başka bağımlılıklar LGPL v3 ve bu da, son kullanıcının ilgili bileşeni değiştiremediği Nintendo Switch gibi platformlara dahil edilemeyecekleri anlamına geliyor gibi görünüyor.
    Unity’nin bu tür bileşenleri kilitli platformlardan hariç tutup tutmadığını, yoksa sadece LGPL v3’ü ihlal mi ettiğini merak ediyorum.

    • Düzeltmeye çalışayım. Neyse ki yanlış kısmın muhtemelen %99’u, *GPLv3 konusunda insanların yanıldığı nokta olan Tivoization karşıtı maddenin kapsamı.
      Bu madde, Tivo’nun yaptığı şeyi engellemek için oldukça dar yazıldı. Yani kilitli işletim sistemi içeren bir cihaz satarken içinde *GPLv3 yazılımı bulundurma durumunu hedefliyor.
      Uygulanabilmesi için yazılımın bir “kullanıcı ürünü” içinde aktarılması ve bu aktarımın, ürünün sahiplik ve kullanım haklarının alıcıya devredildiği bir işlemin parçası olması gerekiyor.
      “Kullanıcı ürünü” genellikle kişisel, ailevi veya ev içi kullanım için kullanılan maddi kişisel mülkiyeti ya da bir konut alanına dahil edilmek üzere tasarlanıp satılan şeyleri ifade eder.
      Nintendo Switch örneğinde bu, Nintendo’nun Switch’in kendisine ya da satın alındığında beraber gelen şeylere *GPLv3 yazılımı koyamayacağı anlamına gelir.
      Sonradan indirilip kurulan ek yazılımlar, Nintendo çevrim içi mağazasından ya da fiziksel medya olarak satılan yazılımlar Tivoization karşıtı maddenin kapsamına girmez.
      Dolayısıyla yalnızca bu madde açısından bakarsak Unity’nin kilitli platformlar için *GPLv3 kodu içermesinde ya da geliştiricilerin Unity ile o platformlar için oyun yapmasında bir sorun yok.
      Sorun olabilecek şey *GPLv3’ün diğer kısımlarıdır. Apple veya Nintendo gibi uygulama mağazaları üzerinden yazılım dağıtılıp satın alındığında, indirilen kopyaları oluşturan ve dağıtan taraf Apple ya da Nintendo’dur.
      Telif hakkı sahibinden izin alınmışsa sorun yoktur; ancak bu tür mağazaları kullanmak için genellikle yeniden dağıtımı veya tersine mühendisliği yasaklayan şartları kabul etmek gerekir ve bu *GPLv3 ihlalidir.
      Telif hakkı sahibi kullanılan tüm kodların telif haklarına sahipse Apple’a veya Nintendo’ya dağıtım izni verebilir.
      Ancak uygulama ya da oyun üçüncü taraf bir *GPL kütüphanesi içeriyorsa ve o üçüncü taraf mağaza işletmecisine böyle bir lisans vermediyse, o uygulama ya da oyun ilgili mağazada dağıtılamaz.
    • Doğru. Şu anda bulabildiğim ilgili yazılar içinde en iyisi bu gibi görünüyor: https://opensource.stackexchange.com/questions/7387/what-is-...
      Ölü linkteki içeriğin kopyası.
      Apple’ın da Unity ile aynı sorunu var. macOS’ta % bash --version çalıştırırsanız GNU bash 3.2.57 görürsünüz; GPL v2’nin son sürümü olan 3.2’den sonrasına geçemedikleri için eski bir sürümü kendileri sürdürüyorlar.
      ABD ölçütleriyle sigara içecek, oy verecek ve savaşa katılacak kadar eski bir sürüm; Apple da kullanıcıları zsh’ye taşımaya çalışıyor.
      LGPL 2.1’e baktım; lisanstaki “or later” kısmı tuhaf. Kullanıcı kendi takdirine göre GPL 2.1 veya üzerindeki herhangi bir sürüme geçebilir.
      Ancak kütüphane yazarının COPYING dosyasında LGPL’i, tam olarak LGPL 2.1’i ya da önerilen “LGPL 2.1 or later” ifadesini belirtmesi gerekiyor.
      Unity’nin LGPL kodunu “deprecated” olarak nitelemesi, kod LGPL sürümünü sabitlemediği sürece anlaşılır. Çünkü yukarı akış LGPL sağlayıcısı, bash gibi her an lisans rug pull’u yapabilir.
      Ancak VLC kütüphanesi burada “LGPL 2.1 only” olarak işaretlenmiş; yani GPL3’e sıçramadıkça rug pull yapamayacağını açıkça iddia etmiş oluyor: https://code.videolan.org/explore/projects/starred
      Yine de VLC lisansı düzgün biçimde dahil etmemiş; COPYING ve COPYING.lib LGPL sürümünün sabitlenip sabitlenmediğini söylemiyor, README.md’de ise libVLC, the engine is released under the LGPLv2 (or later) license. yazıyor: https://code.videolan.org/videolan/vlc
      Bu yüzden Unity’nin endişesi bir ölçüde haklı görünüyor. “or later” v3’ü de içeriyor ve v3, hile önleme teknolojileri ya da konsollar gibi şeylerle özellikle uyumsuz.
      Yine de benim tahminim, Unity’nin VLC’nin uyguladığı algoritmalar üzerinde patenti olan üçüncü bir tarafı kızdırmaktan endişe ettiği ve bu gizli anlaşmanın ayrıntılarını saklamak için LGPL’i bahane olarak kullandığı yönünde.
  • Godot daha iyi
    Unity bugünlerde kötü bir iş tercihi.
    Ticari bir motor seçecek olsam, en azından avukatlarını açık kaynak geliştiricileri rahatsız etmek yerine Apple’la savaşmak için kullanan Epic Games’i seçerdim.

  • İlginçtir, sağlayıcı sözleşmesinde 5.10.4 yok gibi görünüyor: https://unity.com/legal/provider
    Bir zamanlar bu madde yer alıyordu:
    5.10.4 Provider represents and warrants that its Assets shall not contain (a) any software licensed under the GNU General Public License or GNU Library or Lesser General Public License, or any other license with terms that include a requirement to extend such license to any modification or combined work and provide for the distribution of the combined or modified product’s source code upon demand so that Customer content becomes subject to the terms of such license; or (b) any software that is a modification or derivative of any software licensed under the GNU General Public License or Library or Lesser Public License, or any other license with terms similar thereto so that Customer content become subject to the terms of such license.
    Ancak Wayback Machine’e göre 3 Aralık ile 12 Aralık arasında kaldırılmış

  • Projemde Unity’yi gerçekten kullanmak istiyorum
    Editörü ve API’si gerçekten hoşuma gidiyor; teknolojiye pek aşina olmayan insanlar için editör içinde çeşitli araçları oldukça kolayca hazırlayabiliyorsunuz
    Ama Unity, kullanıcıya düşmanca davranışlarıyla, “gelecek yıl gerçekten stabilize edeceğimize söz veriyoruz” tarzı 20 beta paketiyle ve boş projelerde bile ciddi biçimde kötüleşen performansıyla her adımda kullanımı zorlaştırıyor
    Şu anda çoğunlukla Godot kullanıyorum ve fena değil, ama Unity ile tam olarak kıyaslanamaz

  • Unity’nin artık deprecated ilan ettiği bir paketi yükledi diye hesabı kalıcı olarak engellediğini mi söylüyorsunuz? Bunlar ne içiyor?

    • Unity’nin açıklamadığı başka bir nedenle VLC’den hoşlanmadığı hissi veriyor
      Kendi medya oynatıcısıyla mı rekabet ediyor? Yoksa VLC’yi yapan kişi bir Unity yöneticisinin eski sevgilisiyle mi çıkıyor?
    • Unity “deprecated” kelimesini “removed” ya da “deleted” anlamında kullanıyor gibi görünüyor
      Gerçekten aptalca bir trend ve hep birlikte buna karşı durmamız gerekiyor, ama henüz o noktada değiliz
      Unity’nin notunu yorumlayınca, VLC kütüphanesini Unity Store’dan sildikleri ve Unity ile olan sözleşme şartlarını ihlal ettiği gerekçesiyle VLC grubunun Unity Store hesabını kalıcı olarak engelledikleri anlamı çıkıyor
      Kurumsal jargonun anlaşılması zor olabilir. Belki de kurumsal jargonun asıl amacı budur
  • Unity yine düşmanca tavrını gösteriyor
    Böyle bir nedenle bir geliştiriciyi kalıcı olarak engellemek delilik

    • “Yine”den ziyade, “kurulum başına ücret”ten önce de Unity’ye yakışır şekilde ısrarla hatasını savunduğu dönemdi
      Bu olay Ağustos 2023’te, kurulum başına ücret krizinden önce yaşandı
  • Şaşırtıcı değil. Unity gerçekten berbat bir şirket