- Cộng đồng QEMU gần đây đã sửa đổi chính sách. Việc sử dụng trình tạo mã AI (ví dụ: Copilot, ChatGPT, v.v.) và gửi mã được tạo qua các công cụ đó đều bị cấm
define policy forbidding use of AI code generators
- Gần đây, sự quan tâm đối với trình tạo mã AI đã tăng vọt, nhưng cách diễn giải giấy phép đối với đầu ra của các công cụ này vẫn chưa được toàn ngành chấp nhận rộng rãi
- Các nhà cung cấp lớn khẳng định rằng không có vấn đề gì và có thể tự do lựa chọn giấy phép, nhưng giữa họ tồn tại xung đột lợi ích
- Vì trình tạo mã AI được xây dựng từ dữ liệu huấn luyện dưới nhiều loại giấy phép khác nhau, nên vấn đề giấy phép của đầu ra hiện vẫn chưa có được sự đồng thuận trong ngành
- QEMU yêu cầu trong DCO (Developer Certificate of Origin) rằng người đóng góp phải rõ ràng có quyền đóng góp mã theo giấy phép của dự án đó
- Đồng thời nêu rõ rằng với mã sử dụng trình tạo mã AI, rất khó chứng minh việc tuân thủ các điều khoản b/c của DCO
- Do đó, QEMU đưa ra chính sách không cho phép đóng góp mã vào dự án nếu việc sử dụng trình tạo mã AI là rõ ràng hoặc bị nghi ngờ
Tính linh hoạt của chính sách và xử lý ngoại lệ
- Đây vẫn là giai đoạn đầu của phát triển phần mềm có AI hỗ trợ, nên nhiều khả năng các vấn đề pháp lý sẽ được giải quyết trong tương lai
- Khi công cụ tiếp tục phát triển, trong tương lai một số công cụ có thể sẽ an toàn để sử dụng trong các dự án mã nguồn mở
- Hiện tại ưu tiên áp dụng chính sách nghiêm ngặt và an toàn, và có thể nới lỏng sau nếu cần
- Yêu cầu ngoại lệ sẽ được xem xét riêng từng trường hợp để quyết định có chấp thuận hay không
1 bình luận
Ý kiến trên Hacker News
CONTRIBUTING.mdChính sách đóng góp do LLM tạo ra
Thư viện Color là một thư viện đầy toán học phức tạp và nhiều quyết định tinh tế. Mọi issue hay PR đều phải được viết trên cơ sở người gửi thực sự hiểu sâu vấn đề, và đặc biệt với PR thì lập trình viên phải chứng thực DCO cho từng commit. Nếu PR được viết với sự trợ giúp của LLM, điều đó phải được nêu rõ trong commit message và trong PR. Nếu phát hiện có trợ giúp từ LLM mà không có bằng chứng công khai, PR sẽ bị từ chối. Mọi nội dung do LLM tạo ra mà được gửi lên không qua review đều sẽ bị từ chối vô điều kiện
Trong
Với tư cách là người một mình chịu trách nhiệm cho dự án, tôi cố gắng giữ cân bằng nhưng cá nhân thì không thích các đóng góp mã từ LLMSECURITY.mdcũng sẽ có Chính sách báo cáo bảo mật do LLM tạo ra, theo đó mọi báo cáo bảo mật do LLM sinh ra sẽ không được tiếp nhậnTôi rất khó hình dung nổi chuyện người khác có thể gửi PR trong khi bản thân còn không hiểu mã của mình. Tôi hơi bất mãn với thực tế là vì những người như vậy mà các chính sách lại hạn chế cả việc tôi dùng LLM ở mức autocomplete.
Tôi cũng muốn giao cho Copilot những tác vụ kiểu refactor tự động, nhưng hễ thử là phần lớn đều phá hỏng mọi thứ, lại còn hay sinh mới cả khối mã, khiến trải nghiệm còn chậm hơn tự làm bằng tay.
Điều thú vị là nếu tôi đang gõ dở một bug, Copilot thường sẽ hoàn thành luôn cả bug đó. Nó tự động hoàn thành y nguyên cả những lỗi sai rõ ràng theo ngữ cảnh như gõ nhầm tên biến
Những công việc cấp cao tôi tuyệt đối không giao cho AI, nhưng các việc lặp lại và ít quan trọng thì AI có thể nhận để tăng tốc. Ví dụ, nếu đưa cho Claude Code file CSV kết quả benchmark cơ sở dữ liệu và yêu cầu nối các loại biểu đồ với phân tích outlier, thì nó có thể nhanh chóng hoàn tất một việc về mặt khái niệm thì dễ, nhưng tốn nhiều thời gian để tìm thư viện hoặc thiết lập môi trường
Tôi đang suy nghĩ về ý nghĩa của việc “hiểu” mã. Một dự án tôi đang làm là thêm một backend lưu trữ hoàn toàn mới vào hệ thống điều phối VM hiện có. Từ góc độ không biết mã hiện tại, tôi không có đủ thời gian để tự triển khai từ đầu, nhưng tôi vẫn nắm khá rõ bức tranh tổng thể từ khía cạnh thiết kế và kiểm thử bằng cách dựng test cluster và chạy nhiều kịch bản khác nhau
Bản thân tôi cũng là một maintainer nguồn mở, nên có thể tưởng tượng việc nhận những PR “slop” từ LLM chất lượng thấp gây stress đến mức nào. Cuối cùng thì dù tác giả có hiểu mã hay không, maintainer vẫn buộc phải review.
Về sau, tôi nghĩ cần tìm cách vừa tận dụng đúng mức các công cụ này, vừa phát tín hiệu cho các lập trình viên khác về mức chất lượng của đoạn mã được gửi lên. Điều tôi học được từ một lỗi tinh vi tìm ra trong bản port ZFS cho Linux thời kỳ đầu là: kiểm thử kỹ lưỡng quan trọng không kém gì việc con người review và viết từng dòng mã
Dotnet Runtime thì đang tích cực đón nhận AI. Dù người ngoài có thể chế giễu, vẫn nên chú ý rằng những kỹ sư xuất sắc như Stephen Toub và David Fowler đều đang ủng hộ điều đó.
Với các doanh nghiệp, tôi khuyên lần tới khi IBM tới chào bán dịch vụ AI, hãy tìm một đối tác thực sự có tầm nhìn tương lai hơn.
Là người đến từ North Carolina, tôi mong IBM và RedHat sẽ đi đúng hướng
Tôi hiểu những người tránh AI vì rủi ro pháp lý, nhưng cũng nghi ngờ chuyện lo lắng quá mức. Ai tin rằng mình đã đưa một khả năng nào đó về 0 thì có lẽ vẫn chưa nghĩ đủ kỹ
case, Copilot có thể nhận ra mẫu và giúp giảm đáng kể lượng nhập liệuNão tôi thực ra cũng đã học từ rất nhiều mã nguồn đóng, nên tôi châm biếm rằng các cuộc tranh luận bản quyền quanh AI là kiểu tư duy NIMBY của phương Tây. Tôi lo rằng nếu cứ lấy các giả định pháp lý “nếu mà” này để từ chối công nghệ hay ho, thì chính nền văn minh phương Tây cũng có thể suy yếu
Tách biệt với chính sách cấm đóng góp bằng AI, tôi lại nghĩ cũng cần khoanh vùng rõ “những phần này có thể dùng AI”. Ví dụ, thiết lập CI của QEMU không phải là khu vực cốt lõi cần duy trì an ninh. Với các đóng góp cho test case hoặc môi trường mới mẻ, thú vị, hoàn toàn có thể cho phép AI theo một số điều kiện nhất định
Cuối cùng, “tạm thời chưa nhận” là lựa chọn ít phức tạp và ít kịch tính hơn cho tất cả mọi người
Đính kèm tài liệu liên quan là giấy phép của QEMU và danh sách giấy phép không tự do
Nhưng tôi cũng băn khoăn liệu có cách thực tế nào để phân biệt mã do AI tạo ra với mã con người đã sao chép từ đâu đó hay không. Vì nguồn mở cho phép bất kỳ ai đóng góp, nên việc con người chịu ảnh hưởng từ mã nguồn khác khi viết mã cũng là điều tương tự
Ở góc nhìn hiện tại, tôi nghĩ mã do AI tạo ra tự thân không có một bản sắc độc lập nào; nó gần hơn với một công cụ nằm trong tay con người
Giờ tôi còn thấy phép so sánh này đã kéo dài quá mức đến mức không cần dùng nữa
Nó giống như việc tôi vẽ một hình người que rồi bị nói rằng “bức vẽ đó có thể đã sao chép từ hình người que của người khác nên bạn không có quyền nộp nó”
Mục tiêu thật sự của chính sách này, rốt cuộc chỉ là tích lũy lý do để sau này nếu ai đó có gửi thứ gì trộn lẫn với mã AI thì họ có thể nói “chúng tôi cũng hết cách”. Tôi không tin những người soạn chính sách lại không biết chính họ cũng thấy nó vô nghĩa
Ngoài vấn đề pháp lý, hiển nhiên vẫn còn nhiều vấn đề khác nảy sinh khi dùng mã AI