Bambu의 AGPLv3 위반에 대한 포괄적 대응

3 weeks ago 16
  • Bambu Studio는 AGPLv3 기반 PrusaSlicer 수정 버전이지만, 독점 네트워킹 라이브러리의 전체 소스와 설치 정보를 제공하지 않았음
  • AGPLv3의 Corresponding Source에는 생성·설치·실행·수정에 필요한 코드와 밀접히 결합된 동적 링크 라이브러리 소스가 포함됨
  • Bambu는 Paweł Jarczak이 Orca Slicer를 Bambu 서버 구성 요소와 연동하도록 수정한 포크를 삭제하라고 요구해 추가 제한 금지 조항과 충돌함
  • SFC는 baltobu 프로젝트로 네트워킹 라이브러리 역공학, Orca Slicer for Bambu 유지, Bambu Studio 대체 포크인 viscose를 추진함
  • SFC는 3D 프린터 소프트웨어 수리권 활동을 위해 두 달간 US$250,007 모금을 시작하고, 2026년 6월 상설 위원회 세부 내용을 공개할 예정임

확인된 AGPLv3 위반

  • libbambu_networking 소스 코드 미제공

    • Bambu Lab의 3D 프린터용 소프트웨어와 펌웨어에 대한 AGPLv3 준수 조사에서 두 가지 위반이 확인됨
    • Bambu Studio는 STL 같은 디지털 설계 모델을 프린터가 출력할 수 있는 수평 2D 레이어로 나누는 Slicer임
    • Bambu는 4년 동안 Bambu Studio가 경쟁사의 AGPLv3 라이선스 Slicer인 PrusaSlicer의 수정 버전이라고 공개해 왔음
    • PrusaSlicer는 Alessandro Ranellucci가 처음 만든 Slic3r의 수정 버전임
    • Bambu Studio의 일부 소스 코드는 Bambu의 GitHub 조직 계정에 있지만, Bambu는 Bambu Studio를 독점 라이브러리와 결합해 UI의 상호작용 프롬프트를 통해 사용자에게 배포한다고 밝혀 왔음
    • AGPLv3는 적용 대상 저작물을 오브젝트 코드 형태로 전달할 때, 기계가 읽을 수 있는 Corresponding Source도 같은 라이선스 조건으로 함께 전달해야 한다고 규정함
    • Corresponding Source에는 오브젝트 코드를 생성·설치·실행·수정하는 데 필요한 소스 코드와 스크립트가 포함됨
    • 저작물이 밀접한 데이터 통신이나 제어 흐름으로 요구하도록 설계된 공유 라이브러리와 동적 링크 하위 프로그램의 소스 코드도 Corresponding Source에 들어감
    • Bambu가 libbambu_networking.so, bambu_networking.dll, libbambu_networking.dylib의 완전한 Corresponding Source Code와 Installation Information을 제공하지 않는 것은 심각하고 계속되는 AGPLv3 위반으로 판단됨
  • Paweł Jarczak 포크 삭제 요구

    • Bambu가 네트워킹 라이브러리를 독점으로 유지한 것과 별개로, 개발자이자 Bambu Lab 사용자인 Paweł Jarczak을 상대로 한 조치도 AGPLv3 위반으로 제시됨
    • Paweł Jarczak은 동적으로 링크된 라이브러리를 교체하거나 수정하지 않고, Bambu Studio의 서버 측 구성 요소와 통합하는 다른 방식을 공개함
    • 그는 Bambu Studio의 불완전한 소스 코드를 검토한 뒤, 다른 AGPLv3 Slicer인 Orca Slicer를 수정했음
    • 수정된 Orca Slicer는 사용자가 Bambu Studio를 대체하면서, Bambu Lab 서버에서 실행되지만 현재 소스가 공개되지 않은 부분과 밀접한 데이터 통신으로 결합할 수 있게 했음
    • Bambu는 Paweł에게 해당 변경이 포함된 OrcaSlicer 포크를 GitHub에서 삭제하라고 요구함
    • Bambu는 자사 서비스 약관이 AGPLv3보다 우선한다고 주장했지만, AGPLv3§10¶3은 라이선스로 부여되거나 확인된 권리 행사에 추가 제한을 부과할 수 없다고 명시함
    • Paweł은 항의 표시와 함께 Orca Slicer 포크를 삭제했음

SFC의 대응 계획

  • baltobu 프로젝트

    • SFC는 baltobu 프로젝트를 시작해 Bambu 관련 AGPLv3 위반 대응과 3D 프린터 소프트웨어 수리권 개선을 위한 여러 저장소를 운영함
    • Paweł Jarczak을 향한 Bambu의 조치를 계기로, 단기적으로 소비자와 사용자를 돕고 장기적으로 3D 프린터 소비자의 소프트웨어 수리권을 개선하는 다면적 작업이 시작됨
    • Bambu가 이미 오래전부터 강한 AGPLv3 위반자로 알려져 있었기 때문에, 법적 조치보다 빠른 결과를 낼 수 있는 역공학부터 추진함
  • reverse-networking

  • orca-slicer-for-bambu

    • baltobu의 orca-slicer-for-bambu 저장소는 Paweł의 작업을 기반으로, 그가 처음 공개한 Orca Slicer 포크를 유지·개선하는 표준 저장소가 될 예정임
    • SFC는 Bambu 3D 프린터와 동작하는 OrcaStudio 포크를 유지할 자원봉사자를 요청함
    • SFC를 대신해 일하는 자원봉사 기여자는 일정 수준의 개인 책임 보호를 받을 수 있으며, Bambu가 자원봉사자에게 법적 위협을 할 경우 SFC가 가능한 한 개입하려 함
  • viscose

    • baltobu의 viscose 저장소는 Bambu Studio 자체의 활성 포크를 유지하려는 프로젝트임
    • 앞선 두 작업에서 나온 발견을 바탕으로, Bambu 3D 프린터 소유자에게 더 잘 동작하는 Bambu Studio 대체물을 만드는 방향으로 진행됨
  • 추가 위반 감시

    • SFC는 Bambu Lab의 추가 위반 가능성을 계속 감시할 예정임
    • 일반적으로 위반 사항을 적극적으로 찾아다니지는 않지만, 이 사례에서는 Bambu Lab을 면밀히 지켜보고 카피레프트 라이선스 위반 가능성을 정기적으로 조사함
  • 3D 프린터 커뮤니티 상설 위원회

    • SFC는 3D 프린터 커뮤니티의 소프트웨어 자유와 권리를 논의하는 상설 위원회를 시작할 예정임
    • 위원회 세부 내용은 2026년 6월 공개됨
    • 위원회는 3D 프린터 제조사, 사용자, 소비자, 카피레프트 라이선스 전문가, 소프트웨어 자유 활동가가 매월 회의하는 구조로 계획됨
    • 3D 프린터와 관련 소프트웨어의 소프트웨어 수리권 문제와 우려를 공유하고, 이를 해결하기 위한 행동 계획을 만드는 목적임

참여와 후원

  • 자원봉사 참여

    • SFC는 이 작업에 즉시 참여할 자원봉사자를 요청함
    • Paweł Jarczak은 첫 자원봉사자로 합류했으며, Bambu의 여러 AGPLv3 위반 조사에서 그의 작업이 중요한 역할을 했음
    • baltobu 프로젝트의 기술 작업을 돕고 싶다면 SFC의 Forgejo 인스턴스 계정 요청 방법을 확인할 수 있음
    • 다른 이니셔티브에 관심이 있다면 3dprint@sfconservancy.org로 이메일을 보낼 수 있음
  • 수리권 활동 모금

    • SFC는 두 달 동안 US$250,007 모금을 진행함
    • 새로 시작되는 Sustainer 기여SFC 일반 기부는 소프트웨어 수리권 활동에 배정됨
    • 목표를 달성하면 장기 활동을 이끌 추가 직원을 고용하기 위한 채용을 즉시 시작함
    • 해당 직원은 자원봉사 기여자 조율, 3D 프린터 소프트웨어 수리권 개선 전략 계획, Bambu Lab의 AGPLv3 준수를 이끌어내지 못할 경우 필요한 다음 단계 계획을 맡음
    • 목표에 도달하지 못하면 모금액은 기존 직원이 이 프로젝트에 집중하는 시간과 관련 소프트웨어 수리권 활동에 사용됨

이미 기여한 사람들

  • Paweł Jarczak은 Bambu Lab의 계속되는 AGPLv3 위반을 SFC가 인지하게 했고, AGPLv3가 허용하는 방식으로 소스 코드를 바꿔 관련 작업을 진행했음
  • b3nsn0w는 Bambu Lab 상황을 추가 조사했고, 동적 링크 라이브러리 위반과 관련해 1년 넘게 AGPLv3를 옹호해 왔음
  • FULU는 이 문제에 주목하게 하고 Bambu Labs에 맞서는 입장을 냈음
Read Entire Article