- ชุมชน QEMU ได้ปรับนโยบายล่าสุด โดยห้ามใช้เครื่องมือสร้างโค้ดด้วย AI (เช่น Copilot, ChatGPT เป็นต้น) และห้ามส่งโค้ดที่มาจากเครื่องมือดังกล่าว
define policy forbidding use of AI code generators
- ช่วงหลังมานี้ความสนใจต่อการใช้ เครื่องมือสร้างโค้ดด้วย AI เพิ่มสูงขึ้นมาก แต่การตีความด้านไลเซนส์ของผลลัพธ์จากเครื่องมือเหล่านี้ยังไม่ได้รับการยอมรับอย่างกว้างขวางในอุตสาหกรรม
- ผู้ให้บริการรายใหญ่ยืนยันว่า ไม่มีปัญหาและสามารถเลือกไลเซนส์ได้อย่างอิสระ แต่ฝ่ายเหล่านี้ก็มีผลประโยชน์ทับซ้อนอยู่
- เนื่องจากเครื่องมือสร้างโค้ดด้วย AI ถูกสร้างขึ้นจากข้อมูลฝึกที่อยู่ภายใต้ไลเซนส์หลากหลายประเภท จึงยังไม่มีฉันทามติในอุตสาหกรรมเกี่ยวกับปัญหาไลเซนส์ของผลลัพธ์
- QEMU กำหนดใน DCO (Developer Certificate of Origin) ว่าผู้มีส่วนร่วมต้องมีสิทธิอย่างชัดเจนในการนำโค้ดมามีส่วนร่วมภายใต้ไลเซนส์ของโครงการนั้น
- ระบุไว้อย่างชัดเจนว่า ในกรณีของโค้ดที่ใช้เครื่องมือสร้างโค้ดด้วย AI เป็นเรื่องยากที่จะพิสูจน์การปฏิบัติตามข้อ b/c ของ DCO
- ดังนั้นจึงนำนโยบายไม่อนุญาตให้มีการส่งโค้ดเข้าโครงการ QEMU หากมีการใช้เครื่องมือสร้างโค้ดด้วย AI อย่างชัดเจน หรือมีเหตุอันควรสงสัยว่าใช้มาใช้
ความยืดหยุ่นของนโยบายและการจัดการข้อยกเว้น
- ปัจจุบันยังอยู่ในช่วงเริ่มต้นของการพัฒนาซอฟต์แวร์แบบมี AI ช่วยเหลือ จึงมีโอกาสสูงที่ประเด็นทางกฎหมายจะได้รับการคลี่คลายในอนาคต
- คาดว่าเมื่อเครื่องมือพัฒนามากขึ้น ในอนาคตบางเครื่องมืออาจสามารถใช้งานกับโครงการโอเพนซอร์สได้อย่างปลอดภัย
- ขณะนี้จะใช้นโยบายที่เข้มงวดและปลอดภัยเป็นลำดับแรก และอาจผ่อนคลายในภายหลังหากจำเป็น
- คำขอยกเว้นจะถูกพิจารณาเป็นรายกรณีเพื่อตัดสินว่าจะอนุญาตหรือไม่
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
CONTRIBUTING.mdLLM-Generated Contribution Policy
ไลบรารี Color เป็นไลบรารีที่เต็มไปด้วยคณิตศาสตร์ซับซ้อนและการตัดสินใจที่ละเอียดอ่อน ทุก issue หรือ PR ต้องเขียนขึ้นบนพื้นฐานความเข้าใจอย่างลึกซึ้งของผู้ส่งเอง และโดยเฉพาะ PR นั้น นักพัฒนาต้องรับรอง DCO สำหรับแต่ละ commit หากใช้ความช่วยเหลือจาก LLM ในการทำ PR ต้องระบุให้ชัดใน commit message และใน PR หากตรวจพบการใช้ LLM โดยไม่มีหลักฐานยืนยัน PR จะถูกปฏิเสธ การส่งสิ่งที่ LLM สร้างขึ้นมาโดยไม่ผ่านการ review จะถูกปฏิเสธทันที
ใน
ในฐานะคนที่รับผิดชอบโปรเจ็กต์คนเดียว ฉันพยายามหาสมดุล แต่โดยส่วนตัวแล้วไม่ชอบ contribution โค้ดจาก LLMSECURITY.mdก็จะมี LLM-Generated Security Report Policy เช่นกัน โดยมีแผนจะไม่รับรายงานด้านความปลอดภัยที่ LLM สร้างขึ้นโดยเด็ดขาดฉันนึกแทบไม่ออกเลยว่าจะมีคนส่ง PR ทั้งที่ยังไม่เข้าใจโค้ดของตัวเองได้อย่างไร จึงแอบไม่พอใจนิดหน่อยที่เพราะคนแบบนั้น ฉันซึ่งใช้ LLM แค่ระดับ autocomplete กลับอาจโดนจำกัดไปด้วย
ฉันอยากสั่ง Copilot ให้ทำงานรีแฟกเตอร์อัตโนมัติบ้าง แต่พอลองแล้วส่วนใหญ่มันพังเละ และมักสร้างบล็อกใหม่ทั้งก้อน ทำให้ช้ากว่าทำเองด้วยมือเสียอีก
ที่น่าสนใจคือ ถ้าฉันกำลังพิมพ์บั๊กอยู่ Copilot ก็มักเติมบั๊กนั้นต่อให้เสร็จเลย มัน autocomplete แม้แต่ความผิดพลาดด้านบริบทที่ชัดเจน เช่น พิมพ์ชื่อตัวแปรผิด
งานระดับ high-level ที่ฉันทำ ฉันไม่มีทางยกให้ AI เด็ดขาด แต่ถ้าเป็นงานซ้ำ ๆ และความสำคัญต่ำ AI ก็รับไปช่วยเพิ่มความเร็วได้ เช่น ถ้าให้ Claude Code รับไฟล์ CSV ผล benchmark ฐานข้อมูล แล้วเชื่อมกับกราฟหลายแบบและการวิเคราะห์ outlier มันก็ทำงานที่เชิงแนวคิดง่าย แต่เสียเวลามากกับการหาไลบรารีหรือเซ็ตอัป ให้เสร็จได้อย่างรวดเร็ว
ฉันกำลังคิดอยู่เหมือนกันว่า “ความเข้าใจ” โค้ดหมายถึงอะไร โปรเจ็กต์หนึ่งที่ฉันทำคือใส่ storage backend ใหม่ทั้งหมดให้กับระบบ orchestration ของ VM เดิม ในฐานะคนที่ไม่รู้โค้ดเดิม ฉันก็หาเวลามานั่ง implement เองยาก แต่กำลังสร้าง test cluster และรันหลากหลายสถานการณ์ จนเข้าใจภาพรวมดีพอทั้งในมุมการออกแบบและการทดสอบ
ฉันเองก็เป็นผู้ดูแลโอเพนซอร์ส จึงนึกภาพออกว่าการมี PR แบบ LLM “slop” คุณภาพต่ำไหลเข้ามามันเครียดแค่ไหน สุดท้ายไม่ว่าผู้เขียนจะเข้าใจโค้ดหรือไม่ ผู้ดูแลก็ต้อง review อยู่ดี
ต่อไปคงต้องหาวิธีใช้เครื่องมือเหล่านี้อย่างเหมาะสม และส่งสัญญาณให้คนอื่นเห็นถึงระดับคุณภาพของโค้ดที่ส่งมา บทเรียนจากบั๊กละเอียดอ่อนที่พบในพอร์ต ZFS บน Linux ยุคแรกคือ การทดสอบอย่างเข้มงวดสำคัญมากพอ ๆ กับการที่มนุษย์ review และเขียนทีละบรรทัด
ในทางกลับกัน Dotnet Runtime กำลังรับ AI อย่างจริงจัง แม้คนนอกอาจหัวเราะ แต่ก็ควรสังเกตว่ามีวิศวกรชั้นยอดอย่าง Stephen Toub และ David Fowler สนับสนุนอยู่
สำหรับองค์กรต่าง ๆ อยากแนะนำว่า เมื่อ IBM มาเสนอขายบริการ AI ครั้งหน้า ให้มองหาพาร์ตเนอร์ที่มีวิสัยทัศน์อนาคตกว่านี้จริง ๆ
ในฐานะคนจาก North Carolina ก็หวังว่า IBM และ RedHat จะหาทิศทางที่ถูกต้องเจอ
เข้าใจคนที่หลีกเลี่ยง AI เพราะความเสี่ยงทางกฎหมาย แต่ก็สงสัยเหมือนกันว่าบางคนกังวลเกินไปหรือเปล่า คนที่คิดว่าตัวเองทำให้ความเป็นไปได้บางอย่างเป็นศูนย์ได้จริง ๆ คงยังคิดไม่รอบพอ
สมองของฉันเองก็เรียนรู้จากโค้ดซอร์สปิดมาเยอะเหมือนกัน จึงแขวะว่าการถกเถียงเรื่องลิขสิทธิ์ AI เป็นแนวคิด NIMBY แบบตะวันตก หากยังเอาแต่ปฏิเสธเทคโนโลยีเจ๋ง ๆ ด้วยข้ออ้างทางกฎหมายแบบ “ถ้าเกิดว่า” อารยธรรมตะวันตกอาจเสื่อมถอยเองได้
นอกเหนือจากการห้าม contribution จาก AI แล้ว กลับคิดว่าควรมีการกำหนดพื้นที่ชัดเจนด้วยว่า “ส่วนนี้ใช้ AI ได้” เช่น การเซ็ตอัป CI ของ QEMU ไม่ใช่พื้นที่แกนหลักด้านความปลอดภัย การ contribute สำหรับ test case หรือ environment ใหม่ ๆ ที่น่าสนใจ อาจเปิดให้ใช้ AI ได้ภายใต้เงื่อนไขบางอย่างก็ยังได้
ดังนั้น “ตอนนี้ยังไม่รับไปก่อน” จึงเป็นตัวเลือกที่ซับซ้อนน้อยกว่าและดราม่าน้อยกว่าสำหรับทุกฝ่าย
แนบลิงก์อ้างอิง ไลเซนส์ QEMU และ รายการไลเซนส์ที่ไม่เสรี
แต่ก็สงสัยเหมือนกันว่ามีวิธีไหนที่จะแยกโค้ดที่ AI สร้างออกจากโค้ดที่มนุษย์ไปคัดลอกจากที่อื่นมาได้จริง ๆ หรือไม่ โอเพนซอร์สเปิดให้ใครก็ได้ contribute อยู่แล้ว และมนุษย์เองก็ได้รับอิทธิพลจากซอร์สอื่นในโค้ดที่เขียนเหมือนกัน
ในมุมมองตอนนี้ ฉันคิดว่าโค้ดที่ AI สร้างขึ้นยังไม่ใช่สิ่งที่มีอัตลักษณ์อิสระในตัวเอง แต่ใกล้เคียงกับเครื่องมือในมือมนุษย์มากกว่า
รู้สึกว่าคงไม่จำเป็นต้องลากอุปมานี้ให้ยาวกว่านี้แล้ว
มันเหมือนกับฉันวาดรูปคนก้างปลาง่าย ๆ แล้วมีคนบอกว่า “รูปนี้อาจลอกมาจากรูปคนก้างปลาของคนอื่น คุณเลยไม่มีสิทธิ์ส่งมัน”
จุดประสงค์จริงของ policy นี้ สุดท้ายแล้วน่าจะเป็นการปูทางไว้มากกว่าว่า ถ้าวันหนึ่งมีใครส่งของที่ปนโค้ด AI มา ก็จะได้พูดว่า “เราห้ามไม่ได้จริง ๆ” คนร่าง policy เองก็คงไม่ใช่ว่าไม่รู้ว่ามันไม่มีความหมายเชิงปฏิบัติ
นอกจากประเด็นกฎหมายแล้ว เวลาใช้โค้ด AI ก็ยังมีปัญหาอื่น ๆ อีกหลายอย่างอย่างชัดเจน