Đúng như mong đợi, Copilot đã tạo mã có bản quyền

Trợ lý GitHub

GitHub Copilot là một trợ lý lập trình dựa trên AI, có sẵn dưới dạng phần mở rộng cho Visual Studio Code, Visual Studio, Neovim và bộ JetBrain IDE.

Cách đây không lâu, nó đã được biết đến và trên hết chúng tôi chia sẻ ở đây trên blog bản phát hành chung của GitHub Copilot, là một trợ lý lập lịch dựa trên AI cung cấp các đề xuất giống như tự động hoàn thành khi bạn viết mã.

điều gì làm cho thú vị để đồng thí điểm, là nó có thể đưa ra đề xuất cho người dùng khi họ bắt đầu viết mã bạn muốn sử dụng hoặc bằng cách viết nhận xét bằng ngôn ngữ tự nhiên mô tả những gì bạn muốn mã thực hiện. GitHub Copilot phân tích ngữ cảnh của tệp bạn đang chỉnh sửa, cũng như các tệp liên quan và đưa ra các đề xuất từ ​​trình soạn thảo văn bản của bạn.

Trợ lý GitHub nó được tối ưu hóa cho Python, JavaScript, TypeScript, Ruby, Go, C # hoặc C ++. GitHub Copilot cũng có thể được sử dụng để tạo các gợi ý bằng các ngôn ngữ khác và nhiều khuôn khổ khác nhau. GitHub Copilot được cung cấp bởi OpenAI Codex, một hệ thống AI mới do OpenAI tạo ra.

Từ quan điểm của cách họ "bán" Copilot cho chúng tôi, nó khá "tuyệt vời" mặc dù mô hình đằng sau sự vướng mắc dựa trên việc phân tích hàng triệu dòng mã của các kho lưu trữ GitHub, mà ngay từ đầu đã khiến nhiều người cảnh báo và hơn hết là dẫn đến một quan điểm chung của tất cả các nhà phê bình và rằng tại một số điểm, nó sẽ tạo ra các vấn đề đối với "mã được bảo vệ bởi bản quyền".

Và có vẻ như điều này Không mất nhiều thời gian để "dự đoán" trở thành sự thật. gần đây là nhà phát triển Tim Davis, giáo sư khoa học máy tính và kỹ thuật tại Đại học Texas A&M, tuyên bố trên Twitter rằng GitHub Copilot:

"phát hành các đoạn mã lớn của mã của tôi có bản quyền, không có ghi công, không có giấy phép LGPC."

Trước nhận xét này, Alex Graveley, kỹ sư chính của GitHub và là người phát minh ra Copilot, đã trả lời rằng

“Mã được đề cập khác với ví dụ đã cho. Tương tự, nhưng khác nhau ”. Điều đó nói rằng, ông nói thêm: “Đó thực sự là một vấn đề khó khăn. Các giải pháp có thể mở rộng được hoan nghênh. »

Mã do Davis đăng và mã do Copilot tạo ra thực sự trông rất giống nhau. Nhà phát triển Tim Davis đã đăng hình ảnh này lên Twitter, hiển thị bình luận của anh ấy trong Visual Studio Code, mã gốc của anh ấy từ một dự án khác bên dưới và gợi ý của Copilot ở bên phải.

Điều quan trọng là phải chú ý mã gốc được đề cập là mã nguồn mở và có thể được tìm thấy trên GitHub theo giấy phép LGPL 2.1. Tuy nhiên, mã nguồn mở không có nghĩa là không có bản quyền, và có nhiều giấy phép nguồn mở khác nhau, mỗi giấy phép cấp các quyền khác nhau.

Khác lo ngại là các nhà phát triển có thể vô tình kết hợp mã với các giấy phép không tương thích trong cùng một dự án. Copilot đoán trước được vấn đề này ở một mức độ nào đó. Có một bộ lọc mã công khai được mô tả ở đây xác nhận quyền sở hữu

“Phát hiện các gợi ý mã khớp với mã công khai trên GitHub… khi bộ lọc được bật, GitHub Copilot sẽ kiểm tra các gợi ý mã với mã xung quanh gồm khoảng 150 ký tự so với mã công khai trên GitHub. Nếu có một trận đấu hoặc gần trận đấu, gợi ý sẽ không được hiển thị cho bạn ”.

Tuy nhiên, Davis làm rõ điều đó “Khi đăng ký, tôi đã tắt tùy chọn 'Cho phép Github sử dụng mã của tôi…'. Một phần của vấn đề là theo thiết kế, mã nguồn mở có khả năng xuất hiện trong nhiều dự án từ những người khác nhau, vì vậy nó sẽ kết thúc nhiều lần trên GitHub và giữa nhiều người dùng Copilot. Có hoặc không có Copilot, các nhà phát triển có thể sử dụng sai mã có bản quyền.

Về chủ đề, trong Copilot đề cập rằng «lập trình viên có trách nhiệm đảm bảo tính bảo mật và chất lượng của mã của họ. Bạn nên thực hiện các biện pháp phòng ngừa tương tự khi sử dụng mã do Copilot tạo ra khi bạn sử dụng mã do người khác viết.“Các biện pháp phòng ngừa này bao gồm kiểm tra nghiêm ngặt, quét IP và theo dõi lỗ hổng bảo mật.

GitHub cung cấp một số tính năng để giúp theo dõi và cải thiện chất lượng mã, chẳng hạn như GitHub Actions, Dependabot, CodeQL và phân tích mã. Tất cả các tính năng này đều miễn phí và có thể được sử dụng trong các kho lưu trữ công cộng.

GitHub Copilot sử dụng bộ lọc để chặn các từ xúc phạm trong lời nhắc.

“Chúng tôi cam kết không ngừng cải tiến hệ thống lọc để phát hiện và xóa các đề xuất xúc phạm do GitHub Copilot tạo ra một cách thông minh hơn, bao gồm đầu ra thiên vị, phân biệt đối xử hoặc lạm dụng,” GitHub viết.

Cuối cùng, câu hỏi ở đây mà nhiều người đặt ra là Copilot tốt để sử dụng ở mức độ nào?


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.