💡 Theo đánh giá của RetroLab, đây là một vụ việc nghiêm trọng cho thấy sự thiếu tôn trọng đối với cộng đồng mã nguồn mở. Việc Hyperkin sử dụng mã nguồn mà không tuân thủ giấy phép, đồng thời khóa cứng thiết bị, là hành vi đi ngược lại các nguyên tắc cơ bản của phần mềm tự do và có thể gây ảnh hưởng xấu đến niềm tin của cộng đồng.
Dự án RetroArch và giao diện phát triển libretro vừa công bố bằng chứng cho thấy máy chơi game đa năng Retron5 của Hyperkin đã sử dụng trái phép nhiều mã nguồn mở, bao gồm các lõi giả lập và chính mã nguồn của RetroArch, vi phạm nghiêm trọng các giấy phép phần mềm.
RetroArch là một phần mềm mã nguồn mở cho phép chạy các lõi giả lập thông qua giao diện libretro. Dự án này bắt đầu từ cuối năm 2010 và hiện có mặt trên hơn 15 nền tảng phần cứng, bao gồm Android – nền tảng mà Retron5 sử dụng. Các lõi giả lập trong hệ sinh thái libretro được phát hành dưới nhiều giấy phép khác nhau, trong đó một số có giấy phép phi thương mại (non-commercial), cấm bán hoặc kiếm lời từ sản phẩm.
Theo nhóm phát triển RetroArch, Retron5 đã tích hợp các lõi giả lập sau mà không xin phép tác giả và không tuân thủ điều khoản giấy phép:
Genesis Plus GX
Lõi giả lập Sega Genesis/Mega Drive do Eke-Eke phát triển, được cấp phép phi thương mại. Bằng chứng cho thấy mã nguồn của Genesis Plus GX xuất hiện trong Retron5. Các tác giả không hề được liên hệ trước.



Thêm bằng chứng: 1, 2, 3, 4, 5, 6
SNES9x Next
Lõi giả lập SNES này là phiên bản do Squarepusher (thành viên nhóm RetroArch) phát triển dựa trên SNES9x, có thêm mã tăng tốc SuperFX và các hack tốc độ. SNES9x Next chỉ tồn tại dưới dạng lõi libretro. Retron5 sử dụng lõi này mà không có giấy phép thương mại. Các chuỗi biến liên quan đến hack tốc độ và SuperFX xuất hiện trong mã của Retron5.




Thêm bằng chứng: 1, 2, 3, 4, 5, 6
FCEUmm
Lõi giả lập NES này là dẫn xuất của FCE Ultra, được cấp phép GPLv2. Về lý thuyết, Hyperkin có thể bán sản phẩm nếu frontend tương thích GPLv2, nhưng họ lại dùng mã GPLv3 trong frontend, gây xung đột giấy phép.


Thêm bằng chứng: 1, 2, 3, 4, 5, 6
VBA Next
Lõi giả lập Game Boy Advance này do Squarepusher phát triển dựa trên VBA-M, có tích hợp cơ sở dữ liệu game. Các chuỗi ID game xuất hiện trong module GBA của Retron5. VBA Next được cấp phép GPLv2.


Thêm bằng chứng: 1, 2, 3, 4, 5, 6
RetroArch – mã nguồn frontend bị đánh cắp
Nhóm RetroArch phát hiện các đoạn mã hợp ngữ (Assembly) khó làm mờ trong frontend của Retron5, đặc biệt là mã resampler âm thanh tối ưu ARM NEON và các routine chuyển đổi số nguyên sang số thực. Đây là mã GPLv3 của RetroArch. Các phần mã C khác dường như đã bị làm rối, nhưng việc sử dụng lõi libretro cho thấy frontend của Retron5 phần lớn dựa trên RetroArch.






Thêm bằng chứng: 1, 2, 3, 4, 5, 6, 7
Tivoization – vi phạm tinh thần GPL
Một vấn đề nghiêm trọng khác là Retron5 bị khóa cứng (locked-down) và mã hóa, không cho phép người dùng chạy phần mềm sửa đổi. Điều này được gọi là Tivoization – thuật ngữ do Richard Stallman đặt ra, chỉ việc sử dụng phần mềm GPL trên thiết bị phần cứng có cơ chế ngăn chặn chạy phiên bản sửa đổi. GPLv3 được tạo ra đặc biệt để chống lại hành vi này. Hyperkin không chỉ vi phạm giấy phép mà còn xây dựng một hệ sinh thái đóng quanh mã nguồn mở, không cho phép người dùng tự do thay đổi phần mềm.
Ngoài ra, Retron5 còn sử dụng phông chữ Verdana của Microsoft có bản quyền EULA, gây thêm vi phạm.
Kết luận
RetroArch kết luận rằng Retron5 vi phạm nhiều giấy phép: sử dụng lõi phi thương mại trong sản phẩm thương mại, không công bố mã nguồn, không ghi nhận tác giả, và tạo thiết bị khóa cứng vi phạm GPLv3. Phần mềm của Retron5 rất có thể là bất hợp pháp để phân phối. Nhóm phát triển kêu gọi Hyperkin tuân thủ giấy phép hoặc ngừng bán sản phẩm.
Liên kết bằng chứng:
- Album so sánh mã nguồn
- Mã resampler RetroArch trong Retron5
- Ảnh mã resampler khác (từ tweet FioraAeterna)
- Thông tin phông chữ Verdana
Nguồn: RetroArch Blog - https://www.libretro.com/index.php/retroarch-license-violations/#comment-3758



