Mozilla ผูกชะตากรรมของ Firefox กับภาษา Rust

Mozilla ตั้งใจให้ Rust ใช้ในการสร้างส่วนสำคัญของเบราว์เซอร์ Firefox ตอนนี้ บริษัท กำลังมุ่งมั่นกับวิสัยทัศน์ดังกล่าวอย่างมีนัยสำคัญ

หลังจากเวอร์ชัน 53 Firefox จะต้องใช้ Rust เพื่อคอมไพล์ให้สำเร็จเนื่องจากมีส่วนประกอบของ Firefox ที่สร้างขึ้นด้วยภาษา แต่การตัดสินใจนี้อาจ จำกัด จำนวนแพลตฟอร์มที่ Firefox สามารถย้ายไปได้ในตอนนี้

Rust ซึ่งเป็นภาษาของ Mozilla Research สำหรับการเขียนโปรแกรมระดับระบบที่รวดเร็วและปลอดภัยอยู่ในช่วงก่อนการเปิดตัวใหม่ คุณลักษณะใหม่ที่โดดเด่นที่สุดของ Rust 1.15 คือระบบการสร้างที่ปรับปรุงใหม่ซึ่งเขียนด้วย Rust และใช้การจัดการแพ็คเกจ Cargo ดั้งเดิมของ Rust ก่อนหน้านี้ Rust ถูกสร้างขึ้นด้วย makefiles ด้วยการเปลี่ยนแปลงนี้ Rust สามารถสร้างขึ้นโดยใช้ "ลัง" ของ Cargo เหมือนกับโครงการ Rust อื่น ๆ เป็นหนึ่งในหลายขั้นตอนที่ Rust ได้ดำเนินการเพื่อให้กลายเป็นระบบนิเวศของตัวเองโดยไม่ขึ้นอยู่กับชิ้นส่วนที่สร้างโดยผู้อื่น

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

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

การสนทนาเกี่ยวกับตัวติดตาม Bugzilla สำหรับ Firefox ทำให้เกิดประเด็นเหล่านี้มากมาย ความกังวลอื่น ๆ ก็เกิดขึ้นเช่นกัน: แล้วการสนับสนุนที่เหมาะสมสำหรับลีนุกซ์ดิสทริบิวชันพร้อมการสนับสนุนระยะยาวซึ่งเครื่องมือที่มีอยู่ใน distro มักจะหยุดนิ่งและฟีเจอร์ Rust ใหม่ ๆ อาจไม่มีให้ใช้งานที่ไหน แล้วการสนับสนุน Firefox บนแพลตฟอร์ม "non-tier-1" ซึ่งทำให้ผู้ใช้ Firefox มีส่วนแบ่งน้อยลงหรือไม่

จุดยืนของ Mozilla คือในระยะยาวความเจ็บปวดจากการเปลี่ยนแปลงจะคุ้มค่า "ข้อได้เปรียบของการใช้ Rust นั้นมีมากเกินไป" ตามผู้ดูแล Ted Mielczarek "โดยปกติแล้วเราไม่ได้ออกนอกลู่นอกทางที่จะทำให้ชีวิตยากขึ้นสำหรับผู้ที่ดูแลพอร์ต Firefox แต่ในกรณีนี้เราไม่สามารถปล่อยให้คนใช้น้อยลง แพลตฟอร์ม จำกัด ไม่ให้เราใช้ Rust ใน Firefox” เขาเขียน

แพลตฟอร์มที่น่าจะได้รับผลกระทบจากการตัดสินใจนี้มากที่สุดตามการอภิปรายในเธรด Bugzilla เป็นสถาปัตยกรรมที่ไม่ได้อยู่บนเดสก์ท็อปเช่น S390 ของ IBM ด้วยเหตุนี้จึงมีความเป็นไปได้ว่าผู้ที่จัดส่ง Linux ดิสทริบิวชันสำหรับสถาปัตยกรรมเหล่านั้นเช่นเดียวกับที่ Red Hat ทำกับ Fedora จะยกเลิกการสนับสนุน Firefox สำหรับรุ่นที่ยังไม่รองรับ Rust อย่างสมบูรณ์

ผู้ใช้ Firefox ส่วนใหญ่จะไม่ได้รับผลกระทบจากสิ่งนี้ ความหวังที่ดีที่สุดสำหรับผู้ที่เป็นเช่นนี้คือการพยายามสร้างแพลตฟอร์มใด ๆ ก็ตามที่ต้องการการสนับสนุน Rust พร้อมกันขับเคลื่อนการพัฒนาสำหรับทั้ง Firefox และ Rust

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