โปรเจกต์ terminal emulator ยอดนิยม Ghostty ได้นำนโยบายใหม่มาใช้โดยกำหนดให้ผู้มีส่วนร่วมต้องเปิดเผยการใช้ความช่วยเหลือจาก AI เมื่อส่งการเปลี่ยนแปลงโค้ด การเคลื่อนไหวนี้สะท้อนถึงความกังวลที่เพิ่มขึ้นในชุมชนโอเพนซอร์สเกี่ยวกับคุณภาพและความสามารถในการบำรุงรักษาของโค้ดที่สร้างโดย AI
นโยบายนี้เกิดขึ้นจากประสบการณ์ของผู้ดูแล Mitchell Hashimoto กับสิ่งที่เขาเรียกว่า AI slop - โค้ดที่สร้างขึ้นอย่างไม่ดีโดยนักพัฒนาที่ไม่มีประสบการณ์ซึ่งไม่สามารถตรวจสอบงานที่ช่วยสร้างโดย AI ได้อย่างเพียงพอ ข้อกำหนดการเปิดเผยมีจุดประสงค์เพื่อช่วยให้ผู้ดูแลสามารถจัดสรรเวลาและทรัพยากรที่จำกัดได้ดีขึ้นเมื่อตรวจสอบการมีส่วนร่วม
ข้อกำหนดการเปิดเผยการใช้ AI ในโครงการ Ghostty :
- การเปิดเผยที่จำเป็น: การใช้ความช่วยเหลือจาก AI นอกเหนือจากการเติมข้อความอัตโนมัติแบบง่าย ๆ ต้องได้รับการเปิดเผยใน pull requests
- ข้อยกเว้น: การเติมข้อความอัตโนมัติแบบธรรมดาที่จำกัดเฉพาะคำสำคัญเดียวหรือวลีสั้น ๆ
- เอกสารประกอบ: ผู้ร่วมพัฒนาต้องระบุขอบเขตการใช้งาน AI (เช่น ใช้เฉพาะเอกสารหรือการสร้างโค้ด)
- การตอบกลับ PR : การตอบกลับ pull request ที่สร้างโดย AI ต้องได้รับการเปิดเผยด้วย
ปัญหาของการมีส่วนร่วมจาก AI ที่ไม่เปิดเผย
ปัญหาหลักไม่ใช่การใช้ AI เอง แต่เป็นความไม่เชื่อมต่อระหว่างการสร้างโค้ดและความเข้าใจในโค้ด ผู้มีส่วนร่วมหลายคนใช้เครื่องมือ AI เพื่อสร้างการเปลี่ยนแปลงโค้ดที่สำคัญโดยไม่เข้าใจอย่างถ่องแท้ในสิ่งที่พวกเขาสร้างขึ้น สิ่งนี้สร้างสถานการณ์ที่ท้าทายสำหรับผู้ดูแลที่ต้องตัดสินใจว่าจะลงทุนเวลาในการฝึกสอนผู้มีส่วนร่วมหรือเพียงแค่ปฏิเสธการส่งที่มีคุณภาพต่ำ
นโยบายแยกแยะระหว่างระดับการช่วยเหลือจาก AI ที่แตกต่างกัน การทำ tab completion และ autocomplete แบบง่าย ๆ ไม่จำเป็นต้องเปิดเผย แต่โค้ดที่สร้างโดย AI ที่สำคัญกว่านั้นต้องระบุให้ชัดเจน ผู้มีส่วนร่วมได้รับการสนับสนุนให้ให้คำอธิบายโดยละเอียดว่าใช้ AI อย่างไร เช่น ฉันปรึกษา ChatGPT เพื่อทำความเข้าใจ codebase แต่โซลูชันถูกเขียนขึ้นอย่างสมบูรณ์ด้วยตนเองโดยฉันเอง
ประเภทของการใช้ AI ที่ต้องเปิดเผย:
- การสร้างโค้ด: โค้ดที่เขียนโดย AI tools ทั้งหมดหรือบางส่วน
- เอกสารประกอบ: การเขียนคอมเมนต์ ไฟล์ README หรือเอกสารทางเทคนิคด้วยความช่วยเหลือจาก AI
- การแก้ปัญหา: การใช้ AI เพื่อทำความเข้าใจสถาปัตยกรรมของ codebase หรือแก้ไขปัญหา bugs
- การสื่อสาร PR: การตอบกลับต่อความคิดเห็นหรือคำถามของผู้ตรวจสอบที่สร้างโดย AI
ปฏิกิริยาและความกังวลของชุมชน
ชุมชนนักพัฒนาแสดงปฏิกิริยาที่หลากหลายต่อแนวทางนี้ นักพัฒนาที่มีประสบการณ์บางคนกังวลว่าการกำหนดให้เปิดเผยการใช้ AI อาจสร้างความอัปยศต่องานที่ช่วยโดย AI อย่างถูกต้อง ซึ่งอาจทำให้ผู้มีส่วนร่วมที่ซื่อสัตย์ไม่กล้าเข้าร่วม คนอื่น ๆ โต้แย้งว่าความโปร่งใสเป็นสิ่งจำเป็นสำหรับการรักษาคุณภาพโค้ดและการระบุแหล่งที่มาที่เหมาะสม
ความกังวลที่สำคัญที่สมาชิกชุมชนยกขึ้นเกี่ยวข้องกับการบังคับใช้นโยบายดังกล่าว เนื่องจากการใช้ AI อาจตรวจพบได้ยาก บางคนกังวลว่านักพัฒนาที่ซื่อสัตย์จะถูกลงโทษในขณะที่ผู้ที่เลือกซ่อนการใช้ AI จะยังคงไม่ถูกตรวจพบ อย่างไรก็ตาม ผู้สนับสนุนโต้แย้งว่าการกำหนดความคาดหวังที่ชัดเจนมีค่าแม้ว่าการบังคับใช้จะไม่สมบูรณ์แบบ
ผลกระทบทางกฎหมายและลิขสิทธิ์
นอกเหนือจากความกังวลเรื่องคุณภาพแล้ว การเปิดเผยการใช้ AI ยังสัมผัสกับประเด็นทางกฎหมายที่สำคัญ ในสหรัฐอเมริกา เนื้อหาที่สร้างโดย AI เพียงอย่างเดียวไม่สามารถมีลิขสิทธิ์ได้ ซึ่งอาจทำให้การออกใบอนุญาตโอเพนซอร์สซับซ้อน นอกจากนี้ โมเดล AI ที่ฝึกด้วยโค้ดที่มีลิขสิทธิ์อาจสร้างอัลกอริทึมที่เป็นกรรมสิทธิ์ขึ้นมาใหม่โดยไม่ตั้งใจ ซึ่งสร้างการละเมิดทรัพย์สินทางปัญญาที่อาจเกิดขึ้น
หากคุณมีโค้ดที่เหมือนกับโค้ดของคนอื่นหรือใช้อัลกอริทึมที่เป็นกรรมสิทธิ์ของใครบางคน คุณจะแพ้ในศาล แม้ว่าคุณจะอ้างว่า 'AI' ให้มาก็ตาม
ผลกระทบที่กว้างขึ้นต่อการพัฒนาโอเพนซอร์ส
นโยบายนี้สะท้อนถึงการเปลี่ยนแปลงที่ใหญ่กว่าในวิธีที่ชุมชนโอเพนซอร์สเข้าหาการพัฒนาที่ช่วยโดย AI ในขณะที่เครื่องมือ AI สามารถเพิ่มประสิทธิภาพการทำงานของนักพัฒนาที่มีประสบการณ์ได้อย่างมาก พวกมันอาจลดอุปสรรคในการเข้าร่วมสำหรับผู้มีส่วนร่วมที่ขาดความเชี่ยวชาญในการประเมินโค้ดที่สร้างขึ้นอย่างเหมาะสม
การอภิปรายเน้นย้ำถึงความตึงเครียดพื้นฐานในการพัฒนาซอฟต์แวร์สมัยใหม่: การสร้างสมดุลระหว่างประโยชน์ของการช่วยเหลือจาก AI กับความจำเป็นในการมีความเข้าใจและความรับผิดชอบของมนุษย์ เมื่อเครื่องมือ AI กลายเป็นที่ซับซ้อนและแพร่หลายมากขึ้น โปรเจกต์อย่าง Ghostty กำลังเป็นผู้นำในแนวทางการจัดการการเปลี่ยนแปลงนี้อย่างมีความรับผิดชอบ
ความสำเร็จของนโยบายดังกล่าวอาจมีอิทธิพลต่อวิธีที่โปรเจกต์โอเพนซอร์สหลักอื่น ๆ จัดการกับการมีส่วนร่วมที่ช่วยโดย AI ซึ่งอาจกำหนดมาตรฐานใหม่สำหรับความโปร่งใสและการควบคุมคุณภาพในการพัฒนาซอฟต์แวร์แบบร่วมมือ
อ้างอิง: Al tooling must be disclosed for contributions #8289