Bambu’nun AGPLv3 ihlaline yönelik kapsamlı yanıt
(sfconservancy.org)- 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_networkingkaynak 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,
STLgibi 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.dylibiç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ı
-
baltobuprojesi- 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- baltobu’nun
reverse-networkingdeposu,libbambu_networking.so,bambu_networking.dll,libbambu_networking.dylibiçin tersine mühendislik projesini barındırıyor - SFC, Use the Source topluluk gönüllülerinden bu sürece katılmalarını istiyor ve çağrı yapıyor
- SFC’nin görüşüne göre, AGPLv3 yazılımla birleştirilmiş nesne kodu da AGPLv3 kapsamında lisanslanmalıdır
- Bu nesne kodu kütüphaneleri AGPLv3’e tabidir ve SFC ile gönüllüler, Bambu Studio’da doğrudan yerine kullanılabilecek kendi kaynak kodlarını üretmek için bu kütüphaneleri tersine mühendislikle inceleme hakkına sahip olduklarını düşünüyor
- baltobu’nun
-
orca-slicer-for-bambu- baltobu’nun
orca-slicer-for-bambudeposu, 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
- baltobu’nun
-
viscose- baltobu’nun
viscosedeposu, 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
- baltobu’nun
-
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
Lobste.rs görüşleri
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.sodosyası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 oturmuyorUç 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
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ıyorEğer sadece
forkveexecile ç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üyorBildiğ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
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
.soağ 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üyorDaha 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