Window Manager แบบมินิมอลจุดประกายการถอดเรื่องความซับซ้อนของซอฟต์แวร์และผลกระทบของ Wayland ต่อนวัตกรรม

ทีมชุมชน BigGo
Window Manager แบบมินิมอลจุดประกายการถอดเรื่องความซับซ้อนของซอฟต์แวร์และผลกระทบของ Wayland ต่อนวัตกรรม

Window manager แบบมินิมอลสุดขั้วใหม่ที่เรียกว่า mwm ได้จุดประกายการอย่างการอภิปรายอย่างร้อนแรงเกี่ยวกับ software bloat อนาคตของ Linux desktop environments และคำถามว่าการพัฒนาซอฟต์แวร์สมัยใหม่ได้หลงทางไปหรือไม่ Window manager ขนาด 20 บรรทัดนี้ตัดทิ้งเกือบทุกอย่างที่ผู้ใช้คาดหวังจากซอฟต์แวร์เดสก์ท็อป โดยเหลือไว้เพียงสิ่งจำเป็นพื้นฐานสำหรับการเปิดแอป สลับหน้าต่าง และปิดแอป

โปรเจกต์นี้แสดงให้เห็นแนวทางที่สุดขั้วของความเรียบง่ายของซอฟต์แวร์ ต่างจาก window manager แบบดั้งเดิมที่มี title bar เมนู และการควบคุมด้วยเมาส์ mwm แสดงเพียงแอปพลิเคชันเต็มจอหนึ่งแอปในแต่ละครั้ง ผู้ใช้สามารถนำทางผ่านแป้นพิมพ์ลัดเท่านั้น โดยสลับระหว่างแอปพลิเคชันต่างๆ โดยไม่มีตัวบ่งชี้ภาพหรือการตกแต่งหน้าต่างใดๆ

ข้อกำหนด Window Manager ของ mwm :

  • ขนาดโค้ด: 20 บรรทัดของโค้ด C
  • ฟีเจอร์ที่ถูกลบออก: ไม่มี title bar, status bar, ปุ่ม, เส้นขอบ, เมนู, การควบคุมด้วยเมาส์, virtual desktop หรือไฟล์กำหนดค่า
  • ฟังก์ชันหลัก: เปิดแอปพลิเคชัน, สลับระหว่างหน้าต่าง, ปิดหน้าต่าง
  • โหมดการแสดงผล: หน้าต่างทั้งหมดแสดงแบบเต็มหน้าจอ แสดงทีละหน้าต่าง
  • วิธีการป้อนข้อมูล: ใช้แป้นพิมพ์ลัดเท่านั้น
  • การปฏิบัติตามมาตรฐาน: ไม่เป็นไปตาม ICCCM

ปฏิกิริยาจากชุมชนเผยให้เห็นความแตกแยกทางเทคนิคอย่างลึกซึ้ง

การประกาศนี้ได้จุดประกายการถกเถียงอย่างร้อนแรงเกี่ยวกับสิ่งที่ถือว่าเป็นซอฟต์แวร์ที่ใช้งานได้ นักพัฒนาบางคนชื่นชมความเรียบง่ายที่สง่างามของโค้ด โดยเฉพาะการใช้ C macros อย่างสร้างสรรค์เพื่อสร้าง domain-specific language ภายในเพียงไม่กี่บรรทัด ส่วนคนอื่นๆ ตั้งคำถามว่าความเรียบง่ายแบบสุดขั้วเช่นนี้มีจุดประสงค์ที่เป็นประโยชน์ใดๆ นอกเหนือจากการฝึกหัดทางวิชาการหรือไม่

การอภิปรายได้พัฒนาไปสู่ความกังวลที่กว้างขึ้นเกี่ยวกับระบบนิเวศ Linux desktop ชุมชนสมาชิกจำนวนมากแสดงความหงุดหงิดต่อผลกระทบของ Wayland ที่มีต่อการพัฒนา window manager เชิงทดลอง โดยโต้แย้งว่าโปรโตคอลแสดงผลใหม่นี้ทำให้โปรเจกต์เฉพาะกลุ่มเกิดขึ้นและอยู่รอดได้ยากขึ้นอย่างมาก

ความขัดแย้งเรื่อง Wayland ขึ้นมาเป็นจุดสำคัญ

ส่วนสำคัญของการอภิปรายในชุมชนมุ่งเน้นไปที่วิธีที่ Wayland ได้เปลี่ยนแปลงภูมิทัศน์สำหรับการพัฒนา window manager ต่างจาก X11 ที่มีการแยกที่ชัดเจนระหว่าง display server และ window management Wayland รวมส่วนประกอบเหล่านี้เข้าด้วยกัน การเปลี่ยนแปลงสถาปัตยกรรมนี้หมายความว่านักพัฒนาต้องลงทุนความพยายามมากขึ้นเพื่อสร้างฟังก์ชันพื้นฐานที่ X11 ให้มาโดยไม่เสียค่าใช้จ่าย

แม้จะมีสิ่งต่างๆ เช่น wlroots คุณต้องลงทุนงานมากขึ้นเพื่อให้สิ่งพื้นฐานที่ X11 จะให้คุณฟรีๆ ทำงานได้

การถกเถียงสะท้อนความกังวลที่ลึกซึ้งยิ่งขึ้นเกี่ยวกับทิศทางของการพัฒนา Linux desktop บางคนโต้แย้งว่าการผลักดัน Wayland ให้ความสำคัญกับการมาตรฐานและประสิทธิภาพมากกว่าความหลากหลายเชิงทดลองที่เป็นลักษณะเฉพาะของระบบนิเวศ Linux มานาน คนอื่นๆ ยืนยันว่าการรวมศูนย์นี้จำเป็นสำหรับ Linux เพื่อแข่งขันกับ desktop environment ที่ขัดเกลามากกว่า

การเปรียบเทียบการพัฒนา X11 กับ Wayland:

  • แนวทาง X11: แยก display server และ window manager ออกจากกัน ทำให้ง่ายต่อการทำโปรเจกต์ทดลอง
  • แนวทาง Wayland: รวม display server และ compositor เข้าด้วยกัน ต้องใช้ความพยายามในการพัฒนามากกว่า
  • ผลกระทบต่อนวัตกรรม: มีอุปสรรคในการเข้าถึงที่สูงขึ้นสำหรับ window manager แบบเฉพาะทาง/ทดลอง
  • การสนับสนุนไลบรารี: มี wlroots พร้อมใช้งานสำหรับ Wayland แต่ยังคงต้องใช้งานที่ซับซ้อนเมื่อเทียบกับ X11
  • ไทม์ไลน์: การแจกแจงหลักกำลังวางแผนที่จะยกเลิกการสนับสนุน X11 ในรุ่นที่จะออกมา

คุณค่าทางเทคนิคเทียบกับคุณค่าเชิงปฏิบัติ

การดำเนินการทางเทคนิคของ mwm ได้รับทั้งความชื่นชมและการวิจารณ์ Window manager ทั้งหมดพอดีใน C file เดียวโดยใช้ macro definition ที่ชาญฉลาดซึ่งสร้าง domain-specific language ที่อ่านได้ ในขณะที่นักพัฒนาบางคนชื่นชมแนวทางนี้สำหรับคุณค่าทางการศึกษาและการสาธิตความสามารถของ X11 คนอื่นๆ โต้แย้งว่าความเรียบง่ายแบบสุดขั้วเช่นนี้เสียสละฟังก์ชันมากเกินไปจนไม่สามารถใช้งานได้จริง

โปรเจกต์นี้ยังเผชิญกับความขัดแย้งเรื่องชื่อ เนื่องจาก mwm ขัดแย้งกับ Motif Window Manager ดั้งเดิมที่เป็นส่วนหนึ่งของระบบ Unix มาตั้งแต่ต้นทศวรรษ 1990 การชนกันนี้เน้นย้ำถึงความท้าทายในการสร้างซอฟต์แวร์ใหม่ในระบบนิเวศที่มีประวัติศาสตร์สะสมมาหลายทศวรรษ

ผลกระทบต่อการพัฒนาเดสก์ท็อปในอนาคต

การอภิปรายรอบ window manager แบบมินิมอลนี้สะท้อนความตึงเครียดที่กว้างขึ้นในชุมชน Linux desktop ขณะที่ดิสทริบิวชันหลักเตรียมที่จะยกเลิกการสนับสนุน X11 เพื่อใช้ Wayland แทน คำถามเกิดขึ้นว่าสถาปัตยกรรมใหม่จะรักษาจิตวิญญาณเชิงทดลองที่ขับเคลื่อนนวัตกรรมเดสก์ท็อปบน Linux ไว้หรือไม่

การถกเถียงชี้ให้เห็นว่าแม้ว่า Wayland อาจให้ข้อได้เปรียบทางเทคนิคในด้านความปลอดภัยและประสิทธิภาพ แต่อาจแสดงถึงการเปลี่ยนแปลงปรัชญาไปสู่แนวทางที่เป็นมาตรฐานมากขึ้นและมีความหลากหลายน้อยลงที่เห็นในระบบปฏิบัติการเชิงพาณิชย์ ว่าการแลกเปลี่ยนนี้จะเป็นประโยชน์หรือเป็นอุปสรรคต่อระบบนิเวศ Linux desktop ยังคงเป็นคำถามที่เปิดอยู่ขณะที่การเปลี่ยนผ่านดำเนินต่อไป

อ้างอิง: mwm