Programiranje

Mozilla Firefoxovo usodo veže na jezik Rust

Mozilla je vedno namenjena Rustu za uporabo pri izdelavi ključnih delov brskalnika Firefox. Zdaj se podjetje pomembno zavzema za to vizijo.

Po različici 53 bo Firefox zahteval, da Rust uspešno prevede zaradi prisotnosti komponent Firefox, zgrajenih z jezikom. Toda ta odločitev lahko omeji število platform, na katere je Firefox mogoče prenesti - za zdaj.

Rust, jezik Mozilla Research za hitro in varno programiranje na sistemski ravni, je na predvečer nove izdaje. Najpomembnejša novost Rust 1.15 je prenovljeni sistem izdelave, napisan v Rustu, ki uporablja Rustovo ročno upravljanje paketov Cargo. Prej je bil Rust zgrajen z makefili; s to spremembo je mogoče Rust zgraditi z uporabo "zabojev" za tovor kot vsi drugi projekti Rusta. To je eden od mnogih korakov, ki jih je Rust naredil, da bi postal svoj ekosistem, ki ni odvisen od kosov, ki so jih zgradili drugi.

Ko je Rust dozorel in se stabiliziral, so razvijalci Firefoxa lažje premaknili več ključne infrastrukture brskalnika v ta jezik. A tu je še slabost: Vsaka platforma, na kateri nameravate zgraditi in zagnati Firefox, potrebuje delujočo izdajo prevajalnika Rust.

Rust naj bi bil večplastni, zato bi to moralo biti mogoče. Vendar so praktične posledice bolj zapletene. Rust je odvisen od LLVM, ki ima lastne odvisnosti - in vse bi jih bilo treba podpirati na ciljni platformi.

Razprava o sledilniku Bugzilla za Firefox odpira veliko teh točk. Tudi drugi pomisleki so se pojavili: Kaj pa ustrezna podpora distribucijam Linuxa z dolgoročno podporo, kjer so orodja, ki so na voljo v distribucijskem sistemu, pogosto zamrznjena in kjer novejše funkcije Rust morda ne bodo na voljo? Kaj pa podpora za Firefox na platformah, ki niso tier-1, ki predstavljajo manjši delež uporabnikov Firefoxa?

Stališče Mozille je, da se bo dolgoročna bolečina zaradi prehoda splačala. "Prednost uporabe Rusta je prevelika," pravi vzdrževalec Ted Mielczarek. "Običajno se ne trudimo, da bi ljudem, ki vzdržujejo Firefoxova vrata, otežili življenje, vendar v tem primeru ne moremo dovoliti, da bi se manj uporabljali platforme nam omejujejo uporabo Rusta v Firefoxu, «je zapisal.

Glede na razpravo v niti Bugzilla najverjetneje bodo te odločitve prizadele platforme, ki niso namizne arhitekture, kot je IBM-ov S390. Posledično je možno, da bodo tisti, ki pošiljajo distribucije Linuxa za te arhitekture - kot to počne Red Hat s Fedoro - preprosto opustili podporo Firefoxa za gradnje, ki še ne podpirajo Rusta.

To ne bo vplivalo na večino uporabnikov Firefoxa. Najboljše upanje za tiste, ki to počnejo, bo prizadevanje za izgradnjo vseh platform, ki potrebujejo podporo Rusta, hkrati pa spodbujajo razvoj tako za Firefox kot za Rust.

Običajni uporabniki Firefoxa pa bolj skrbijo za končni rezultat - obljubljeno pomlajevanje, ki bo brskalnik ohranil hitro in konkurenčno - in manj za tehnologijo, uporabljeno za njegovo uresničitev. Pritisk ni bil le, da bi se preselili v Rust, ampak da bi dokazali, da se je selitev splačala.