Cộng đồng lập trình viên đã rơi vào tình trạng hỗn loạn khi người tạo ra tiện ích mở rộng phổ biến VS Code Material Theme đột ngột thay đổi điều khoản giấy phép của dự án, đe dọa hành động pháp lý đối với người dùng và cố gắng xóa lịch sử mã nguồn mở của dự án. Sự cố này đã gây ra lo ngại rộng rãi và thúc đẩy phản ứng nhanh chóng từ cộng đồng.
Đánh lừa về Giấy phép
Tranh cãi xoay quanh việc người tạo tiện ích VS Code Material Theme dường như đã thay đổi hồi tố giấy phép của dự án từ Apache License 2.0 sang giấy phép độc quyền. Theo báo cáo từ cộng đồng, nhà phát triển đã đi xa đến mức xóa lịch sử commit để che giấu thực tế rằng dự án ban đầu là mã nguồn mở. Động thái này đã gặp phải phản ứng dữ dội, đặc biệt là khi xem xét rằng dự án trước đây đã chấp nhận đóng góp từ các nhà phát triển khác theo giấy phép mã nguồn mở.
Người ta giả định rằng đóng góp của bạn sẽ được cấp phép theo giấy phép hiện tại (nói chung). Người bảo trì có thể thay đổi giấy phép nhưng điều đó sẽ không ảnh hưởng đến các đóng góp trước đó. Về cơ bản, bất kỳ thứ gì cho đến khi thay đổi giấy phép vẫn sẽ có giấy phép ban đầu. Đây là điều làm cho việc fork trở nên khả thi khi phần mềm phổ biến thay đổi giấy phép của họ.
Tình huống này đặc biệt mỉa mai khi xét đến việc Material Design bản thân là hệ thống thiết kế của Google mà theme này dựa trên, làm dấy lên câu hỏi về tuyên bố sở hữu của người tạo đối với những gì về cơ bản là các bảng màu và yếu tố thiết kế.
Vấn đề Kỹ thuật và Trải nghiệm Người dùng
Ngoài tranh cãi về giấy phép, người dùng đã báo cáo các vấn đề kỹ thuật đáng kể với tiện ích mở rộng. Nhiều người dùng VS Code thấy mình không thể gỡ cài đặt tiện ích, với hiện tượng nó tự cài đặt lại một cách bí ẩn mỗi khi VS Code được mở lại. Hành vi này đã làm dấy lên lo ngại về bảo mật, đặc biệt là khi người dùng phát hiện ra mã đã được làm rối trong tiện ích mở rộng dường như đã được xử lý thông qua một công cụ làm rối trực tuyến.
Cộng đồng đã ghi lại các giải pháp để xóa hoàn toàn tiện ích gây vấn đề, bao gồm việc xóa thủ công các thư mục tiện ích và chỉnh sửa các tệp cấu hình. Điều này yêu cầu người dùng điều hướng đến thư mục tiện ích VS Code của họ, xóa thư mục Equinusocio Material Theme, và trong một số trường hợp, sửa đổi tệp extensions.json để ngăn nó cài đặt lại.
Cách Gỡ bỏ Tiện ích Mở rộng Gây Vấn đề (Windows)
- Đóng hoàn toàn VS Code
- Điều hướng đến
%username%\.vscode\extensions
- Xóa thư mục Equinusocio Material Theme
- Đổi tên tệp JSON 'extensions' thành 'extensions.old'
- Mở lại VS Code (điều này sẽ tạo một tệp JSON extensions mới)
- Cài đặt theme thay thế nếu muốn
Phản ứng của Cộng đồng và Các Giải pháp Thay thế
Để đáp lại tình huống này, nhà phát triển và người có ảnh hưởng trong lĩnh vực công nghệ Theo (t3dotgg) đã tạo ra một bản fork của theme gốc có tên Material Theme (But I Won't Sue You) (Material Theme Nhưng Tôi Sẽ Không Kiện Bạn). Giải pháp thay thế này đã nhanh chóng được ưa chuộng khi người dùng tìm cách thay thế tiện ích gây vấn đề trong khi vẫn duy trì trải nghiệm hình ảnh ưa thích trong VS Code.
Sự cố này đã làm dấy lên các cuộc thảo luận rộng rãi hơn về tính bền vững của các dự án mã nguồn mở và những căng thẳng có thể phát sinh khi người tạo cố gắng kiếm tiền từ phần mềm trước đây miễn phí. Một số thành viên cộng đồng đã bày tỏ sự đồng cảm với mong muốn được bồi thường của nhà phát triển gốc, trong khi những người khác đã chỉ trích cách tiếp cận thù địch và đặt câu hỏi về việc bảo trì liên tục mà một theme như vậy thực sự đòi hỏi.
Phân tích mã của kho lưu trữ đã được fork cho thấy theme bao gồm khoảng 1.650 dòng mã TypeScript, với một phần đáng kể là các định nghĩa màu sắc. Điều này đã khiến một số người đặt câu hỏi về tuyên bố về gánh nặng bảo trì liên tục đáng kể mà sẽ biện minh cho các chiến thuật kiếm tiền hung hăng.
Tình huống này nhắc nhở về bản chất đôi khi mong manh của hệ sinh thái mã nguồn mở và tầm quan trọng của việc cấp phép rõ ràng ngay từ đầu. Nó cũng nêu bật việc cộng đồng nhà phát triển có thể phản ứng nhanh như thế nào để cung cấp các giải pháp thay thế khi các công cụ phổ biến có những bước đi gây tranh cãi.
Tham khảo: Tiện ích mở rộng này đã được báo cáo là có vấn đề