1 puan yazan GN⁺ 3 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Bambu Studio, AGPLv3 tabanlı PrusaSlicer’ın değiştirilmiş bir sürümü olmasına rağmen, özel ağ kütüphanesinin tam kaynak kodunu ve kurulum bilgilerini sağlamadı
  • AGPLv3’teki Corresponding Source, üretim, kurulum, çalıştırma ve değiştirme için gerekli kodu ve bunlarla sıkı şekilde bağlanan dinamik bağlantılı kütüphanelerin kaynak kodunu kapsar
  • Bambu’nun, Paweł Jarczak’tan Orca Slicer’ı Bambu sunucu bileşenleriyle çalışacak şekilde değiştirdiği fork’u silmesini istemesi, ek kısıtlama yasağı maddesiyle çelişiyor
  • SFC, baltobu projesiyle ağ kütüphanesinin tersine mühendisliğini, Bambu için Orca Slicer bakımını ve Bambu Studio’nun yerine geçecek viscose fork’unu ilerletiyor
  • SFC, 3D yazıcılar için yazılım onarım hakkı faaliyetleri adına iki ay boyunca US$250,007 bağış toplamaya başladı ve Haziran 2026’da kalıcı komite ayrıntılarını açıklamayı planlıyor

Tespit edilen AGPLv3 ihlalleri

  • libbambu_networking kaynak kodunun sağlanmaması

    • Bambu Lab’in 3D yazıcı yazılımı ve ürün yazılımına ilişkin AGPLv3 uyumluluk incelemesinde iki ihlal tespit edildi
    • Bambu Studio, STL gibi dijital tasarım modellerini yazıcının basabileceği yatay 2D katmanlara bölen bir slicer’dır
    • Bambu, dört yıldır Bambu Studio’nun rakibinin AGPLv3 lisanslı slicer’ı PrusaSlicer’ın değiştirilmiş bir sürümü olduğunu açıklıyordu
    • PrusaSlicer ise Alessandro Ranellucci’nin ilk oluşturduğu Slic3r’ın değiştirilmiş bir sürümüdür
    • Bambu Studio’nun kaynak kodunun bir kısmı Bambu’nun GitHub kuruluş hesabında yer alıyor, ancak Bambu, Bambu Studio’yu özel kütüphanelerle birleştirip kullanıcıya arayüzdeki etkileşimli istemler aracılığıyla dağıttığını belirtmişti
    • AGPLv3, kapsanan bir eserin nesne kodu biçiminde iletilmesi durumunda, makine tarafından okunabilir Corresponding Source’un da aynı lisans koşullarıyla birlikte sağlanmasını zorunlu kılar
    • Corresponding Source, nesne kodunu üretmek, kurmak, çalıştırmak ve değiştirmek için gereken kaynak kodu ve betikleri içerir
    • Eserin sıkı veri iletişimi veya kontrol akışıyla ihtiyaç duyacak şekilde tasarlanmış paylaşımlı kütüphanelerin ve dinamik bağlantılı alt programların kaynak kodu da Corresponding Source kapsamına girer
    • Bambu’nun libbambu_networking.so, bambu_networking.dll, libbambu_networking.dylib için eksiksiz Corresponding Source Code ve Installation Information sağlamaması, ciddi ve süregelen bir AGPLv3 ihlali olarak değerlendiriliyor
  • Paweł Jarczak fork’unun silinmesinin talep edilmesi

    • Bambu’nun ağ kütüphanesini özel tutmasından ayrı olarak, geliştirici ve Bambu Lab kullanıcısı Paweł Jarczak’a karşı attığı adımlar da AGPLv3 ihlali olarak gösteriliyor
    • Paweł Jarczak, dinamik olarak bağlanan kütüphaneyi değiştirmeden veya yerine koymadan, Bambu Studio’nun sunucu tarafı bileşenleriyle entegre olan farklı bir yöntemi yayımladı
    • Bambu Studio’nun eksik kaynak kodunu inceledikten sonra, başka bir AGPLv3 slicer’ı olan Orca Slicer’ı değiştirdi
    • Değiştirilen Orca Slicer, kullanıcıların Bambu Studio’nun yerine geçmesini sağlarken, Bambu Lab sunucularında çalışan ancak şu anda kaynak kodu yayımlanmamış bölümlerle sıkı veri iletişimi kurabilmesini mümkün kıldı
    • Bambu, Paweł’dan bu değişiklikleri içeren OrcaSlicer fork’unu GitHub’dan silmesini istedi
    • Bambu, kendi hizmet şartlarının AGPLv3’ten üstün olduğunu iddia etti, ancak AGPLv3§10¶3 lisansla verilmiş veya teyit edilmiş hakların kullanımına ek kısıtlamalar getirilemeyeceğini açıkça belirtir
    • Paweł, itirazını belirterek Orca Slicer fork’unu sildi

SFC’nin yanıt planı

  • baltobu projesi

    • SFC, Bambu ile ilgili AGPLv3 ihlallerine yanıt vermek ve 3D yazıcılar için yazılım onarım hakkını iyileştirmek amacıyla birden çok depo işleten baltobu projesini başlattı
    • Paweł Jarczak’a yönelik Bambu hamlesiyle birlikte, kısa vadede tüketicilere ve kullanıcılara yardımcı olmayı, uzun vadede ise 3D yazıcı tüketicilerinin yazılım onarım hakkını iyileştirmeyi hedefleyen çok yönlü bir çalışma başladı
    • Bambu’nun uzun süredir ciddi bir AGPLv3 ihlalcisi olarak biliniyor olması nedeniyle, hukuki adımdan daha hızlı sonuç verebilecek tersine mühendislik çalışmalarına öncelik verildi
  • reverse-networking

  • orca-slicer-for-bambu

    • baltobu’nun orca-slicer-for-bambu deposu, Paweł’un çalışmasını temel alarak onun ilk yayımladığı Orca Slicer fork’unu koruyup geliştirecek standart depo olmayı hedefliyor
    • SFC, Bambu 3D yazıcılarla çalışan OrcaStudio fork’unu sürdürecek gönüllüler arıyor
    • SFC adına çalışan gönüllü katkıcılar belirli düzeyde kişisel sorumluluk koruması alabilir ve Bambu gönüllülere hukuki tehdit yöneltirse SFC mümkün olduğunca devreye girmeye çalışacak
  • viscose

    • baltobu’nun viscose deposu, Bambu Studio’nun aktif bir fork’unu sürdürmeyi amaçlayan bir projedir
    • Önceki iki çalışmadan çıkan bulgular temelinde, Bambu 3D yazıcı sahipleri için daha iyi çalışan bir Bambu Studio alternatifi oluşturma yönünde ilerliyor
  • Ek ihlallerin izlenmesi

    • SFC, Bambu Lab’in olası ek ihlallerini izlemeyi sürdürecek
    • Normalde ihlalleri proaktif biçimde aramaz, ancak bu vakada Bambu Lab’i yakından takip ederek copyleft lisans ihlali olasılıklarını düzenli biçimde araştırıyor
  • 3D yazıcı topluluğu kalıcı komitesi

    • SFC, 3D yazıcı topluluğunun yazılım özgürlüğü ve haklarını tartışacak kalıcı bir komite başlatmayı planlıyor
    • Komitenin ayrıntıları Haziran 2026’da açıklanacak
    • Komite, 3D yazıcı üreticileri, kullanıcılar, tüketiciler, copyleft lisans uzmanları ve yazılım özgürlüğü aktivistlerinin aylık toplantılar yaptığı bir yapı olarak planlanıyor
    • Amaç, 3D yazıcılar ve ilgili yazılımlardaki yazılım onarım hakkı sorunları ile endişeleri paylaşmak ve bunları çözmek için eylem planları oluşturmak

Katılım ve destek

  • Gönüllü katılımı

    • SFC, bu çalışmaya hemen katılabilecek gönüllüler arıyor
    • Paweł Jarczak ilk gönüllü olarak katıldı ve Bambu’nun çeşitli AGPLv3 ihlallerinin incelenmesinde onun çalışması önemli rol oynadı
    • baltobu projesinin teknik çalışmalarına yardımcı olmak isterseniz, SFC’nin Forgejo örneğinde nasıl hesap isteyebileceğinizi inceleyebilirsiniz
    • Diğer girişimlerle ilgileniyorsanız 3dprint@sfconservancy.org adresine e-posta gönderebilirsiniz
  • Onarım hakkı faaliyetleri için bağış kampanyası

    • SFC, iki ay boyunca US$250,007 toplamayı hedefliyor
    • Yeni başlayan Sustainer katkıları ve SFC genel bağışları yazılım onarım hakkı faaliyetlerine ayrılacak
    • Hedefe ulaşılırsa, uzun vadeli çalışmaları yürütecek ek personeli işe almak için hemen alım süreci başlayacak
    • Bu personel, gönüllü katkıcıların koordinasyonunu, 3D yazıcı yazılımında onarım hakkını iyileştirme stratejisinin planlanmasını ve Bambu Lab’i AGPLv3 uyumuna getirmek mümkün olmazsa gereken sonraki adımların planlanmasını üstlenecek
    • Hedefe ulaşılamazsa toplanan miktar, mevcut personelin bu projeye ayıracağı zaman ve ilgili yazılım onarım hakkı faaliyetleri için kullanılacak

Hâlihazırda katkı sunanlar

  • Paweł Jarczak, Bambu Lab’in süregelen AGPLv3 ihlallerini SFC’nin fark etmesini sağladı ve AGPLv3’ün izin verdiği şekilde kaynak kodunu değiştirerek ilgili çalışmaları yürüttü
  • b3nsn0w, Bambu Lab durumunu ek olarak araştırdı ve dinamik bağlantılı kütüphane ihlali konusunda bir yıldan uzun süredir AGPLv3’ü savunuyor
  • FULU, bu konuya dikkat çekti ve Bambu Labs’e karşı duruşunu açıkladı

1 yorum

 
GN⁺ 3 시간 전
Lobste.rs görüşleri
  • Bu çabanın kendisini takdir ediyorum. Uzun süredir açık kaynak kullanıcısıyım ve ara sıra katkıda da bulunuyorum; ayrıca Bambu yazıcısı da kullanıyorum, ama biraz karışmış durumdaki eski bir Debian makinede Bambu Studio’yu ya da kaynaktan derlenmiş OrcaSlicer’ı düzgün çalıştırmayı başaramadım
    FLOSS lisanslarını da uzun zamandır takip ediyorum ve AGPLv3’ün motivasyonunu anlasam da bana hep biraz rahatsız edici gelmiştir. Bambu’nun bu işi ele alış biçiminden de hoşlanmıyorum; hukuken nereye kadar gider bilmem ama en azından açık kaynağın ruhunu açıkça ihlal ettiğini düşünüyorum
    Takıldığım nokta şu: Burada söylenmek istenen, AGPLv3 yazılımının özgür olmayan bir ikiliye dlopen() çağıramayacağı mı, yoksa AGPLv3 yazılımıyla yalnızca bazı fonksiyon işaretçisi imzalarını paylaşan bir .so dosyasını dağıtmanın lisans ihlali olduğu mu? Bu olayda aynı tarafın değiştirilmiş AGPLv3 yazılımı ile özgür olmayan ikiliyi birlikte yayımlıyor olması rahatsızlığı anlaşılır kılıyor, ama bunu genelleştirince kafama pek oturmuyor
    Uç noktaya götürürsek, sanki standartlaştırılmış biçimde eklenti yükleyebilen AGPLv3 yazılımının kendi lisansıyla uyumsuz olduğu anlamına da gelebilir. Örneğin VST(https://en.wikipedia.org/wiki/Virtual_Studio_Technology) yükleyebilen AGPLv3 ses yazılımlarında lisans sonuçlarını doğru anlamak epey karmaşık görünüyor
    • Bu başlığa bakılırsa Bambu, tüm ağ iletişimini kasten bu kapalı kaynak kütüphane üzerinden geçirecek şekilde düzenlemiş gibi görünüyor. Bu olmadan yazılım fiilen işe yaramaz hale geliyor ve davranışını incelemeye çalışırsanız çökertmeye yönelik anti-debugging özellikleri bile var gibi duruyor
    • “AGPLv3 yazılımı özgür olmayan bir ikiliye dlopen() çağıramaz mı?” yorumu FSF’nin görüşü değil. FSF, eklentilerle ilgili SSS maddesinde, ana programın eklentiyi nasıl çağırdığına bağlı olarak bunun tek bir birleşik program sayılıp sayılmayacağının değiştiğini açıklıyor
      Eğer sadece fork ve exec ile çalıştırılıyor ve sıkı bir iletişim yoksa ayrı programlar olabilir; ama dinamik bağlama yapılıyor, karşılıklı fonksiyon çağrıları ve veri yapıları paylaşılıyorsa bunun tek bir birleşik program olarak değerlendirilmesi gerektiğini savunuyor. Karmaşık veri yapılarının paylaşımlı bellek üzerinden aktarılmasını da dinamik bağlamaya neredeyse eşdeğer görüyor
      Bildiğim kadarıyla bu, genel olarak tüm GPL sürümleri için geçerli. Kısaca, ölçüt şu: O eklenti, GPL programı için yazılmadan önce de başka yazılımlarda kullanılabiliyor muydu? Yalnızca ilgili GPL programında anlamlıysa, fiilen o programın bir parçası sayılmaya daha yakındır
    • SFC, lisans metnindeki ilgili kısmı alıntılamış. Corresponding Source tanımı, ilgili eser tarafından özel olarak ihtiyaç duyulacak şekilde tasarlanmış paylaşılan kütüphanelerin ve dinamik olarak bağlanan alt programların kaynak kodunu da kapsıyor
      Dolayısıyla eklenti desteğinin kendisi sorun değil. Sorun, uygulamanın genel işlevleri için belirli bir eklentiye fiilen ihtiyaç duyulmasıyla ortaya çıkıyor. SFC yazısında geçen .so ağ iletişimiyle ilgili görünüyor ve ağa erişim olmadan yazıcıyı rahat kullanmanın zor olması da makul görünüyor
      Daha geniş bağlamda ise, nesne kodu biçimindeki bir eser için “Corresponding Source”; nesne kodunu üretmek, kurmak, çalıştırmak ve değiştirmek için gereken tüm kaynak kodu ve betikleri ifade eder, ancak sistem kütüphaneleri ya da değişiklik yapılmadan kullanılan genel amaçlı araçlar ve yaygınca erişilebilen özgür programlar buna dahil değildir
      Özellikle Apple’ın tüm OSX makinelerinde sunduğu özel mülkiyetli SDK’ya bağımlı AGPL yazılımını OSX üzerinde geliştirmek mümkündür. Windows uygulamalarının Windows tarafındaki bileşenlere bağımlı olması da aynı şekilde değerlendirilir