Sửa lỗi vi phạm GPL trong thư viện mimemagic gây ra sự cố trong Ruby on Rails

Tác giả của thư viện Ruby nổi tiếng mimemagic, có hơn 100 triệu lượt tải xuống, đã buộc phải thay đổi giấy phép từ MIT sang GPLv2 do phát hiện ra hành vi vi phạm giấy phép GPLv2 trong dự án. RubyGems chỉ giữ lại các phiên bản 0.3.6 và 0.4.0, được vận chuyển theo GPL và xóa tất cả các bản phát hành cũ hơn được MIT cấp phép. Hơn nữa, việc phát triển mimemagic đã bị dừng lại và kho lưu trữ trên GitHub đã được chuyển sang trạng thái lưu trữ.

Những hành động này dẫn đến khả năng xây dựng các dự án sử dụng mimemagic làm phần phụ thuộc và được phân phối theo các giấy phép không tương thích với GPLv2. Khi sử dụng phiên bản mới của mimemagic, các nhà phát triển của các dự án khác, bao gồm cả dự án độc quyền (giấy phép MIT cho phép sử dụng như vậy), được yêu cầu cấp phép lại mã của họ theo GPL. Vấn đề trở nên trầm trọng hơn khi các phiên bản cũ hơn theo giấy phép MIT không còn có sẵn trên RubyGems.org. Nếu bộ nhớ đệm gói không được bật trên máy chủ bản dựng, việc cố gắng xây dựng dự án bằng các phiên bản mimemagic trước đó sẽ không thành công.

Khung Ruby on Rails, tải mô phỏng trong số các phần phụ thuộc của nó, cũng bị tấn công. Ruby on Rails được cấp phép theo giấy phép MIT và không thể bao gồm các thành phần GPLed. Vấn đề đã mang tính chất toàn cầu - nếu thay đổi ảnh hưởng trực tiếp đến 172 gói, sau đó tính đến các phần phụ thuộc, thì hơn 577 nghìn kho lưu trữ đã bị ảnh hưởng.

Việc vi phạm giấy phép GPL trong dự án mimemagic có liên quan đến việc phân phối tệp freedesktop.org.xml trong mã, đây là bản sao của cơ sở dữ liệu loại MIME từ thư viện Shared-mime-info. Tệp được chỉ định được phân phối theo giấy phép GPLv2 và bản thân thư viện thông tin mime chia sẻ được cấp phép theo giấy phép ISC, tương thích với GPL. Mã nguồn của mimemagic được phân phối theo giấy phép MIT và việc phân phối các thành phần theo giấy phép GPLv2 yêu cầu phân phối sản phẩm phái sinh theo giấy phép tuân thủ GPLv2. Người duy trì thông tin mime được chia sẻ nhận thấy điều này và tác giả của mimemagic đã đồng ý với yêu cầu thay đổi giấy phép.

Giải pháp sẽ là phân tích cú pháp tệp XML một cách nhanh chóng mà không cung cấp freedesktop.org.xml như một phần của thư viện, nhưng người bảo trì mimemagic đã đóng băng kho lưu trữ dự án, vì vậy người khác sẽ phải nhanh chóng thực hiện công việc này. Có thể là nếu tác giả của mimemagic không muốn đưa dự án của mình hoạt động trở lại (anh ấy đã từ chối cho đến nay), thì cần phải tạo ra một nhánh của mimemagic và thay thế sự phụ thuộc trong tất cả các dự án liên quan. Việc chuyển đổi các dự án dựa trên mimemagic sang thư viện libmagic cũng đang được coi là một lựa chọn.

Nguồn: opennet.ru

Thêm một lời nhận xét