Dự án terminal emulator phổ biến Ghostty đã triển khai chính sách mới yêu cầu các contributor phải tiết lộ bất kỳ sự hỗ trợ nào từ AI khi gửi các thay đổi code. Động thái này phản ánh mối quan ngại ngày càng tăng trong cộng đồng mã nguồn mở về chất lượng và khả năng bảo trì của các đóng góp code được tạo ra bởi AI.
Chính sách này xuất phát từ kinh nghiệm của maintainer Mitchell Hashimoto với những gì ông gọi là AI slop - code được tạo ra kém chất lượng được gửi bởi các developer thiếu kinh nghiệm, những người không thể đánh giá đầy đủ công việc được hỗ trợ bởi AI của họ. Yêu cầu tiết lộ nhằm giúp các maintainer phân bổ tốt hơn thời gian và tài nguyên hạn chế của họ khi xem xét các đóng góp.
Yêu cầu Công bố AI trong Dự án Ghostty:
- Công bố Bắt buộc: Bất kỳ sự hỗ trợ nào của AI vượt ra ngoài việc hoàn thành tab đơn giản đều phải được công bố trong các pull request
- Ngoại lệ: Hoàn thành tab tầm thường chỉ giới hạn ở các từ khóa đơn lẻ hoặc cụm từ ngắn
- Tài liệu: Các contributor phải chỉ rõ mức độ sử dụng AI (ví dụ: chỉ tài liệu hoặc tạo code)
- Phản hồi PR: Các phản hồi pull request được tạo bởi AI cũng phải được công bố
Vấn đề với các đóng góp AI không được tiết lộ
Vấn đề cốt lõi không phải là việc sử dụng AI, mà là sự ngắt kết nối giữa việc tạo code và hiểu biết về code. Nhiều contributor đang sử dụng các công cụ AI để tạo ra những thay đổi code đáng kể mà không hiểu đầy đủ những gì họ đã tạo ra. Điều này tạo ra tình huống khó khăn cho các maintainer phải quyết định có nên đầu tư thời gian để hướng dẫn các contributor hay đơn giản từ chối những submission chất lượng thấp.
Chính sách này phân biệt giữa các mức độ hỗ trợ AI khác nhau. Các tính năng tab completion và autocomplete đơn giản không yêu cầu tiết lộ, nhưng code được tạo bởi AI đáng kể hơn phải được xác định rõ ràng. Các contributor được khuyến khích cung cấp giải thích chi tiết về cách AI được sử dụng, chẳng hạn như Tôi đã tham khảo ChatGPT để hiểu codebase nhưng giải pháp được tôi tự viết hoàn toàn bằng tay.
Các loại sử dụng AI yêu cầu phải công khai:
- Tạo mã nguồn: Mã nguồn được viết hoàn toàn hoặc một phần bởi các công cụ AI
- Tài liệu hướng dẫn: Viết bình luận, tệp README, hoặc tài liệu kỹ thuật có sự hỗ trợ của AI
- Giải quyết vấn đề: Sử dụng AI để hiểu kiến trúc codebase hoặc gỡ lỗi các vấn đề
- Giao tiếp PR: Phản hồi được tạo bởi AI đối với ý kiến phản hồi hoặc câu hỏi của người đánh giá
Phản ứng và quan ngại của cộng đồng
Cộng đồng developer đã có phản ứng trái chiều với cách tiếp cận này. Một số developer có kinh nghiệm lo ngại rằng việc yêu cầu tiết lộ AI có thể tạo ra sự kỳ thị xung quanh công việc được hỗ trợ bởi AI hợp pháp, có khả năng làm nản lòng các contributor trung thực tham gia. Những người khác lập luận rằng tính minh bạch là cần thiết để duy trì chất lượng code và ghi nhận đúng đắn.
Một mối quan ngại đáng kể được các thành viên cộng đồng nêu ra liên quan đến khả năng thực thi các chính sách như vậy. Vì việc sử dụng AI có thể khó phát hiện, một số người lo ngại rằng các developer trung thực sẽ bị phạt trong khi những người chọn che giấu việc sử dụng AI của họ sẽ tiếp tục không bị phát hiện. Tuy nhiên, những người ủng hộ lập luận rằng việc thiết lập kỳ vọng rõ ràng là có giá trị ngay cả khi việc thực thi không hoàn hảo.
Tác động pháp lý và bản quyền
Ngoài các mối quan ngại về chất lượng, việc tiết lộ AI còn đề cập đến các vấn đề pháp lý quan trọng. Tại Hoa Kỳ, nội dung được tạo ra hoàn toàn bởi AI không thể được bảo hộ bản quyền, điều này có thể làm phức tạp việc cấp phép mã nguồn mở. Ngoài ra, các mô hình AI được đào tạo trên code có bản quyền có thể vô tình tái tạo các thuật toán độc quyền, tạo ra các vi phạm sở hữu trí tuệ tiềm ẩn.
Nếu bạn có code tình cờ giống hệt với code của người khác hoặc triển khai thuật toán độc quyền của ai đó, bạn sẽ thua tại tòa án ngay cả khi bạn tuyên bố rằng 'AI' đã đưa nó cho bạn.
Tác động rộng hơn đến phát triển mã nguồn mở
Chính sách này phản ánh một sự thay đổi lớn hơn trong cách cộng đồng mã nguồn mở tiếp cận phát triển được hỗ trợ bởi AI. Trong khi các công cụ AI có thể tăng đáng kể năng suất cho các developer có kinh nghiệm, chúng cũng có thể làm giảm rào cản gia nhập cho các contributor thiếu chuyên môn để đánh giá đúng đắn code được tạo ra.
Cuộc tranh luận làm nổi bật một căng thẳng cơ bản trong phát triển phần mềm hiện đại: cân bằng giữa lợi ích của sự hỗ trợ AI với nhu cầu hiểu biết và trách nhiệm của con người. Khi các công cụ AI trở nên tinh vi và phổ biến hơn, các dự án như Ghostty đang tiên phong trong các cách tiếp cận để quản lý quá trình chuyển đổi này một cách có trách nhiệm.
Sự thành công của các chính sách như vậy có thể ảnh hưởng đến cách các dự án mã nguồn mở lớn khác xử lý các đóng góp được hỗ trợ bởi AI, có khả năng thiết lập các tiêu chuẩn mới cho tính minh bạch và kiểm soát chất lượng trong phát triển phần mềm hợp tác.
Tham khảo: Al tooling must be disclosed for contributions #8289