1 पॉइंट द्वारा GN⁺ 3 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Bambu Studio AGPLv3-आधारित PrusaSlicer का संशोधित संस्करण है, लेकिन इसने proprietary networking library का पूरा source और installation information उपलब्ध नहीं कराया
  • AGPLv3 के Corresponding Source में वह code और dynamic link library source शामिल होते हैं जो build, install, run और modify करने के लिए ज़रूरी हों और जिनसे सॉफ़्टवेयर घनिष्ठ रूप से जुड़ा हो
  • Bambu ने Paweł Jarczak से वह fork हटाने की मांग की जिसमें Orca Slicer को Bambu server components के साथ काम करने के लिए संशोधित किया गया था, जो अतिरिक्त प्रतिबंध न लगाने वाली शर्त से टकराता है
  • SFC, baltobu project के तहत networking library की reverse engineering, Bambu के लिए Orca Slicer का maintenance, और Bambu Studio के विकल्प fork viscose को आगे बढ़ा रहा है
  • SFC ने 3D printer software right to repair गतिविधियों के लिए दो महीनों में US$250,007 जुटाने का अभियान शुरू किया है, और जून 2026 में स्थायी समिति का विवरण जारी करने वाला है

पुष्टि किए गए AGPLv3 उल्लंघन

  • libbambu_networking source code उपलब्ध नहीं कराया गया

    • Bambu Lab के 3D printer software और firmware की AGPLv3 compliance investigation में दो उल्लंघन पहचाने गए
    • Bambu Studio एक Slicer है जो STL जैसे digital design models को उन क्षैतिज 2D layers में विभाजित करता है जिन्हें printer प्रिंट कर सकता है
    • Bambu पिछले 4 वर्षों से सार्वजनिक रूप से कहता आया है कि Bambu Studio प्रतिस्पर्धी AGPLv3-licensed Slicer PrusaSlicer का modified version है
    • PrusaSlicer, Alessandro Ranellucci द्वारा मूल रूप से बनाए गए Slic3r का modified version है
    • Bambu Studio का कुछ source code, Bambu के GitHub organization account पर मौजूद है, लेकिन Bambu यह बताता रहा है कि वह Bambu Studio को proprietary libraries के साथ जोड़कर UI के interactive prompts के माध्यम से users तक पहुँचाता है
    • AGPLv3 कहता है कि जब covered work को object code form में पहुँचाया जाए, तो उसी license terms के तहत उसका machine-readable Corresponding Source भी साथ में उपलब्ध कराया जाना चाहिए
    • Corresponding Source में object code को generate, install, run और modify करने के लिए आवश्यक source code और scripts शामिल होते हैं
    • जिन shared libraries और dynamically linked subprograms को work इस तरह design किया गया हो कि वे घनिष्ठ data communication या control flow के साथ आवश्यक हों, उनका source code भी Corresponding Source का हिस्सा होता है
    • Bambu द्वारा libbambu_networking.so, bambu_networking.dll, libbambu_networking.dylib का पूर्ण Corresponding Source Code और Installation Information उपलब्ध न कराना, गंभीर और लगातार जारी AGPLv3 उल्लंघन माना गया है
  • Paweł Jarczak के fork को हटाने की मांग

    • Networking library को proprietary बनाए रखने से अलग, developer और Bambu Lab user Paweł Jarczak के खिलाफ Bambu की कार्रवाई को भी AGPLv3 उल्लंघन के रूप में पेश किया गया है
    • Paweł Jarczak ने dynamically linked library को बदले या संशोधित किए बिना, Bambu Studio के server-side components के साथ integrate करने का एक अलग तरीका प्रकाशित किया
    • Bambu Studio के अधूरे source code की समीक्षा करने के बाद, उन्होंने एक अन्य AGPLv3 Slicer Orca Slicer को modify किया
    • संशोधित Orca Slicer ने users को Bambu Studio के विकल्प के रूप में, Bambu Lab servers पर चलने वाले लेकिन फिलहाल source के रूप में प्रकाशित न किए गए हिस्सों के साथ घनिष्ठ data communication द्वारा जुड़ने में सक्षम बनाया
    • Bambu ने Paweł से GitHub पर मौजूद उस OrcaSlicer fork को हटाने की मांग की जिसमें ये बदलाव शामिल थे
    • Bambu ने दावा किया कि उसकी terms of service, AGPLv3 पर वरीयता रखती हैं, लेकिन AGPLv3§10¶3 स्पष्ट करता है कि license द्वारा दिए गए या पुष्टि किए गए अधिकारों के प्रयोग पर अतिरिक्त प्रतिबंध नहीं लगाए जा सकते
    • Paweł ने विरोध दर्ज करते हुए Orca Slicer fork हटा दिया

SFC की प्रतिक्रिया योजना

  • baltobu project

    • SFC ने baltobu project शुरू किया है, जिसके तहत Bambu से जुड़े AGPLv3 उल्लंघनों के जवाब और 3D printer software right to repair को बेहतर बनाने के लिए कई repositories चलाई जा रही हैं
    • Paweł Jarczak के खिलाफ Bambu की कार्रवाई के बाद, consumers और users की अल्पकालिक मदद तथा 3D printer consumers के software right to repair में दीर्घकालिक सुधार के लिए बहुआयामी काम शुरू किया गया
    • क्योंकि Bambu पहले से लंबे समय से एक गंभीर AGPLv3 violator के रूप में जाना जाता था, इसलिए कानूनी कार्रवाई की तुलना में तेज़ परिणाम देने वाली reverse engineering को प्राथमिकता दी गई
  • reverse-networking

    • baltobu की reverse-networking repository libbambu_networking.so, bambu_networking.dll, libbambu_networking.dylib की reverse engineering के लिए project host करती है
    • SFC, Use the Source community volunteers से इस प्रक्रिया में शामिल होने के लिए अनुरोध कर रहा है
    • SFC का यह मत है कि AGPLv3 software के साथ combined object code को भी AGPLv3 के तहत license किया जाना चाहिए
    • संबंधित object code libraries AGPLv3 के दायरे में आती हैं, और SFC तथा volunteers का मानना है कि उन्हें इन libraries की reverse engineering कर ऐसा अपना source code बनाने का अधिकार है जो Bambu Studio में drop-in replacement की तरह काम करे
  • orca-slicer-for-bambu

    • baltobu की orca-slicer-for-bambu repository, Paweł के काम के आधार पर, उनके द्वारा मूल रूप से प्रकाशित Orca Slicer fork को maintain और improve करने के लिए standard repository बनेगी
    • SFC ऐसे volunteers की मांग कर रहा है जो Bambu 3D printers के साथ काम करने वाला OrcaStudio fork maintain कर सकें
    • SFC की ओर से काम करने वाले volunteer contributors को कुछ स्तर की personal liability protection मिल सकती है, और यदि Bambu volunteers को कानूनी धमकी देता है तो SFC यथासंभव हस्तक्षेप करना चाहता है
  • viscose

    • baltobu की viscose repository, Bambu Studio के स्वयं के active fork को maintain करने का project है
    • पहले के दो प्रयासों से मिले निष्कर्षों के आधार पर, इसे ऐसे Bambu Studio replacement की दिशा में आगे बढ़ाया जा रहा है जो Bambu 3D printer owners के लिए बेहतर काम करे
  • अतिरिक्त उल्लंघनों की निगरानी

    • SFC, Bambu Lab द्वारा संभावित अतिरिक्त उल्लंघनों की निगरानी जारी रखेगा
    • सामान्य तौर पर वह सक्रिय रूप से उल्लंघन ढूँढ़ता नहीं है, लेकिन इस मामले में वह Bambu Lab पर कड़ी नज़र रख रहा है और copyleft license उल्लंघनों की संभावना की नियमित जाँच कर रहा है
  • 3D printer community स्थायी समिति

    • SFC, 3D printer community की software freedom और rights पर चर्चा के लिए एक स्थायी समिति शुरू करने वाला है
    • समिति का विवरण जून 2026 में जारी किया जाएगा
    • समिति की योजना ऐसी है कि 3D printer manufacturers, users, consumers, copyleft license experts और software freedom activists हर महीने बैठक करें
    • इसका उद्देश्य 3D printers और संबंधित software में software right to repair से जुड़ी समस्याओं और चिंताओं को साझा करना तथा उन्हें हल करने के लिए action plans बनाना है

भागीदारी और समर्थन

  • volunteer भागीदारी

    • SFC इस काम में तुरंत शामिल होने के लिए volunteers से अनुरोध कर रहा है
    • Paweł Jarczak पहले volunteer के रूप में जुड़ चुके हैं, और Bambu के कई AGPLv3 उल्लंघनों की जाँच में उनके काम ने महत्वपूर्ण भूमिका निभाई
    • यदि आप baltobu project के तकनीकी काम में मदद करना चाहते हैं, तो SFC की Forgejo instance पर account request करने का तरीका देख सकते हैं
    • यदि आपकी रुचि अन्य initiatives में है, तो आप 3dprint@sfconservancy.org पर email भेज सकते हैं
  • right to repair अभियान के लिए धनसंग्रह

    • SFC दो महीनों के दौरान US$250,007 जुटाने का अभियान चला रहा है
    • नई Sustainer contributions और SFC को सामान्य donations software right to repair गतिविधियों के लिए आवंटित किए जाएँगे
    • लक्ष्य पूरा होने पर, दीर्घकालिक गतिविधियों का नेतृत्व करने के लिए अतिरिक्त staff को hire करने की प्रक्रिया तुरंत शुरू की जाएगी
    • यह staff volunteer contributors के समन्वय, 3D printer software right to repair सुधारने की strategy planning, और यदि Bambu Lab से AGPLv3 compliance नहीं कराई जा सके तो आवश्यक अगले कदमों की planning संभालेगा
    • यदि लक्ष्य पूरा नहीं होता, तो जुटाई गई राशि मौजूदा staff के इस project पर केंद्रित समय और संबंधित software right to repair गतिविधियों में उपयोग की जाएगी

जिन्होंने पहले ही योगदान दिया

  • Paweł Jarczak ने SFC को Bambu Lab के जारी AGPLv3 उल्लंघनों के बारे में अवगत कराया, और AGPLv3 द्वारा अनुमत तरीकों से source code में बदलाव कर संबंधित काम आगे बढ़ाया
  • b3nsn0w ने Bambu Lab की स्थिति की अतिरिक्त जाँच की, और dynamically linked library उल्लंघन के संबंध में एक वर्ष से अधिक समय से AGPLv3 की वकालत कर रहे हैं
  • FULU ने इस मुद्दे पर ध्यान आकर्षित किया और Bambu Labs के खिलाफ अपना रुख प्रकाशित किया

1 टिप्पणियां

 
GN⁺ 3 시간 전
Lobste.rs टिप्पणियाँ
  • इस कोशिश की मैं खुद सराहना करता हूँ। मैं लंबे समय से open source का user हूँ, कभी-कभी contributor भी रहा हूँ, और Bambu printer भी इस्तेमाल करता हूँ, लेकिन थोड़ी गड़बड़ Debian machine पर Bambu Studio या source से build किया हुआ OrcaSlicer ठीक से चलाने में मैं नाकाम रहा हूँ
    मैं FLOSS लाइसेंसों को भी लंबे समय से फॉलो करता रहा हूँ, और AGPLv3 की मंशा समझ में आती है, लेकिन यह हमेशा थोड़ा असहज लगा है। Bambu जिस तरह इस मामले को संभाल रहा है वह भी मुझे पसंद नहीं है, और कानूनी रूप से चाहे जो हो, कम-से-कम open source की भावना का तो यह साफ़ उल्लंघन है
    मेरी अटकन यह है कि यहाँ जो कहा जा रहा है उसका मतलब क्या यह है कि AGPLv3 software किसी non-free binary पर dlopen() कॉल नहीं कर सकता, या फिर AGPLv3 software के साथ सिर्फ कुछ function pointer signatures साझा करने वाली .so file को distribute करना ही license violation है। इस मामले में वही पक्ष modified AGPLv3 software और non-free binary को साथ में जारी कर रहा है, इसलिए असहजता समझ में आती है, लेकिन इसे सामान्य नियम की तरह समझना मेरे लिए आसान नहीं है
    चरम रूप से देखें तो यह ऐसा भी लग सकता है कि standardized format वाले plugin load कर सकने वाला AGPLv3 software अपने ही license के साथ compatible नहीं है। उदाहरण के लिए, अगर कोई AGPLv3 audio software VST(https://en.wikipedia.org/wiki/Virtual_Studio_Technology) load कर सकता है, तो उसके license implications को ठीक से समझना काफ़ी जटिल लगता है
    • इस thread को देखें तो लगता है कि Bambu ने जानबूझकर सारी networking इसी closed-source library के ज़रिए कर दी है। इसके बिना software लगभग बेकार हो जाता है, और उसके व्यवहार को देखने की कोशिश करो तो लगता है कि उसमें crash करा देने वाली anti-debugging functionality भी है
    • “क्या इसका मतलब यह है कि AGPLv3 software किसी non-free binary पर dlopen() कॉल नहीं कर सकता?” — यह FSF की स्थिति नहीं है। FSF plugin से जुड़े FAQ entry में समझाता है कि main program plugin को कैसे कॉल करता है, इसी पर निर्भर करता है कि उसे एक single combined program माना जाए या नहीं
      अगर वह सिर्फ fork और exec से चलाया जाता है और कोई घनिष्ठ communication नहीं है, तो उसे अलग program माना जा सकता है; लेकिन अगर dynamic linking हो रही है और दोनों एक-दूसरे के function calls और data structures साझा करते हैं, तो FSF की राय में उसे एक combined program माना जाना चाहिए। जटिल data structures को shared memory के ज़रिए आगे-पीछे करना भी लगभग dynamic linking जैसा ही माना जाता है
      मेरी समझ से यह broadly GPL के सभी versions पर लागू होता है। सरल शब्दों में, पैमाना यह है कि क्या वह plugin GPL program के लिए लिखे जाने से पहले भी किसी दूसरे software में इस्तेमाल हो सकता था। अगर उसकी उपयोगिता सिर्फ उसी GPL program तक सीमित है, तो व्यवहार में उसे उस program के हिस्से के अधिक क़रीब माना जाता है
    • SFC ने license text से संबंधित हिस्सा उद्धृत किया है। उसमें कहा गया है कि Corresponding Source में उन shared libraries और dynamically linked subprograms का source code शामिल होता है जिन्हें उस work के लिए विशेष रूप से आवश्यक बनाने के इरादे से डिज़ाइन किया गया हो
      इसलिए plugin support अपने आप में ठीक है। समस्या तब आती है जब application की सामान्य functionality के लिए कोई खास plugin व्यवहार में लगभग अनिवार्य हो जाए। SFC की पोस्ट में जो .so है, वह networking से जुड़ी लगती है, और network access के बिना printer को आसानी से इस्तेमाल कर पाना मुश्किल है — यह बात भी plausible लगती है
      व्यापक संदर्भ में, object code form में किसी work के लिए “Corresponding Source” का मतलब वह सारा source code और scripts है जो object code को generate, install, run और modify करने के लिए चाहिए, लेकिन इसमें system libraries, या वे general-purpose tools और सामान्य रूप से उपलब्ध free programs शामिल नहीं होते जो बिना modification के इस्तेमाल किए जाते हैं
      खास तौर पर, Apple के सभी OSX machines पर उपलब्ध proprietary SDK पर निर्भर AGPL software को OSX पर develop करना संभव है। इसी तरह, Windows application का Windows-side components पर निर्भर होना भी वैसा ही मामला है