- Điều khoản sử dụng mới của Arduino sau khi được công bố đã châm ngòi cho xung đột với Adafruit trong cộng đồng phần cứng mã nguồn mở
- Adafruit chỉ trích rằng điều khoản mới cấm dịch ngược, cấp giấy phép vĩnh viễn đối với nội dung do người dùng tải lên, và giám sát trên diện rộng cho các tính năng AI, làm suy yếu các nguyên tắc mã nguồn mở
- Arduino phản bác rằng các hạn chế này chỉ áp dụng cho ứng dụng đám mây SaaS và tinh thần mã nguồn mở của phần cứng vẫn được giữ nguyên
- EFF chỉ ra một số điều khoản đã “giảm mức độ bảo vệ người dùng so với trước”, đồng thời nêu vấn đề xóa bỏ quyền rút lại giấy phép
- Tranh cãi lần này cho thấy ranh giới giữa định nghĩa phần cứng mã nguồn mở và sự chuyển dịch sang mô hình lấy đám mây làm trung tâm, đồng thời nhấn mạnh tầm quan trọng của niềm tin cộng đồng và tính minh bạch
Bối cảnh thay đổi điều khoản và tranh cãi của Arduino
- Arduino đã công bố điều khoản sử dụng mới sau thương vụ Qualcomm mua lại, làm dấy lên tranh luận trong cộng đồng mã nguồn mở
- Adafruit cho rằng các điều khoản này đi ngược tinh thần mã nguồn mở vì có điều khoản cấm dịch ngược
- Arduino giải thích rằng “các hạn chế chỉ áp dụng cho ứng dụng SaaS dựa trên đám mây, còn phần cứng mã nguồn mở hiện có vẫn được giữ nguyên”
- Phillip Torrone của Adafruit cảnh báo trên LinkedIn rằng “người dùng Arduino giờ đây thậm chí còn bị cấm hiểu hoặc phân tích cách nền tảng vận hành”
- Bài đăng này đã nhận hơn 1.500 lượt thích, tạo ra tiếng vang lớn trong cộng đồng
Môi trường phát triển lấy đám mây làm trung tâm và vấn đề quyền riêng tư
- Nhà sáng lập Adafruit Limor “Ladyada” Fried chỉ trích rằng lời giải thích của Arduino đã thu nhỏ vấn đề so với thực tế
- Bà chỉ ra rằng trang chính thức của Arduino khuyến khích mạnh mẽ việc dùng cloud editor và web IDE, và trong môi trường ChromeOS thì đây gần như là lựa chọn duy nhất
- Bà cũng đề cập rằng khi dùng đám mây, người dùng bắt buộc phải tạo tài khoản và trải qua quy trình đồng ý với tiếp thị và lập hồ sơ người dùng
- Fried nhận định rằng “khác với trước đây khi người dùng tải IDE cục bộ về để hack phần cứng, giờ đây cấu trúc này đã chuyển sang phụ thuộc vào dữ liệu cá nhân và dịch vụ thuê bao”
Nội dung người dùng và điều khoản cấp phép
- Adafruit chỉ trích rằng điều khoản mới trao cho Arduino giấy phép vĩnh viễn và không thể rút lại đối với nội dung do người dùng tải lên
- Arduino phản bác rằng đây “chỉ là việc cấp quyền chức năng cần thiết khi người dùng yêu cầu các tính năng đám mây, còn quyền sở hữu vẫn thuộc về người dùng”
- Ví dụ: các quyền kỹ thuật cần thiết để biên dịch sketch trên đám mây hoặc đăng bài trên diễn đàn
- Mitch Stoltz của EFF chỉ ra rằng “điều khoản trước đây cho phép người dùng rút lại giấy phép bất cứ lúc nào, nhưng điều khoản mới đã xóa bỏ điều này”, cho thấy sự suy giảm trong bảo vệ người dùng
Chính sách xóa tài khoản và lưu giữ dữ liệu
- Arduino giải thích rằng “người dùng có thể yêu cầu xóa tài khoản và nội dung bất cứ lúc nào, và khi xóa thì bài đăng sẽ được ẩn danh”
- Tuy nhiên, với tài khoản không hoạt động quá 2 năm, theo yêu cầu từ cộng đồng, tên người đóng góp sẽ được giữ lại trong 5 năm
- Sau 5 năm, tên người dùng sẽ bị xóa và bài đăng được khử nhận dạng
- Fried chỉ trích chính sách này vì nó “đối xử với bản sắc và dữ liệu của cộng đồng như tài sản quản trị, thay vì đặt dưới quyền kiểm soát của người dùng”
Tranh cãi về tính năng AI và giám sát người dùng
- Điều khoản mới nêu rõ các trường hợp cấm sử dụng AI (tội phạm, thông tin sai lệch, mục đích quân sự, v.v.), đồng thời bao gồm quyền giám sát hoạt động người dùng
- Arduino giải thích rằng đây là “biện pháp nhằm tuân thủ quy định pháp luật và bảo đảm sự ổn định của dịch vụ”
- Fried cho rằng “giám sát trên diện rộng đối với mọi người dùng sẽ làm tổn hại lòng tin”, đồng thời yêu cầu thiết kế giám sát minh bạch và có giới hạn
- Bà nhấn mạnh rằng “giấy phép mã nguồn mở không cho phép hạn chế mục đích sử dụng”, vì vậy điều khoản cấm dùng cho mục đích quân sự là ‘không thể tương thích’ với định nghĩa ‘mã nguồn mở’
- Adafruit chỉ trích rằng điều khoản của Arduino “trên thực tế vô hiệu hóa quyền tự do cấp phép”
Triển vọng sắp tới và phản ứng của cộng đồng
- Arduino tuyên bố rằng họ “hiểu các lo ngại của cộng đồng và sẽ tiếp tục duy trì tính minh bạch và đối thoại”
- Adafruit cho biết họ sẽ tiếp tục thiết kế và công bố phần cứng mã nguồn mở thực sự, đồng thời tiếp tục hỗ trợ nhiều hệ sinh thái khác nhau như Zephyr, BLE, IoT
- Fried nhấn mạnh rằng “hợp tác luôn được hoan nghênh, nhưng phải dựa trên giấy phép mã nguồn mở hoàn chỉnh và tài liệu hóa đầy đủ”
1 bình luận
Ý kiến trên Hacker News
Từ khi bắt đầu dùng chip ESP32/ESP8266 của Espressif thì tôi gần như quên hẳn Arduino
Chỉ cần cấu hình tốt extension của VSCode là thậm chí không cần IDE, và tôi cũng đang nghĩ nhất định phải thử PlatformIO một lần
Sau đó khi ESP8266/ESP32 xuất hiện thì tôi rời Arduino hoàn toàn
Có thể nó vẫn có ý nghĩa trong giáo dục hoặc công nghiệp, nhưng cá nhân tôi không còn lý do để dùng nữa
Tôi đã dùng PlatformIO trong VSCode từ lâu, còn dạo này thích làm việc nhanh hơn với ESPHome
Có thể xem quá trình chạy bằng tùy chọn
--verboseTôi nghe nhiều người nói PlatformIO tốt, nhưng ngoài tích hợp với VSCode thì nó còn có ưu điểm gì nữa không? (tôi là người dùng emacs)
Lưu các lệnh vào lịch sử CLI rồi gọi lại bằng
Ctrl+Rthì rất tiệnNó cung cấp các tính năng mà IDE không làm được như build nhanh, môi trường có thể tái lập, flash image cho nhiều thiết bị, tham số thời gian build, v.v.
Raspberry Pi Pico dễ dùng hơn nhiều như một lựa chọn thay thế Arduino
Nó có dual-core và IO coprocessor, còn Pico2 thậm chí hỗ trợ chế độ RISC-V
Việc tải binary lên chỉ đơn giản là kéo thả file, và trên Linux có thể script hóa bằng picotool
Với loại tài liệu như vậy thì tôi sẵn sàng trả thêm vài xu để mua
Nó rất tuyệt cho nhu cầu hobby, nhưng với các dự án phức tạp thì còn kém STM32
STM32L011 từng chạy được vài tháng, thậm chí vài năm
Vì thiếu giải thích về cách hệ thống Arduino mới hoạt động nên khó đánh giá tác động của giấy phép mới
Trước đây người ta flash qua USB, nhưng giờ có nói đến việc lập trình không dây bằng web editor
Tôi muốn biết WiFi có bắt buộc không, dùng giao thức mạng nào, và ghép cặp ra sao
Nền tảng SaaS của Qualcomm chỉ là một dịch vụ bình thường, còn Arduino thì vẫn như trước
Cả EFF lẫn Arduino đều có lập trường thân thiện với mã nguồn mở, nên tôi không bận tâm đến tranh cãi mang tính marketing từ Adafruit
Có vẻ Qualcomm sẽ khó kiểm soát được thị trường
CPU, bootloader và compiler đều không thuộc sở hữu của họ, và các nhà sản xuất Trung Quốc sẽ không tuân theo các quy tắc đó
Hiện cũng có nhiều ý kiến cho rằng Arduino IDE giờ bất tiện vì thiếu tính năng debug
Việc Qualcomm mua lại Arduino có thể là một phán đoán sai lầm vì AI
Nhưng không có lộ trình chuyển tiếp dần dần sang các tính năng nâng cao
Cấu trúc dự án bị bó vào một file duy nhất, còn hệ thống build cũng bất tiện
Trong CI thì tôi dùng Makefile nhưng việc cấu hình khá phiền
Dù vậy, nhờ tự động reload nên vấn đề ở trình soạn thảo đỡ hơn
Việc Arduino thành công hay không không quan trọng với họ
Có câu “Anything that was open, stays open”, nhưng nhìn vào Android và Google Play Services thì tôi lại nghĩ khác
Có cả sự giúp sức từ các công ty khác, nhưng những chính sách như hạn chế client YouTube thì vẫn đáng tiếc
Adafruit hiện là bên dẫn đầu trong thị trường giáo dục và hobby
Arduino hay SparkFun không còn được như trước
Tuy vậy, việc đi theo hướng lấy MicroPython làm trung tâm có thể trở thành rào cản ở giai đoạn học sâu hơn
Dù thế, hỗ trợ thư viện C++ vẫn đang được duy trì
Nó đơn giản hơn MicroPython, và tôi thích Python hơn C++
Dùng Python trong editor tôi thích thay vì Arduino IDE thoải mái hơn nhiều
Không phải ai cũng cần là chuyên gia C++
Phần lớn bài viết đang chép lại nguyên xi luận điểm của đối thủ là Adafruit
EFF cho rằng điều khoản mới nhìn chung là hợp lý, còn Adafruit thì đang tạo ra một tranh cãi không cần thiết
Phần cứng mở giờ cũng không còn khó bảo trì, và hệ sinh thái hoàn toàn có thể có đủ năng lực tự vận hành
Cách diễn đạt “Chief microcontroller rival Adafruit” là không chính xác
Adafruit và Arduino chỉ là thương hiệu PCB, còn chip thì do các hãng như ST hay Renesas sản xuất
Tôi gần như không dùng Arduino IDE
Tôi ghét nó vì chậm và phụ thuộc vào cloud
Thay vào đó tôi dùng tổ hợp Pico + VSCode