1 điểm bởi GN⁺ 2025-12-27 | 1 bình luận | Chia sẻ qua WhatsApp
  • Bộ điều khiển thiết bị y tế điều khiển máy bơm insulin hoạt động dựa trên nhân Linux
  • Thiết bị này đang ở trạng thái vi phạm giấy phép vì không tuân thủ các điều khoản của GPL (Giấy phép Công cộng GNU)
  • Người dùng chỉ ra vấn đề là nghĩa vụ công bố mã nguồn không được thực hiện
  • Trong cộng đồng, tính minh bạch của phần mềm nguồn mởđộ tin cậy của thiết bị y tế đang được thảo luận cùng nhau
  • Vụ vi phạm GPL này được chú ý như một ví dụ cho thấy giới hạn của việc ứng dụng nguồn mở trong lĩnh vực thiết bị y tế

Bộ điều khiển máy bơm insulin dựa trên nhân Linux

  • Một thiết bị điều khiển máy bơm insulin đang sử dụng nhân Linux
    • Thiết bị thực hiện chức năng tự động điều chỉnh việc đưa insulin
    • Việc nhân Linux được nhúng trong thiết bị đã được người dùng xác nhận
  • Thiết bị này đang vi phạm các điều khoản giấy phép GPL
    • GPL quy định rằng các sản phẩm sử dụng nhân phải có nghĩa vụ công bố mã nguồn
    • Tuy nhiên, thiết bị này được bán trong tình trạng không thể truy cập mã nguồn

Vấn đề vi phạm GPL và tính minh bạch của nguồn mở

  • Người dùng chỉ ra hành vi vi phạm GPL và đưa ra yêu cầu công bố mã nguồn
    • Dù việc sử dụng nhân là rõ ràng, nhà sản xuất vẫn không cung cấp mã
  • Trong cộng đồng, có sự chỉ trích việc các nhà sản xuất thiết bị y tế phớt lờ nghĩa vụ với nguồn mở
    • Vi phạm GPL không chỉ là một vấn đề pháp lý đơn thuần mà còn ảnh hưởng đến an toàn người dùng và độ tin cậy

Xung đột giữa thiết bị y tế và nguồn mở

  • Trong ngành thiết bị y tế, chính sách firmware khép kín là điều phổ biến
    • Vì vậy phát sinh xung đột pháp lý và đạo đức với cộng đồng nguồn mở
  • Vi phạm GPL ở thiết bị y tế dùng nhân Linux được nhắc đến như một ví dụ tiêu biểu về sự thiếu minh bạch
    • Khi công nghệ dựa trên nguồn mở được áp dụng vào thiết bị y tế, việc tuân thủ nghĩa vụ công bố là rất quan trọng

Phản ứng của cộng đồng

  • Một số người dùng yêu cầu biện pháp cưỡng chế tuân thủ GPL
    • Họ cho rằng nhà sản xuất phải công bố mã nguồn của nhân
  • Những người dùng khác đồng thời thảo luận về độ an toàn của thiết bị y tếvấn đề trách nhiệm pháp lý
    • Khoảng trống quản lý khi phần mềm nguồn mở được dùng trong thiết bị y tế đã được chỉ ra

Hàm ý

  • Trường hợp này được chú ý như một ví dụ hiếm hoi về vi phạm GPL xảy ra trong thiết bị y tế thực tế
  • Nó cho thấy sự cần thiết của một sự cân bằng pháp lý và đạo đức giữa cộng đồng nguồn mở và ngành thiết bị y tế
  • Trong tương lai, cần tăng cường tuân thủ giấy phép đối với các sản phẩm sử dụng nhân Linux

1 bình luận

 
GN⁺ 2025-12-27
Ý kiến trên Hacker News
  • Tôi đã cố yêu cầu Insulet cung cấp mã nguồn kernel được cấp phép theo GPLv2
    Nhưng việc chỉ đơn giản nói rằng “vì có GPL nên họ phải đưa mã nguồn” là một cách hiểu sai
    Trên thực tế, công ty phải gửi cho người dùng một ‘đề nghị bằng văn bản (written offer)’, và người dùng có thể dựa vào đề nghị đó để yêu cầu mã nguồn
    Nếu công ty đã gửi đề nghị nhưng không thực hiện thì đó là vi phạm cam kết, còn nếu ngay từ đầu họ không hề gửi đề nghị thì đó là vi phạm GPL (tôi không phải chuyên gia pháp lý)
    • Đây vẫn là một vấn đề chưa được làm rõ hoàn toàn về mặt pháp lý
      Vụ Conservancy v Vizio đang tranh luận xem người tiêu dùng có quyền trực tiếp thực thi GPL hay không
    • Thời hạn hiệu lực 3 năm của đề nghị bằng văn bản chỉ là một trong nhiều cách phân phối khác nhau
      Nếu không hề có đề nghị thì họ không được bảo vệ bởi điều khoản đó và phải tuân thủ GPL theo cách khác
    • Về câu hỏi “đề nghị bằng văn bản có phải là hợp đồng bị vi phạm không”, cũng có ý kiến cho rằng một đề nghị đơn thuần khác với hợp đồng
    • Cách diễn giải này có thể đúng ở Mỹ, nhưng tại Đức thì người dùng cuối cũng có thể trực tiếp yêu cầu mã nguồn và khởi kiện
    • Vì bản thân GPL là một hợp đồng, điều cần phân biệt ở đây là sự khác nhau giữa hợp đồng giữa bên cấp phép và bên được cấp phép với quan hệ giữa bên được cấp phép và người dùng
  • Tôi rất muốn khuyên mọi người hãy đọc bình luận được vote cao của người trong công ty
    Phát triển phần cứng thường bị xem là trung tâm chi phí và bị thuê ngoài, nên rất hay xảy ra tình huống không còn ai ở lại để xử lý các yêu cầu GPL
    Đội hỗ trợ tuyến đầu không có năng lực xử lý các yêu cầu kiểu này, email thường bị chuyển vòng vòng trong nội bộ rồi bị quên mất
    Nếu chuyển sang bộ phận pháp lý, họ sẽ bấm máy tính để xem “đây có thực sự là rủi ro pháp lý không?” và đa phần sẽ phớt lờ
    Khi từng làm ở một công ty có nhiều vấn đề liên quan đến GPL, tôi đã yêu cầu lưu trữ GPL tarball cho mọi bản phát hành và đào tạo đội hỗ trợ
    70% yêu cầu xuất phát từ sự tức giận do hiểu lầm kiểu “tại sao không đưa toàn bộ mã nguồn”
    Trải nghiệm đó giúp tôi hiểu vì sao đội hỗ trợ lại ngại các yêu cầu GPL
    • Nhưng nếu mã không thuộc GPL được liên kết trực tiếp (link) với mã GPL thì những phàn nàn của người dùng đó có thể là chính đáng
  • Trong trường hợp này, đáp án đúng là liên hệ qua bộ phận pháp lý theo đường luật sư
    Kỹ sư hay đội hỗ trợ sẽ không thể đưa ra quyết định pháp lý về việc bàn giao tài sản của công ty
    Sẽ rất hữu ích nếu FSF công bố một mẫu thư yêu cầu có nêu căn cứ pháp lý và quy trình đòi bồi thường thiệt hại
    • Cũng có phản biện rằng “đó không phải là tài sản của công ty”
  • Nếu phần chịu GPL chỉ là riêng kernel Linux thì gần như sẽ không có quyền gì đặc biệt để nhận thêm mã nguồn
    Việc dùng kernel không tự động làm phát sinh nghĩa vụ GPL cho các chương trình userspace
    Khả năng cao chỉ là tổ hợp giữa một kernel không được tùy biến và các chương trình userspace mã nguồn mở
    • Nếu vậy thì việc cung cấp mã nguồn đáng lẽ phải xử lý rất đơn giản
    • Ngoài ra, các module driver dùng GPL shim (ví dụ: driver NVIDIA) cũng không thuộc phạm vi áp dụng của GPL, nên tôi không hiểu vì sao tác giả lại cho rằng có vi phạm
  • Những tranh luận về vi phạm giấy phép như thế này thực sự rất căng thẳng
    Nếu là vi phạm thì cứ khởi kiện để tòa án phán quyết là được
    Nếu là thiết bị y tế thì mức chi phí vài trăm đô có lẽ cũng đáng để thử
    • Nhưng nhiều khả năng OP không phải là chủ sở hữu bản quyền của kernel Linux
    • Hơn nữa, vụ kiện chắc chắn không thể chỉ tốn vài trăm đô
  • Nếu họ tự build kernel, thì có khi chỉ cần đưa liên kết kho mã nguồn kernel Linux chính thức là đủ
    • Nhưng nếu công ty tự build cho mục đích thương mại thì họ sẽ không đáp ứng được cả hai điều kiện của GPLv2 3(c), nên không thể áp dụng điều khoản đó
  • Có phải đang nói về Omnipod không?
    Nó từng bị thu hồi rất nhiều, và thật khó để tin tưởng chất lượng phần cứng lẫn phần mềm của họ
    Xin lỗi những ai từng làm ở công ty đó, nhưng hy vọng giờ họ đang làm ở nơi tốt hơn
  • Với tư cách là người không phụ thuộc insulin, điều tôi thắc mắc là tại sao máy bơm insulin lại phải được điều khiển bằng điện thoại
    Chỉ dùng một bộ điều khiển Bluetooth thôi có vẻ cũng đủ, việc dùng điện thoại giá rẻ sản xuất tại Trung Quốc lại khiến rủi ro rò rỉ dữ liệu có vẻ lớn hơn
    • Là vì lý do bảo mật. PDM được cô lập hoàn toàn, không thể cài ứng dụng hay kết nối Wi‑Fi
      Nếu bị điều khiển sai thì có thể dẫn đến tiêm insulin quá liều gây chết người
      Điều thú vị là Omnipod 5 của cùng công ty thì ở Mỹ lại có thể điều khiển bằng smartphone thông thường
    • Trước đây, nếu muốn điều khiển máy bơm bằng thiết bị bên ngoài thì bắt buộc phải cung cấp bộ điều khiển riêng
      Vì thế Insulet mới phát hành thiết bị riêng
      Các CGM như Dexcom G7 cũng bán kèm ‘controller’ vì lý do tương tự
      Gần đây FDA đã nới lỏng yêu cầu này, nên giờ các sản phẩm giả định người dùng dùng điện thoại cá nhân cũng được chấp nhận
  • Thực ra thiết bị này đã được reverse engineering (RE) rồi
    Có thể thấy qua các dự án như Loop, Trio, OpenAPS
    Insulet đã khá khoan dung với các kiểu hack như vậy
    Điều cần lúc này là hỗ trợ RE cho Omnipod 5
    • Tôi cũng đang liên hệ với vài người biết về công việc RE của Omnipod 5
      Vấn đề hiện tại là PDM/app khi đăng nhập sẽ nhận private key từ API rồi lưu vào keychain, đồng thời dùng SSL pinning để chặn tấn công man-in-the-middle
      Chúng tôi vẫn chưa trích xuất được private key nên tiến độ còn chậm
    • Tôi đang thử RE phần đọc dữ liệu đường huyết của máy bơm Minimed (780G), nhưng vẫn chưa giải quyết xong hoàn toàn
      Hy vọng một ngày nào đó có thể đóng góp
  • Tôi từng tự hỏi không biết có quy trình nào để kiến nghị lên FSF về những việc như thế này hay không
    Tôi muốn biết họ chọn vụ việc theo tiêu chí nào
    • Thực tế, bên xử lý không phải FSF mà là SFC (Software Freedom Conservancy)
      dominant theory là GPL chỉ có thể được thực thi bởi chủ sở hữu bản quyền
      SFC đang muốn thông qua vụ kiện Vizio để được công nhận rằng người dùng cuối cũng là bên thụ hưởng thứ ba có thể thực thi GPL
      FSF chỉ có thể can thiệp trong trường hợp được chuyển giao bản quyền như với dự án GNU
      Các vi phạm liên quan GNU có thể báo về license-violation@gnu.org
      SFC cũng là đại diện pháp lý của nhiều dự án như OpenWrt, Git, QEMU
      Có thể tham khảo trang hướng dẫn của SFC để gửi báo cáo
      Tuy vậy, SFC có nguồn lực hạn chế nên sẽ ưu tiên các trường hợp có tác động xã hội lớn như thiết bị y tế
      Đặc biệt, họ có những người như Karen Sandler (người dùng máy khử rung tim) và Bradley Kühn (người dùng máy theo dõi đường huyết), nên rất quan tâm đến vấn đề thiết bị y tế