Microsoft ilmoitti vuoden 2018 joulukuun alussa lopettavansa oman EdgeHTML-selainmoottorinsa kehittämisen ja siirtyvänsä käyttämään avoimen lähdekoodin Chromium-moottoria. Tämä ei varsinaisesti ollut yllättävä tieto, sillä selainmoottorin kehittäminen ja ylläpito ovat uskomattomia resurssisyöppöjä. Toisaalta oman selainmoottorin käyttämisestä nettiselaimen ytimenä on kovin vähän etuja: moottorin on joka tapauksessa pakko toteuttaa yleisessä käytössä olevat web-standardit ja pakko toimia muutenkin varsin samalla tavalla kuin kilpailijoidensa. Jos selain putoaa kehityksen kelkasta tai toimii ratkaisevasti eri tavalla kuin valtaosa markkinoilla olevista selaimista, kehittäjät tiputtavat tuen kyseiseltä selaimelta ja käyttäjät siirtyvät käyttämään selaimia, joilla kehittäjien rakentamat palvelut toimivat oikein.

Microsoftin siirtyminen käyttämään Chromiumia selaimensa moottorina on kilpailutilanteen kannalta valitettavaa. Microsoftin poistuminen selainmoottorimarkkinoilta nimittäin tarkoittaa, että Googlen ja Applen Chromium-WebKit-valta-akselille voi pistää hanttiin enää voittoa tavoittelematon Mozilla-organisaatio. Mozilla on tässä asetelmassa kaikilla mittareilla mitattuna altavastaajan asemassa, mutta sen vahva ideologinen pohja ja todella omistautuneet kehittäjät ovat onnistuneet nostamaan Firefox-selaimen ja sen ytimenä toimivan Gecko-selainmoottorin jälleen moderniksi, turvalliseksi ja suorituskykyiseksi paketiksi, jota on ilo käyttää.

Ideologia Mozillan toiminnan taustalla

Mozillan toiminnan lähtökohta on, että internet kuuluu kaikille. Internetin tehtävänä on auttaa ihmisiä, edistää maailmanlaajuista hyvinvointia ja tehdä hyvää. Tämän viestin viemiseen tarvitaan tehokasta viestintä- ja tiedotustoimintaa, joten suuri osa Mozillan voimavaroista onkin suunnattu viestintään. Mozilla ottaa avoimesti kantaa poliittiseen keskusteluun ja pyrkii aktiivisesti tiedottamaan internetin globaalia hyvinvointia varjostavista uhista. Mozilla on myös muutaman vuoden ajan julkaissut Internet Health Report -raporttia, jossa arvioidaan internetin tilaa mm. turvallisuuden, avoimuuden ja yksityisyydensuojan näkökulmasta.

Mozilla ei siis ole pelkästään avoimen lähdekoodin ohjelmistoja tuottava järjestö, vaan globaalisti hyvin merkittävien asioiden puolesta taisteleva organisaatio, jonka toimintaa ohjaavat ylevät ja erittäin kannatettavat arvot.

Firefoxin avulla käyttäjät voivat käyttää internetiä omilla ehdoillaan ja samalla auttaa Mozillaa taistelemaan paremman internetin puolesta.

Mozilla taistelee paremman internetin puolesta

Servo, Rust ja Quantum

Firefox-selaimen versio 1.0 julkaistiin vuonna 2004, mutta sen juuret yltävät aina 90-luvun Netscape Navigator -selaimeen asti. Vaikka selaimen teknologiaa uudistettiin kovaa vauhtia, alkoivat Firefoxin Gecko-selainmoottorin rajat tulla näköpiiriin 2010-luvun lähestyessä. Oli selvää, että tietotekniikassa panostettiin entistä enemmän rinnakkaislaskentaan, johon Gecko ei silloisessa asussaan tuntunut taipuvan kovin hyvin. Tuolloin Mozillalla todettiin, että on aika tehdä jotakin dramaattisesti erilaista – on aika aloittaa puhtaalta pöydältä. Ja nyt puhutaankin sitten todella puhtaasta pöydästä.

Mozilla käynnisti Servo-projektin, jonka tarkoituksena on kehittää erittäin suorituskykyinen ja huipputurvallinen selainmoottori. Servon suorituskyky perustuu hyvin pitkälle vietyyn rinnakkaisprosessointiin, mikä sopii erinomaisesti nykyaikaisille moniydinprosessoreille ja skaalautuu todella hyvin käytettävien resurssien mukaan. Rinnakkaisprosessointi ei kuitenkaan ole ongelmatonta, sillä se vaatii keinon, jolla eri tehtäviä suorittavat säikeet voivat jakaa keskenään sovelluksen muistia. Tämä taas tuo mukanaan erilaisia kilpajuoksu- ja synkronointiongelmia, joita on usein hankala selvittää ja ennakoida.

Näiden ongelmien ratkaisemiseksi Mozilla adoptoi erään työntekijänsä aloittaman projektin, jonka tarkoituksena oli kehittää kokonaan uusi ohjelmointikieli, Rust. Rust tarjoaa nykyaikaisen vastineen käytännössä standardiksi muodostuneille C- ja C++-kielille järjestelmäohjelmoinnissa. Pääpaino Rustissa on luonnollisestikin juuri Mozillan kohtaamissa kipupisteissä, eli suorituskyvyssä ja rinnakkaisprosessoinnissa. Rinnakkaisprosessoinnin ongelmat Rust pyrkii taklaamaan hyvin omintakeisella muistiomistus- ja -lainausjärjestelmällä, joka varmistaa jo ohjelman käännösvaiheessa Rust-koodin olevan muistiturvallista. Suorituskyvyssä puolestaan auttavat mm. Rustin RAII-muistinhallinta, viitelaskenta sekä LLVM-kääntäjän tarjoamat, automaattiset optimoinnit.

Vaikka Servosta on ladattavissa eri käyttöjärjestelmille periaatteessa käyttökelpoiset versiot, ei Servoa ole tarkoitus käyttää oikeasti itsenäisenä selaimena. Ajatuksena nimittäin on, että Servo toimii ainoastaan erilaisten selainkomponenttien kehitysalustana, ja noilla komponenteilla sitten korvataan vastaavat osat Firefoxin Gecko-moottorissa. Tämä elinsiirtoprojekti on saanut nimen Quantum ja sen ensimmäiset hedelmät ovat olleet nautittavissa Firefoxin versiosta 57 alkaen. Quantumin, Servon ja Rustin ansiosta Firefox onkin kovaa vauhtia nousemassa takamatkalta kilpailijoistaan ohitse.

"Tietä käyden tien on vanki"

Mozillan kokonaisvaltainen sitoutuneisuus siihen, että internet kuuluu käyttäjilleen, näkyy erittäin vahvasti organisaation teknisessä tekemisessä. Rust-kielen merkitys koko ohjelmistotuotantoalalle on valtavasti suurempi kuin pelkän selainmoottorin taustateknologiana toimiminen. Rust tuo oikeasti mukanaan paljon hyviä ideoita, erinomaisesti toteutettuna, ja mahdollistaa suorituskykykriittisten sovellusten rakentamisen nopeasti ja turvallisesti. Servo puolestaan osoittaa, miten valtavia harppauksia todella monimutkaisissa järjestelmissä voidaan ottaa, kun heitetään kaikki entinen romukoppaan ja aloitetaan täysin alusta.

Mozilla tallaa hyvin vahvasti omaa polkuaan. Siinä missä Google, Apple ja Microsoft ovat joutuneet kehittämään omia selaimiaan osana liiketoiminnallista strategiaansa, on Mozillalla ollut vapaa temmellyskenttä innovoida ja tuottaa teknologiaa, jonka vaikutus näkyy merkittävänä myös selainmarkkinoiden ulkopuolella.

Mozillan ideologiaan perustuva toiminta varmistaa, että fokus pysyy oikeassa paikassa. Tietoturva, yksityisyydensuoja ja yksilön oikeudet vaativat puolustamista niin internetissä kuin sen ulkopuolellakin. Firefoxin avulla käyttäjät voivat käyttää internetiä omilla ehdoillaan ja samalla auttaa Mozillaa taistelemaan paremman internetin puolesta.

Jos et ole viimeisen parin vuoden aikana käyttänyt Firefoxia, kokeile sitä heti – et pety.