ชุมชนผู้ใช้ Emacs กำลังเผชิญกับความปั่นป่วนครั้งสำคัญ เมื่อ Alan Mackenzie ผู้ดูแล CC Mode มาอย่างยาวนานได้ประกาศลาออกจากทีมพัฒนา Emacs ความขัดแย้งนี้มีจุดศูนย์กลางอยู่ที่การเปลี่ยนผ่านโครงการไปสู่โหมดภาษาที่ใช้ Tree-sitter และการจัดการสัญลักษณ์ namespace ซึ่งสะท้อนให้เห็นถึงปัญหาที่ลึกซึ้งในการกำกับดูแลโครงการโอเพนซอร์สและการตัดสินใจทางเทคนิค
ข้อพิพาททางเทคนิค
แก่นของความขัดแย้งอยู่ที่การแก้ไขชื่อสัญลักษณ์หลักอย่าง 'c-mode' และ 'c++-mode' ให้ชี้ไปยังการใช้งานแบบใหม่ที่ใช้ Tree-sitter แทนที่ CC Mode แบบดั้งเดิม การเปลี่ยนแปลงนี้ถูกดำเนินการผ่าน bug#69191 ซึ่งทำให้เวอร์ชัน Tree-sitter กลายเป็นค่าเริ่มต้นโดยไม่ได้ปรึกษากับผู้ดูแล CC Mode ก่อน ชุมชนนักพัฒนาได้สังเกตว่าแม้ Tree-sitter จะเป็นอนาคตของการแยกวิเคราะห์ไวยากรณ์ แต่วิธีการเปลี่ยนผ่านได้สร้างความขัดแย้งใน namespace และปัญหาความเข้ากันได้ที่อาจเกิดขึ้น
namespace ส่วนกลางของ elisp นั้นละเอียดอ่อน และการเปลี่ยนแปลงฝ่ายเดียวเช่นนี้โดยไม่ปรึกษาผู้ดูแลแพ็คเกจที่ได้รับผลกระทบถือเป็นสิ่งที่ไม่ควรทำอย่างยิ่ง
ประเด็นข้อขัดแย้งที่สำคัญ:
- ข้อพิพาทเกี่ยวกับการเป็นเจ้าของพื้นที่ชื่อสัญลักษณ์
- การเปลี่ยนผ่านจากการแยกวิเคราะห์แบบ regex ไปสู่ Tree-sitter
- การกำกับดูแลโครงการและกระบวนการสื่อสาร
- ผลกระทบต่อการตั้งค่าที่มีอยู่และโหมดที่พึ่งพา
การกำกับดูแลโครงการและการสื่อสาร
สถานการณ์นี้ได้เผยให้เห็นความตึงเครียดในกระบวนการพัฒนา Emacs โดยเฉพาะในแง่ของวิธีการดำเนินการเปลี่ยนแปลงครั้งสำคัญ แม้ว่า Emacs จะดำเนินการบนพื้นฐานของการสร้างฉันทามติผ่านการอภิปรายเปิดบน emacs-devel แต่เหตุการณ์นี้เผยให้เห็นช่องว่างในกระบวนการ การอภิปรายในชุมชนชี้ให้เห็นว่าแม้การควบคุมทางเทคนิคอาจไม่ใช่คำตอบ แต่การประสานงานทางสังคมมีความสำคัญอย่างยิ่งในโครงการที่โค้ดใช้ namespace ร่วมกัน
ผลกระทบต่อระบบนิเวศของ Emacs
การลาออกครั้งนี้สร้างความกังวลเกี่ยวกับผลกระทบต่อระบบนิเวศในวงกว้าง เนื่องจาก CC Mode เป็นรากฐานสำคัญของความสามารถในการเขียนโปรแกรมของ Emacs มาหลายทศวรรษ โหมดภาษาจำนวนมากถูกสร้างขึ้นบนพื้นฐานของ C-mode ทำให้การเปลี่ยนผ่านนี้มีความละเอียดอ่อนเป็นพิเศษ ผู้ใช้รายงานผลกระทบในทางปฏิบัติ เช่น ความขัดแย้งในการตั้งค่าและความจำเป็นในการอัปเดตการตั้งค่าที่มีอยู่ ในขณะที่นักพัฒนาต้องหาสมดุลระหว่างการรักษาความเข้ากันได้กับระบบเก่าและการรับเอาเครื่องมือสมัยใหม่มาใช้
มองไปข้างหน้า
เหตุการณ์นี้เป็นตัวเร่งให้เกิดการอภิปรายในวงกว้างเกี่ยวกับการกำกับดูแลโครงการ หนี้ทางเทคนิค และความท้าทายในการทำให้โครงการโอเพนซอร์สที่มีมายาวนานทันสมัย แม้ว่าการผสานรวม Tree-sitter จะเป็นความก้าวหน้าทางเทคนิค แต่ชุมชนเน้นย้ำถึงความสำคัญของการจัดการการเปลี่ยนผ่านโดยเคารพทั้งผู้ดูแลที่มีอยู่และแนวทางปฏิบัติที่กำหนดไว้
แหล่งที่มา: My resignation from Emacs development