- ไลบรารีตรวจจับการเข้ารหัสตัวอักษรของ Python อย่าง chardet ถูกรีอิมพลีเมนต์ใหม่ด้วย AI และ เปลี่ยนจาก LGPL เป็น MIT จนจุดชนวนข้อถกเถียงด้านจริยธรรมโอเพนซอร์ส
- มีความเห็นที่ยอมรับว่า การรีอิมพลีเมนต์ด้วย AI นั้นถูกกฎหมาย แต่บทความนี้เน้นว่า สิ่งที่กฎหมายอนุญาตกับสิ่งที่ชอบธรรมทางสังคมไม่ใช่เรื่องเดียวกัน
- การรีอิมพลีเมนต์ในประวัติศาสตร์ของ GNU และ Linux คือการ ขยายจากซอฟต์แวร์กรรมสิทธิ์ไปสู่เสรีภาพ แต่กรณีนี้กลับทำงานในทิศทางที่ ทำให้การคุ้มครองทรัพยากรส่วนรวมอ่อนแอลง
- เงื่อนไขการแบ่งปันของ GPL ไม่ใช่ข้อจำกัด แต่เป็นกลไกที่รับประกันการแบ่งปันแบบต่างตอบแทน และ เสรีภาพแบบ MIT ก่อให้เกิดโครงสร้างไม่สมมาตรที่ผลประโยชน์ไหลไปยังฝ่ายที่มีทุนมากกว่าเท่านั้น
- ยิ่งในยุคที่ AI ทำให้การหลบเลี่ยง copyleft ได้ง่ายขึ้น หลักการที่ว่า ผู้ที่ได้ประโยชน์จากทรัพยากรส่วนรวมต้องคืนกลับสู่ทรัพยากรส่วนรวม ก็ยิ่งสำคัญมากขึ้น
การรีอิมพลีเมนต์ด้วย AI และการเปลี่ยนไลเซนส์ของ chardet 7.0
- ไลบรารี chardet ของ Python ถูกเขียนขึ้นใหม่ทั้งหมดโดยใช้ Claude ของ Anthropic
- เวอร์ชันใหม่ เร็วขึ้น 48 เท่าและเพิ่มการรองรับมัลติคอร์
- ความคล้ายคลึงของโค้ดถูกวัดว่า ต่ำกว่า 1.3% จึงถือเป็นงานสร้างสรรค์อิสระ
- มีการเปลี่ยนจาก ไลเซนส์ LGPL เดิมไปเป็น ไลเซนส์ MIT ทำให้ภาระผูกพันในการเปิดเผยซอร์สโค้ดหายไป
- ผู้เขียนดั้งเดิม Mark Pilgrim ตั้งข้อสังเกตผ่าน GitHub issue ว่าอาจมี ความเป็นไปได้ในการละเมิด LGPL
- เขาโต้แย้งว่าการรีอิมพลีเมนต์ขณะ AI ได้รับการเปิดให้เห็นโค้ดเดิมนั้น ยากจะถือเป็นวิธีแบบ ‘clean room’
ปฏิกิริยาที่สวนทางกันจากบุคคลในวงการโอเพนซอร์ส
- Armin Ronacher (ผู้สร้าง Flask) ยินดีกับการรีไลเซนส์ และอ้างว่า GPL ขัดกับจิตวิญญาณแห่งการแบ่งปัน
- Salvatore Sanfilippo (antirez, ผู้สร้าง Redis) ปกป้อง ความชอบด้วยกฎหมายของการรีอิมพลีเมนต์ด้วย AI โดยอ้างอิงประวัติศาสตร์ GNU และกฎหมายลิขสิทธิ์
- ทั้งสองคนต่าง ทำให้การอนุญาตทางกฎหมายเท่ากับความชอบธรรม แต่บทความนี้ชี้ให้เห็น ช่องว่างระหว่างกฎหมายกับจริยธรรม เป็นประเด็นสำคัญ
ความต่างของประวัติศาสตร์ GNU และทิศทาง
- การรีอิมพลีเมนต์ของ GNU เป็นกระบวนการ เปลี่ยนซอฟต์แวร์กรรมสิทธิ์ให้เป็นซอฟต์แวร์เสรี
- หัวใจสำคัญไม่ใช่การได้รับอนุญาตตามกฎหมาย แต่เป็น ทิศทางทางจริยธรรมในการขยายทรัพยากรส่วนรวม
- ในทางกลับกัน กรณีของ chardet กลับทำงานในทิศทางของ การถอดการคุ้มครองแบบ copyleft และ รื้อรั้วที่ปกป้องทรัพยากรส่วนรวม
- งานดัดแปลงที่อิงจาก chardet 7.0 จะไม่ต้องแบกรับ ภาระผูกพันในการเปิดเผยซอร์สโค้ด อีกต่อไป
- antirez มองข้าม ความเป็นคนละทิศทางกัน นี้ และใช้บรรทัดฐานของ GNU เป็นเหตุผลอย่างคลาดเคลื่อน
ความหมายของ GPL และการแบ่งปัน
- Ronacher อ้างว่า GPL จำกัดการแบ่งปัน แต่บทความนี้ชี้ว่านี่คือ ความเข้าใจผิดอย่างรากฐาน
- GPL กำหนดให้เปิดเผยซอร์สโค้ด เฉพาะเมื่อมีการแจกจ่าย เท่านั้น และไม่มีข้อจำกัดต่อการใช้งานส่วนตัว
- นี่คือกลไกที่รับประกัน การแบ่งปันแบบต่างตอบแทน ไม่ใช่การกีดกันการแบ่งปัน
- ไลเซนส์ MIT ให้อิสระแก่ผู้รับโค้ด แต่ ไม่มีหน้าที่ต้องส่งคืนผลงานกลับมาเป็นส่วนรวม
- ผลลัพธ์คือโครงสร้างที่ ผลประโยชน์กระจุกอยู่กับฝ่ายที่มีทุนและกำลังคนมากกว่า
- กรณีในทศวรรษ 1990 ที่โค้ด GPL ถูกบริษัทดูดซับไป แสดงให้เห็น ความจำเป็นของการเสริมความแข็งแรงให้ copyleft
กรณีย้อนแย้งในตัวเอง: Vercel และ Cloudflare
- Vercel รีอิมพลีเมนต์ GNU Bash ด้วย AI แล้วเมื่อ Cloudflare รีอิมพลีเมนต์ Next.js กลับแสดงความไม่พอใจ
- Next.js ใช้ไลเซนส์ MIT จึง ไม่มีปัญหาทางกฎหมาย
- สิ่งนี้เผยให้เห็นความย้อนแย้งที่ว่า แม้จะพูดว่า “การเปลี่ยน GPL เป็น MIT คือชัยชนะของการแบ่งปัน” แต่เมื่อ โค้ดของตัวเองถูกรีอิมพลีเมนต์กลับต่อต้าน
- Ronacher ยอมรับจุดนี้ แต่ก็ไม่เปลี่ยนข้อสรุป จึงถูกประเมินว่าเป็น ข้อสรุปที่ตั้งตามจุดยืนมากกว่าตามตรรกะ
การแยกความต่างระหว่างความถูกกฎหมายกับความชอบธรรม
- กฎหมายมีหน้าที่เพียงกำหนดว่า การกระทำใดไม่ถูกห้าม ไม่ได้ รับประกันว่าถูกต้อง
- มีการกระทำที่ถูกกฎหมายแต่ ไม่เป็นประโยชน์ต่อสังคม อยู่จริง เช่น การหลีกเลี่ยงภาษีหรือการขึ้นราคายา
- LGPL ของ chardet ไม่ใช่เพียงเครื่องมือทางกฎหมาย แต่เป็น คำมั่นทางสังคมตลอด 12 ปี
- เป็นข้อตกลงบนฐานความไว้วางใจว่า “ถ้าใช้โค้ดนี้ ก็จะแบ่งปันภายใต้เงื่อนไขเดียวกัน”
- แม้การรีอิมพลีเมนต์ด้วย AI จะถือเป็นงานใหม่ในทางกฎหมาย แต่ก็เป็น การทำลายความไว้วางใจกับผู้มีส่วนร่วม
- Zoë Kooyman แห่ง FSF ระบุชัดว่า “การไม่มอบสิทธิที่ตนได้รับต่อให้ผู้อื่น คือการกระทำที่ไม่เป็นคุณต่อสังคม”
ความไม่สมมาตรของมุมมอง
- antirez และ Ronacher เป็น บุคคลศูนย์กลางในโลกโอเพนซอร์ส ทำให้การรีอิมพลีเมนต์ด้วย AI หมายถึง สภาพแวดล้อมที่เป็นประโยชน์ต่อพวกเขา
- แต่สำหรับผู้มีส่วนร่วมใน chardet สิ่งนี้กลับหมายถึง การสูญเสียการคุ้มครองต่อผลงานที่ตนร่วมสร้าง
- การพูดว่า “ไม่มีปัญหาทางกฎหมาย” โดยมองข้ามความไม่สมมาตรนี้ จึงถูกมองว่าเป็น การหาเหตุผลเข้าข้างตนเองมากกว่าการวิเคราะห์
อนาคตของ copyleft และการตัดสินทางสังคม
- Bruce Perens เตือนว่า “เศรษฐศาสตร์ของการพัฒนาซอฟต์แวร์ได้สิ้นสุดลงแล้ว”
- antirez ตอบว่า “ต้องปรับตัว” ส่วน Ronacher บอกว่า “น่าสนใจ”
- แต่ประเด็นหลักคือคำถามว่า “ยิ่ง copyleft ถูกหลบเลี่ยงได้ง่ายขึ้น ก็ยิ่งจำเป็นมากขึ้นหรือไม่”
- บทความนี้ตอบอย่างชัดเจนว่า “ใช่”
- GPL ไม่ได้ปกป้องความหายากของโค้ด แต่ปกป้อง เสรีภาพของผู้ใช้
- ยิ่ง AI ทำให้การรีอิมพลีเมนต์ง่ายขึ้น แรงเสียดทานในการถอด copyleft ก็ยิ่งลดลง
- หลักการที่ว่า “ผู้ที่ได้มาจากทรัพยากรส่วนรวมต้องคืนกลับสู่ทรัพยากรส่วนรวม” คือ บรรทัดฐานทางสังคม ที่ไม่ขึ้นกับเวลาหรือการเปลี่ยนแปลงทางเทคโนโลยี
- กฎหมายเปลี่ยนช้า แต่ การตัดสินเชิงคุณค่าของชุมชนมักขยับก่อนเสมอ
- วิวัฒนาการจาก GPLv2 → v3 → AGPL เองก็เป็นกรณีที่ การตัดสินของชุมชนมาก่อนกฎหมาย
- ในยุค AI ควรขยายการคุ้มครองแบบ copyleft ไปถึง test suite และข้อกำหนด API ด้วย
- โดยสรุป บทความย้ำว่าควรมี การตัดสินทางสังคม ก่อนคำตัดสินทางกฎหมาย และ
ความถูกกฎหมายไม่อาจใช้แทนความชอบธรรมได้
1 ความคิดเห็น
ความเห็นจาก Hacker News
ตอนนี้ถ้าสามารถสร้างซอร์สโค้ดได้จากแค่ สเปก (specification) ทรัพย์สินทางปัญญาหลักของโปรเจกต์ GPL ก็จะไปอยู่ที่ตัวสเปก
ในอดีตเราเคยต่อสู้เพื่อให้การเลียนแบบซอฟต์แวร์ของบริษัทเป็นสิ่งที่กฎหมายอนุญาตได้ แต่ตอนนี้กลับกลายเป็นว่าเรากำลังยอมสละสิทธินั้นเอง และเปิดทางให้ ผู้ถือสิทธิ์ในทรัพย์สินทางปัญญา มีอำนาจควบคุมมากขึ้น
แนวโน้มแบบนี้จะไม่ได้นำไปสู่ผลลัพธ์ที่ต่อต้านบริษัทยักษ์ใหญ่หรือเป็นมิตรกับการแบ่งปัน สุดท้ายผู้ที่ใช้อำนาจนี้ก็คือบริษัทยักษ์ใหญ่อยู่ดี
ตอนนี้ยุคสมัยเปลี่ยนไปอย่างสิ้นเชิงแล้ว ข้ออ้างที่ยกมานี้ก็แค่ทำซ้ำประเด็นที่ถูกวิจารณ์ไปแล้ว
ถ้าเห็นด้วยกับการถกเถียงนี้ แนะนำให้อ่านบทความต้นฉบับด้วยตัวเอง
สิ่งที่ผมสนใจคือ ปรากฏการณ์นี้จะไม่ได้แค่ก้าวข้ามเรื่องลิขสิทธิ์ แต่อาจถึงขั้นทำลายแนวคิดเรื่อง ทรัพย์สินทางปัญญา (IP) ทั้งระบบได้หรือไม่
IP ถูกสร้างขึ้นบนสมมติฐานว่า ‘ความคิดสร้างสรรค์เป็นเรื่องยาก’ แต่ตอนนี้ LLM กำลังทำให้ การสร้างความรู้ เกือบทุกอย่างเป็นอัตโนมัติ ไม่ว่าจะเป็นการพิสูจน์คณิตศาสตร์หรือการออกแบบยาใหม่
ถ้าอย่างนั้นยังมีเหตุผลอะไรที่จะให้สิทธิผูกขาดกับงานสร้างสรรค์ที่ไม่ ‘ยาก’ อีกต่อไปหรือ? ท้ายที่สุด AI ก็จะมองแม้แต่สิทธิบัตรเป็นแค่ข้อจำกัดชุดหนึ่งแล้วหาทางอ้อมมัน
ปัจจุบันตามกฎหมาย ผลงานที่ AI สร้างขึ้นไม่ได้รับความคุ้มครองลิขสิทธิ์ และจะได้รับความคุ้มครองก็ต่อเมื่อมีการแทรกแซงอย่างมีนัยสำคัญจากมนุษย์
ผลลัพธ์ที่มนุษย์ลงแรงสร้างควรถูกปกป้องไม่ให้บริษัทยักษ์ใหญ่นำไปใช้ฟรี
เพียงแต่ผู้ที่แก้ปัญหาเหล่านั้นอาจไม่ใช่มนุษย์ก็ได้
พอคอมพิวเตอร์ถือกำเนิดขึ้นมันก็ควรหมดความหมายไปแล้ว แต่ยังอยู่รอดได้ด้วยแรงล็อบบี้
ตอนนี้ AI อาจเป็น ตะปูตัวสุดท้ายที่ตอกปิดฝาโลง ของมัน
สุดท้ายสิ่งสำคัญคือ weights ของโมเดล ซึ่งควรถูกเปิดเผยให้ทุกคนเข้าถึงได้ หรือไม่ก็ต้องถูกบังคับให้เปิด
น่าจะต้องมีใครสักคนลองทดสอบเรื่องนี้จริง ๆ
เช่นเอา ซอร์สโค้ด Minecraft ที่รั่วไหล ไปป้อนให้ Copilot แล้วให้มันสร้างสำเนาที่เหมือนกันทุกอย่างในอีกภาษาโปรแกรมหนึ่ง จากนั้นก็ปล่อยเป็นโอเพนซอร์ส
ผมอยากรู้ว่า Microsoft จะอ้างว่านั่นเป็นการละเมิดลิขสิทธิ์หรือเปล่า
ทางที่ดีกว่าคือบอกให้ “สร้าง Minecraft ขึ้นมาใหม่ตั้งแต่ต้น”
แต่แน่นอนว่าจะเอา texture หรือ model เดิมมาใช้ไม่ได้ ดังนั้น AI ต้องสร้างใหม่เอง
ตัวอย่างของคุณเป็นกรณีที่มีโอกาสละเมิดชัดเจนกว่ามาก
ถ้าใช้ LLM ลบไลเซนส์ออกจาก ซอร์สโค้ด Windows ที่รั่วไหล แล้วสร้างโค้ดสำหรับ WINE ขึ้นมาจะเป็นอย่างไร?
ช่วงนี้ก็มีการพูดถึงการใช้ LLM เพื่อ binary decompilation กันอย่างคึกคักเช่นกัน
มีบุคคลสองคนจากฝั่งโอเพนซอร์สเข้ามาร่วมถกเถียง แต่ทั้งคู่ไม่ใช่ ทนายด้าน IP
มี Richard Fontana ซึ่งเป็นทนายตัวจริงเข้าร่วมด้วย แต่ issue ของเขาถูกปิดไปแล้ว
เขาชี้ไว้ใน GitHub issue ว่า “โดยทั่วไปแล้วสิ่งที่ AI สร้างขึ้นไม่ได้รับความคุ้มครองลิขสิทธิ์”
หมายความว่า ถ้ามนุษย์ไม่ได้แก้โค้ดด้วยตัวเองและเพียงแค่ เขียนพรอมป์ต์ การติด MIT license ให้โค้ดนั้นก็มีนัยทางกฎหมายอย่างมาก
จริง ๆ แล้วมันคล้ายกับ การถ่ายภาพ มากกว่า กล้องไม่ได้เป็นเจ้าของลิขสิทธิ์ แต่มนุษย์เป็นเจ้าของได้
เราไม่จำเป็นต้องแทรกแซงถึงระดับพิกเซลเพื่อให้งานนั้นถูกนับเป็นงานสร้างสรรค์ของมนุษย์
ถ้ามองประวัติของ GPL มันคือความพยายามที่จะ ใช้ลิขสิทธิ์สู้กับลิขสิทธิ์
ชื่อ ‘Copyleft’ เองก็สะท้อนความหมายนี้
แต่ AI กำลังกัดกร่อนตัวลิขสิทธิ์เอง
ตอนนี้ไม่ใช่แค่โปรแกรม GPL เท่านั้น แม้แต่ ซอฟต์แวร์ปิดซอร์ส ก็สามารถถูก AI สร้างขึ้นใหม่ได้
ถ้าอย่างนั้น GNU ก็ควรเลิกยึด GPL แล้วหันมาใช้ LLM เป็นอาวุธใหม่
สิ่งนี้กลับยิ่งบั่นทอนเสรีภาพของโอเพนซอร์ส และย้ายอำนาจไปอยู่กับบริษัทยักษ์ใหญ่มากขึ้น
อีกทั้ง LLM ยังเรียนรู้จาก โค้ดของอาสาสมัครจำนวนมาก แต่ผลประโยชน์กลับตกไปอยู่กับบริษัทยักษ์ใหญ่
สุดท้ายเสน่ห์ของโอเพนซอร์สอาจลดลง และความเคารพต่อไลเซนส์ก็อาจหายไปด้วย
โดยเฉพาะการรับประกันว่าผู้ใช้มีสิทธิแก้ไขซอฟต์แวร์ที่ทำงานอยู่บนอุปกรณ์ของตนเอง
แต่ถ้ามีการจำกัดเครื่องมือ คีย์ หรือสเปกบางอย่างไว้ การสร้างขึ้นใหม่ก็อาจทำไม่ได้
สุดท้ายมันอาจกลายเป็นการยืม อาวุธของ ‘บริษัทชั่วร้าย’ มาสู้ก็ได้
ผมคิดว่าได้เกิด การละเมิดไลเซนส์ ขึ้นแล้ว
โมเดลขนาดใหญ่ส่วนมากละเมิดข้อกำหนดการให้บริการระหว่างกระบวนการเก็บข้อมูล
ดังนั้นโมเดลที่ฝึกด้วยโค้ด GPL ก็ควรถูกมองว่า ติดเชื้อ (infect) ภาระหน้าที่ของโอเพนไลเซนส์ไปด้วย
ในทางกฎหมาย สิ่งสำคัญคือ ① ได้ข้อมูลมาอย่างถูกกฎหมายหรือไม่ ② ผลลัพธ์มี การแสดงออกที่เป็นต้นฉบับ หรือไม่
ในกรณีนี้มีการยืนยันแล้วว่า 98.7% เป็นโค้ดใหม่
ประเด็นจริงคือ ผลลัพธ์มีความเป็น transformative มากแค่ไหน
นี่ก็เป็นประเด็นหลักของคดี NYT vs OpenAI เช่นกัน
Blanchard บอกว่า “เขาป้อนแค่ API กับเทสต์เข้าไปใน Claude แล้วให้มันสร้างขึ้นใหม่”
แต่มันฟังดูคล้ายกับการพูดว่า “ฉันปิดตาแล้วสาดสีใส่ผ้าใบ แต่ดันออกมาเป็นรูป Mickey Mouse”
เขาเป็นผู้ดูแลโค้ดเดิมอยู่แล้ว จึงยากจะมองว่าเป็นการทำอย่างเป็นอิสระโดยสมบูรณ์
ถ้าป้อนโค้ดต้นฉบับเข้าไปเพื่อให้มันสร้างสำเนาออกมา นั่นก็ยังเป็น การละเมิดลิขสิทธิ์
ถ้า AI เป็นแค่เครื่องมือ ผู้ใช้ก็ต้องรับผิดชอบ และถ้ามันเป็นผู้กระทำที่เป็นอิสระ มันก็ยังเป็นฝ่ายละเมิดอยู่ดี
ตราบใดที่ไม่ได้คัดลอกองค์ประกอบเชิงการแสดงออกมาโดยตรง
ถ้า Blanchard เปิดเผยพรอมป์ต์ทั้งหมด ใคร ๆ ก็น่าจะทำผลลัพธ์แบบเดียวกันซ้ำได้
เท่าที่ผมเข้าใจ เขาเพียงอ้างว่า Claude ไม่ได้เห็นโค้ดเท่านั้น
ตามบทความ Claude ได้รับแค่ API กับเทสต์ แล้วก็สร้างไลบรารีขึ้นใหม่
แต่ GPL2 ถือว่า test suite ก็เป็น ส่วนหนึ่งของซอร์สโค้ด เช่นกัน
ถ้าอย่างนั้นถ้า Claude ใช้เทสต์ ผลลัพธ์ก็อาจถือเป็น งานดัดแปลงที่อิงจากงานต้นฉบับ ภายใต้ LGPL 2.1
เพียงแต่อาจไม่สามารถแจกจ่ายเทสต์ภายใต้ MIT license ได้
ดังนั้นทางปฏิบัติที่สมจริงกว่าคือแจกจ่ายเฉพาะโค้ดภายใต้ MIT และแจกจ่ายเทสต์ควบคู่ภายใต้ LGPL
test case ก็อาจถูกมองว่าเป็นส่วนหนึ่งของการใช้ API ได้เช่นกัน
ในบริษัทของเรา ทีมความปลอดภัยเริ่มใช้ การสร้างขึ้นใหม่ด้วย AI เพื่อจะได้ใช้เครื่องมือที่ทีม security ไม่อนุมัติ
ทีม security ใช้นโยบาย ‘ปฏิเสธเป็นค่าเริ่มต้น’ ขณะที่ทีมวิศวกรรมใช้นโยบาย ‘ใช้ AI ให้เต็มที่’
สุดท้ายเลยเกิดโครงสร้างแรงจูงใจประหลาดที่ทำให้คนเลือกสร้างเครื่องมือภายในขึ้นมาใหม่ด้วย AI
ถ้าต้องการผลลัพธ์ที่ต่างออกไป ก็ต้องเริ่มจากการออกแบบ แรงจูงใจ ใหม่
ถ้า AI สามารถเขียนโค้ดด้านความปลอดภัยซ้ำ ๆ ได้ดี
แล้วทำไมเราถึงเชื่อว่า AI ตัวเดียวกันจะตรวจสอบความปลอดภัยของซอฟต์แวร์จากภายนอกไม่ได้?
ผมอยากถามว่าทำไมจึงมี ความไม่สมมาตรระหว่างการผลิตกับการวิเคราะห์ แบบนี้
เงื่อนไขของ GPL จะเริ่มมีผลก็ต่อเมื่อมี การแจกจ่าย (distribution) เท่านั้น
เมื่อมีการแจกจ่ายโค้ดที่แก้ไขแล้ว หรือให้บริการผ่านเครือข่าย ก็ต้องเปิดเผยซอร์ส
แต่การให้บริการผ่านเครือข่ายไม่ถือเป็นการแจกจ่าย ดังนั้นจึงมีการสร้าง AGPL ขึ้นมาเพื่ออุดช่องโหว่นี้