- Đây là tài liệu chính thức của nhân Linux do Linus Torvalds công bố, nêu rõ khi đóng góp bằng công cụ lập trình AI thì phải tuân thủ nguyên vẹn quy trình phát triển và phong cách mã hiện có của nhân
- AI không thể thêm thẻ Signed-off-by — về mặt pháp lý chỉ con người mới có thể xác nhận, và nhà phát triển là con người phải chịu toàn bộ trách nhiệm về việc rà soát mã do AI tạo ra, tuân thủ giấy phép và trách nhiệm pháp lý
- Với mã có AI hỗ trợ đóng góp, cần ghi rõ tên mô hình:phiên bản và công cụ phân tích theo định dạng như
Assisted-by: Claude:claude-3-opus coccinelle sparse
- Các công cụ phát triển cơ bản như git, gcc, make được loại khỏi đối tượng phải ghi rõ
- Mọi đóng góp đều phải tương thích với GPL-2.0-only và bắt buộc có định danh giấy phép SPDX
1 bình luận
Ý kiến trên Hacker News
Quy tắc cơ bản là có thể dùng AI, nhưng trách nhiệm đối với commit hoàn toàn thuộc về con người
Việc mã phải đáp ứng yêu cầu giấy phép nghe rất hiển nhiên. Đây là điều mà phần lớn lập trình viên có thể đồng ý
Chỉ là hơi ngạc nhiên khi lại phải ghi rõ điều này
Dạo này có nhiều trường hợp đăng mã do AI tạo lên mã nguồn mở mà còn không hiểu nó, rồi khi có vấn đề thì né trách nhiệm bằng cách nói “AI làm thế”
Trong tình huống như vậy, việc maintainer hoài nghi mã AI là điều hoàn toàn dễ hiểu
Có người xem Torvalds là kẻ phản bội vì chính sách lần này, cũng có người nói rằng nếu mã do AI tạo được hợp nhất thì họ sẽ không bao giờ đóng góp nữa
Mới ngay sau khi thấy Greg KH áp dụng reviewer Sashiko AI cho mọi bản vá gần đây, chính sách lần này tạo cảm giác khá tương phản
AI reviewer thực sự đang có ích, nhưng cuộc thảo luận vẫn dừng ở mức “trách nhiệm với mã AI”
Những phần thật sự nguy hiểm là điều kiện tranh chấp và vấn đề khóa mà AI có thể tự tin trả lời sai
Tôi tự hỏi liệu chính sách này là giải pháp dài hạn, hay chỉ là biện pháp tạm thời trước khi các hệ thống như Sashiko tăng cường lọc từ phía bảo trì
Chính sách do Torvalds công bố đã quy định rõ rằng con người phải xem xét, ký xác nhận và chịu trách nhiệm đối với mã AI
Có vẻ đã qua rà soát pháp lý, và có thể sẽ trở thành chuẩn mực cho phát triển có AI hỗ trợ trong tương lai
Thực tế đã từng có lúc bản vá của tôi được đưa vào một đợt refactor của người khác và tên tôi tự động được thêm vào
Trên thực tế gần như ai cũng có thể thêm “Co-developed-by” hay “Signed-off-by”, và hầu như không có tính ràng buộc pháp lý
LLM không thể nêu rõ nguồn gốc, nên rất khó hiểu làm sao có thể đảm bảo tuân thủ giấy phép
Tác giả có thể là người dùng AI hoặc là nhà phát triển mô hình, nên mức độ bất định pháp lý rất lớn
Trong bối cảnh như vậy, về lâu dài thậm chí giấy phép của kernel có thể bị vô hiệu hóa
Nội dung liên quan được đề cập trong bài viết của KPMG Law về AI và bản quyền
Việc tái sử dụng thẻ “Assisted-by:” để chỉ mô hình AI nghe khá kỳ lạ
Đây vốn là thẻ dùng để ghi nhận sự hỗ trợ của con người, giờ lại có hai ý nghĩa nên gây nhầm lẫn
Thông thường người ta sẽ dùng một thẻ riêng như “AI-assistant:”
Hướng đi đúng của mã nguồn mở là làm rõ mối liên kết giữa con người và tác tử, và để con người chịu trách nhiệm xác minh cuối cùng
Cảm ơn Linus
Rất mừng vì nguyên tắc hiển nhiên rằng dù là mã do AI tạo thì trách nhiệm vẫn thuộc về con người
Nó giống như phiên bản đảo ngược của câu “thợ tồi thì đổ tại công cụ”
Cuối cùng, trách nhiệm lựa chọn và sử dụng công cụ vẫn thuộc về con người
Chính sách này không thể bảo vệ Linux khỏi trách nhiệm pháp lý về vi phạm bản quyền
Nó giống như một cửa hàng bán lẻ nói rằng “chúng tôi tin nhà cung cấp đã loại bỏ THC”
Việc tự tuyên bố miễn trách không có nghĩa là trách nhiệm pháp lý biến mất
Ngay cả nếu có mã vi phạm bị đưa vào thì đối tượng bị kiện sẽ là người dùng Linux hoặc các công ty
Trên thực tế khả năng những vụ kiện như vậy xảy ra là khá thấp
Bản thân phép so sánh đó không phù hợp
Nếu muốn, con người vẫn có thể copy-paste mã riêng tư rồi ký xác nhận
Cuối cùng vấn đề vẫn là con người nói dối
Có điều khoản nói rằng “mọi mã phải tương thích với GPL-2.0-only”,
nhưng trong bối cảnh AI được huấn luyện trên mã thuộc nhiều giấy phép khác nhau, rất khó hiểu làm sao có thể bảo đảm điều đó
Nếu AI làm sai thì con người cũng phải chịu trách nhiệm. Nếu thấy bất an thì không nên dùng AI
Tuy vậy, nếu AI tham chiếu sang codebase khác trong lúc runtime thì có thể còn rủi ro hơn
Nhưng cách tiếp cận này lại có thể làm loãng ý nghĩa của giấy phép
Chỉ với một chú thích kiểu “AI viết 100% nhưng tôi đã rà soát” thì hiệu lực pháp lý rất yếu
Cũng có đề xuất mở issue về việc tái cấp phép sang public domain cho các dự án “100% vibecoded” để cảnh báo vấn đề này