XML Schema ขนาด 8,000 หน้าของ Microsoft จุดประกายการถ่ายเทเรื่องความซับซ้อนที่เจตนา เทียบกับความต้องการของระบบเดิม

ทีมชุมชน BigGo
XML Schema ขนาด 8,000 หน้าของ Microsoft จุดประกายการถ่ายเทเรื่องความซับซ้อนที่เจตนา เทียบกับความต้องการของระบบเดิม

ชุมชนเทคโนโลยีกำลังมีส่วนร่วมในการอภิปรายอย่างเข้มข้นเกี่ยวกับว่าฟอร์แมต Office Open XML (OOXML) ของ Microsoft นั้นแสดงถึงการล็อกอินผู้ขายโดยเจตนาผ่านความซับซ้อนที่เทียม หรือเพียงแค่สะท้อนถึงวิวัฒนาการตามธรรมชาติของมาตรฐานเอกสารที่ครอบคลุม การถกเถียงมีจุดศูนย์กลางอยู่ที่เอกสาร XML schema ของ Microsoft ซึ่งมีความยาวกว่า 8,000 หน้าและรวมถึงโครงสร้างที่ซ้อนกันลึกซึ่งนักวิจารณ์โต้แย้งว่าทำให้การนำไปใช้งานโดยบุคคลที่สามเป็นไปไม่ได้เกือบจะ

ลักษณะความซับซ้อนของ Microsoft OOXML:

  • เอกสารประกอบ: มากกว่า 8,000 หน้า
  • โครงสร้าง: ลำดับชั้นของแท็กที่ซ้อนกันอย่างลึก
  • องค์ประกอบ: ส่วนประกอบเสริมหรือโอเวอร์โหลดหลายร้อยตัว
  • คุณสมบัติ: จุดขยาย, ไวลด์การ์ด, เนมสเปซหลายตัว
  • การรองรับระบบเก่า: ความเข้ากันได้กับรูปแบบไบนารีของ WordPerfect และ Office เป็นเวลาหลายทศวรรษ

ความขัดแย้งเรื่องความซับซ้อน

ใจกลางของการอภิปรายอยู่ที่คำถามพื้นฐาน: ฟอร์แมต OOXML ของ Microsoft ซับซ้อนเกินไปโดยเจตนาเพื่อป้องกันคู่แข่งจากการสร้างซอฟต์แวร์ที่เข้ากันได้หรือไม่? ฟอร์แมตนี้รวมถึงคุณสมบัติต่างๆ เช่น โครงสร้างแท็กที่ซ้อนกันลึก การนามธรรมที่มากเกินไป องค์ประกอบเสริมหลายร้อยรายการ และลำดับชั้นประเภทที่ซับซ้อน นักวิจารณ์โต้แย้งว่าสิ่งนี้สร้างอุปสรรคที่คล้ายกับระบบรถไฟที่รางเปิดให้ทุกคน แต่ระบบควบคุมซับซ้อนมากจนมีเพียงผู้ผลิตต้นฉบับเท่านั้นที่สามารถใช้งานรถไฟได้อย่างมีประสิทธิภาพ

อย่างไรก็ตาม นักพัฒนาหลายคนปฏิเสธข้อกล่าวหาเรื่องเจตนาร้าย พวกเขาชี้ให้เห็นว่า OOXML ต้องจับคุณสมบัติเดิมหลายทศวรรษจาก WordPerfect และฟอร์แมตไบนารี Office ต่างๆ ในขณะที่รักษาความเข้ากันได้แบบย้อนหลัง ความซับซ้อนไม่ใช่สิ่งเทียม แต่สะท้อนถึงคุณสมบัติและลักษณะเฉพาะที่สะสมมาเป็นเวลา 40 ปีของวิวัฒนาการการประมวลผลคำ

ความเป็นจริงของวิวัฒนาการฟอร์แมตเอกสาร

การอภิปรายของชุมชนเผยให้เห็นภาพที่มีความแตกต่างมากขึ้นของวิธีที่ฟอร์แมตเอกสารกลายเป็นสิ่งที่ซับซ้อนเมื่อเวลาผ่านไป นักพัฒนาในอุตสาหกรรมธนาคารระบุว่า XML schemas ของพวกเขามักจะมีขนาดหลายสิบเมกะไบต์ โดยมีเอกสารที่เกิน 8,000 หน้าของ Microsoft อย่างมาก สิ่งนี้ชี้ให้เห็นว่าความซับซ้อนใน XML schemas ขององค์กรเป็นเรื่องปกติในหลายอุตสาหกรรม ไม่ใช่เฉพาะของ Microsoft

ความซับซ้อนไม่ใช่สิ่งเทียม มันเป็นสิ่งที่เกิดขึ้นเองและเป็นธรรมชาติอย่างสมบูรณ์ มันเป็นความซับซ้อนที่เกิดขึ้นโดยบังเอิญจากประวัติศาสตร์หลายทศวรรษ ความเข้ากันได้แบบย้อนหลัง การแสดงความเคารพต่อความเปิดกว้าง และการติ๊กช่องทำเครื่องหมายการปฏิบัติตามกฎระเบียบ

ความท้าทายกลายเป็นสิ่งที่ชัดเจนโดยเฉพาะเมื่อพิจารณาว่าฟอร์แมตไฟล์เหล่านี้โดยพื้นฐานแล้วทำหน้าที่เป็นสถานะแอปพลิเคชันที่ซีเรียลไลซ์ คุณสมบัติทุกอย่างใน Microsoft Office ต้องสามารถแสดงในฟอร์แมตไฟล์ได้ ตั้งแต่แฟล็กความเข้ากันได้และการฝัง OLE ไปจนถึงแมโครและหมายเหตุการตรวจสอบเอกสาร

แนวทางทางเลือกและโซลูชัน

การถกเถียงได้จุดประกายการอภิปรายที่กว้างขึ้นเกี่ยวกับปรัชญาการสร้างเอกสาร สมาชิกชุมชนบางคนสนับสนุนการละทิ้งการแก้ไข WYSIWYG (What You See Is What You Get) ทั้งหมดเพื่อสนับสนุนฟอร์แมตที่เน้นเนื้อหาเช่น Markdown คนอื่นๆ โต้แย้งว่าแนวทางนี้เพิกเฉยต่อความต้องการของผู้ใช้ เนื่องจากคนส่วนใหญ่ต้องการเอกสารที่ปรากฏตรงตามที่ตั้งใจเมื่อแชร์หรือพิมพ์

น่าสนใจที่ LibreOffice ได้จัดการนำการสนับสนุน OOXML ที่สำคัญมาใช้แม้จะมีความซับซ้อน แม้ว่านักพัฒนาจะยอมรับว่ามันแสดงถึงความท้าทายอย่างต่อเนื่องที่สำคัญ ความสำเร็จของ LibreOffice ชี้ให้เห็นว่าแม้ฟอร์แมตจะซับซ้อน แต่ก็ไม่ใช่สิ่งที่ผ่านไม่ได้สำหรับโครงการโอเพนซอร์สที่ได้รับทุนสนับสนุนอย่างดี

รูปแบบเอกสารทางเลือกที่กล่าวถึง:

  • OpenDocument: ทางเลือกที่เบากว่า OOXML ซึ่งได้รับการสนับสนุนจากหน่วยงานด้านการทำงานร่วมกันของ EU
  • Markdown: รูปแบบที่เน้นเนื้อหาเป็นหลักและแยกโครงสร้างออกจากการนำเสนอ
  • HTML/CSS: มาตรฐานเว็บแบบเปิด แม้ว่าจะมีความซับซ้อนสำหรับการใช้งานแบบเต็มรูปแบบ
  • LaTeX: รูปแบบสำหรับการพิมพ์เผยแพร่ทางวิชาการที่มีการควบคุมการจัดพิมพ์อย่างแม่นยำ

ผลกระทบที่กว้างขึ้น

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

การถกเถียงในที่สุดเน้นหลักการสำคัญในการออกแบบเทคโนโลยี: ความซับซ้อนอาจจำคุกผู้ใช้ ในขณะที่ความเรียบง่ายทำให้พวกเขาเป็นอิสระ อย่างไรก็ตาม การบรรลุความเรียบง่ายนั้นในขณะที่รักษาความเข้ากันได้กับเอกสารที่มีอยู่หลายทศวรรษยังคงเป็นหนึ่งในปัญหาที่ท้าทายที่สุดในวิศวกรรมซอฟต์แวร์

อ้างอิง: An artificially complex XML schema as a lock-in tool