
ที่มาภาพ: The Register
FreeBSD หยุดซิงค์พอรต์เนื่องจากคอมมิตไฟล์ Copilot ขนาดเกิน 100 MiB
⚡ สรุป 30 วิ
การคอมมิตไบนารี Copilot ที่มีขนาดเกินข้อจำกัดของ GitHub ทำให้การทำสำเนาพอร์ตไปยัง Github ล้มเหลวและสร้างไฟล์ที่มีลิขสิทธิ์ไม่ชัดเจน ผู้ใช้ FreeBSD ที่พึ่ง…
FreeBSD โครงการระงับการอัปเดตพอร์ตเป็นวันหยุดหลังจากพบคอมมิทที่บรรจุไฟล์ไบนารีของ Copilot ขนาดเกินขีดจำกัด 100 MiB ของ GitHub ทำให้การซิงค์ต้นไม้พอร์ตไปยัง Github ไม่สำเร็จและสร้างประวัติที่มีใบอนุญาตไม่ชัดเจน การหยุดทำงานนี้ส่งผลต่อผู้ใช้ FreeBSD ที่อาศัยระบบ Linuxulator เพื่อรันไบนารีของ Copilot บนแพลตฟอร์ม UNIX‑like
Overview
FreeBSD มีระบบ ports repository ที่ให้ผู้พัฒนาสามารถบรรจุซอฟต์แวร์ต่าง ๆ ให้พร้อมติดตั้งผ่าน `pkg` หรือคอมไพล์จากต้นฉบับ การทำสำเนา (mirroring) ของพอร์ตไปยัง Github เป็นส่วนหนึ่งของกระบวนการอัตโนมัติ เพื่อให้ผู้ใช้สามารถเข้าถึงโค้ดได้อย่างรวดเร็ว อย่างไรก็ตาม GitHub มีนโยบายบล็อกไฟล์ที่ใหญ่กว่า 100 MiB
คอมมิทที่เกี่ยวข้องถูกทำขึ้นโดยนักพัฒนาคนหนึ่งซึ่งเพิ่มไบนารีของ Copilot ลงในรีโพสิโตรีของพอร์ตโดยไม่ได้ตรวจสอบขนาดไฟล์และใบอนุญาต การกระทำนี้ทำให้ระบบการสำเนาไปยัง Github ล้มเหลวและสร้าง “blob” ที่มีลิขสิทธิ์ที่ไม่ชัดเจนตามที่อีเมลประกาศใน mailing list freebsd‑announce ระบุไว้
Incident Details
อีเมลแจ้งเหตุการณ์ซึ่งออกเมื่อวันที่ 21 กรกฎาคม 2026 บรรยายว่า คอมมิทดังกล่าว “severed our ports tree mirroring to github.com due to their filesize hard limit of 100 MB, and introduced a blob of questionable licensing into the repository history.” การระงับทำงานของพอร์ตรีโพสิโตรีเริ่มตั้งแต่วันนั้นและต่อเนื่องถึงวันถัดไป เพื่อป้องกันไม่ให้ผู้ใช้ได้รับไฟล์ที่อาจละเมิดลิขสิทธิ์หรือก่อให้เกิดข้อผิดพลาดในการดาวน์โหลด
คอมมิทที่เป็นสาเหตุสามารถตรวจสอบได้จากประวัติของ FreeBSD ports repository โดยตรง แม้ว่าจะไม่ได้ทำให้ระบบพอร์ตทั้งหมดหยุดทำงาน แต่การหยุดซิงค์อัตโนมัติส่งผลให้ผู้ใช้บางส่วนต้องรอจนกว่าปัญหาจะได้รับการแก้ไข
Licensing Issue
Copilot มีไบนารีที่จัดจำหน่ายภายใต้ใบอนุญาตเฉพาะของ Microsoft ซึ่งไม่สอดคล้องกับแนวทางเปิดแหล่งข้อมูลของ FreeBSD คำว่า “questionable licensing” ที่ Kyle Evans ของทีมพอร์ตใช้หมายถึงการนำไฟล์ที่มีลิขสิทธิ์แบบปิดมาใส่ในต้นไม้ที่ต้องเป็น open source
โดยทั่วไป พอร์ตของ Copilot ใน FreeBSD ไม่ได้เป็นเวอร์ชันเนทีฟสำหรับระบบนี้ แต่เป็นแพคเกจที่ทำให้ไบนารี Linux สามารถทำงานผ่าน Linuxulator ซึ่งเป็นชั้นจำลองการรันแอปพลิเคชัน Linux บน FreeBSD การเพิ่มไฟล์ CLI ของ Copilot ลงในพอร์ตโดยตรงจึงขัดต่อข้อกำหนดลิขสิทธิ์และแนวทางของโครงการ
Impact on FreeBSD Users
ผู้ใช้ที่พึ่งพา Linuxulator เพื่อรัน Copilot อาจพบว่าการติดตั้งผ่าน `pkg` หรือการคอมไพล์จาก ports จะไม่สำเร็จจนกว่าจะมีการลบหรือแก้ไขคอมมิทดังกล่าว ปัญหานี้ทำให้ผู้ดูแลระบบต้องตรวจสอบพาธของแพคเกจและอาจต้องดาวน์โหลดไบนารีโดยตรงจาก Microsoft แทน
แม้ว่าปัญหาไม่ได้ส่งผลกระทบต่อความปลอดภัยของระบบโดยตรง แต่การหยุดซิงค์หมายถึงการที่แหล่งข้อมูลสำรองใน Github จะไม่มีอัพเดตใหม่ ซึ่งอาจทำให้ผู้พัฒนาที่ใช้ Github เป็นจุดเข้าถึงหลักต้องรอคอยเวอร์ชันที่แก้ไข
Alternative VCS Landscape
ความยุ่งยากในการจัดการ Git ที่เป็นมาตรฐานส่วนใหญ่ของโครงการโอเพ่นซอร์สได้นำไปสู่การพัฒนาระบบควบคุมเวอร์ชัน (VCS) ที่เข้ากันได้กับ Git แต่เน้นความเรียบง่าย ตัวอย่างสำคัญ ได้แก่
- Game of Trees (Got) เวอร์ชัน 0.127: ระบบ VCS ที่พัฒนาโดยผู้ร่วมงานของ OpenBSD เริ่มต้นในปี 2019 โดยมุ่งเน้น “ease of use and simplicity over flexibility.”
- Gitless: สร้างบนพื้นฐาน Git เพื่อให้ใช้งานง่ายขึ้น แต่ดูเหมือนว่าจะหยุดพัฒนาตั้งแต่ปีเดียวกับ Got.
- **Jujutsu (Jj): ระบบ VCS ที่รองรับการทำงานร่วมกับ Git อย่างเต็มรูปแบบ แม้จะต้องอาศัยความคุ้นเคยกับแนวคิดของ VCS อยู่แล้ว
แม้ว่าระบบเหล่านี้ไม่ได้มุ่งหมายจะแทนที่ Git โดยตรง แต่ให้ทางเลือกสำหรับผู้ใช้หรือทีมพัฒนาที่รู้สึกว่าการทำงานกับ Git มีความซับซ้อนเกินไป การปรากฏตัวของ Got เพียงวันก่อนเหตุการณ์ใน FreeBSD แสดงให้เห็นถึงการสนใจเพิ่มขึ้นในการหาทางออกจากข้อจำกัดและปัญหาเช่นนี้
Analysis
เหตุการณ์นี้สะท้อนให้เห็นว่าการผสมผสานระหว่างระบบพอร์ตของ FreeBSD กับแพลตฟอร์มโฮสต์ภายนอกอย่าง GitHub ต้องมีการตรวจสอบไฟล์และใบอนุญาตอย่างเคร่งครัด การอัตโนมัติที่เชื่อมต่อหลายจุดอาจทำให้ข้อผิดพลาดเล็ก ๆ กลายเป็นปัญหาใหญ่ได้
นอกจากนี้ ความซับซ้อนของ Git ซึ่งแม้จะเป็นมาตรฐานแต่ยังคงมีข้อจำกัดด้านขนาดไฟล์และการจัดการประวัติ ทำให้ผู้ดูแลระบบต้องเตรียมแผนสำรองหรือใช้ VCS ทางเลือกที่อาจเหมาะสมกับโครงการบางประเภท การพัฒนาของ Got, Gitless และ Jujutsu แสดงให้เห็นว่าชุมชนกำลังค้นหาวิธีลดความยุ่งยากและเพิ่มประสิทธิภาพในการจัดการซอร์สโค้ด
สำหรับ FreeBSD เอง การตรวจสอบคอมมิทก่อนทำการสำเนาอาจเป็นขั้นตอนที่ต้องเสริมเข้ามาในกระบวนการ CI/CD เพื่อป้องกันเหตุการณ์ลักษณะนี้ในอนาคต ทั้งนี้การรักษาใบอนุญาตให้สอดคล้องกับนโยบายเปิดแหล่งข้อมูลของโครงการยังคงเป็นหัวใจสำคัญในการสร้างความเชื่อมั่นต่อผู้ใช้และนักพัฒนาที่ร่วมมือกันทั่วโลก
Summary
FreeBSD ระงับการอัปเดตพอร์ตเนื่องจากคอมมิทที่บรรจุไบนารี Copilot ขนาดเกินขีดจำกัดของ GitHub และมีใบอนุญาตที่ไม่สอดคล้องกับแนวทางเปิดแหล่งข้อมูล การหยุดทำงานนี้กระทบต่อการซิงค์และผู้ใช้ Linuxulator อย่างไรก็ตาม ตัวเลือก VCS ทางเลือกเช่น Got, Gitless และ Jujutsu กำลังได้รับความสนใจเพื่อแก้ไขปัญหาความซับซ้อนของ Git ในโครงการโอเพ่นซอร์ส.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- Dev accidentally commits Copilot binary to FreeBSD ports repo
- ผู้เขียน
- Unknown
- แหล่ง
- The Register
- วันที่เผยแพร่
- 25 กรกฎาคม 2569 เวลา 00:03



