Moderne programvare benytter seg ofte av biblioteker og pakker som er åpen kildekode, og som ofte vedlikeholdes gratis av ildsjeler.
Nå kan det spøke for fremtiden til ett av de mest brukte og populære åpen kildekodeprosjektene, core-js.
"Jeg er utslitt. Gratis åpen kildekode-programvare er fundamentalt ødelagt. Jeg kan slutte å jobbe med dette i stillhet, men jeg ønsker å gi åpen kildekode en siste sjanse".
Den som sier dette er den russiske utvikleren Denis Pushkarev (zloirock), som har laget core-js.
Hele 52 prosent av de 1.000 største nettsidene i verden bruker core-js i en eller annen form, ifølge et script Pushkarev har laget. Han skriver imidlertid at skriptet ikke alltid detekterer core-js, og at en manuell sjekk tyder på at så mye som 75-80 prosent av de 100 største nettsidene bruker core-js.
Får nyeste JavaScript til å fungere i alle nettlesere
Det er ikke første gang personer som vedlikeholder åpen kildekode-prosjekter har meldt om hvor frustrerende det kan være å se på at store bedrifter tjener mye penger på prosjekter de selv vedlikeholder gratis. De som står bak prosjektene opplever ofte et stort press for å holde ting oppdatert.
I enkelte tilfeller har misfornøyde åpen kildekode-utviklere fjernet pakker fra NPM eller sabotert dem – slik at nettsider og applikasjoner som var avhengig av pakken gikk ned.
«Totalt er core-js lastet ned 2,1 milliarder ganger i 2022, mot 1,75 milliarder i 2021.»
Forhåpentligvis skjer ikke det med core-js – som er lastet ned fra NPM utrolige 9 milliarder ganger, og har mer enn 40 millioner nedlastinger i uken.
Hva er så core-js? Kort fortalt er det den mest populære polyfill-løsningen for JavaScript, altså en løsning som gjør det mulig å bruke de nyeste web-standardene og -funksjonaliteten i eldre nettlesere som ikke støtter dem. Core-js brukes av blant annet Babel, et verktøy som konverterer nyeste generasjon JavaScript slik at det skal fungere i alle nettlesere.
Og Babel brukes av nesten alt av rammeverk som brukes til moderne webutvikling. Denne xkcd-tegningen er ganske illustrerende:
Pushkarev begynte arbeidet med core-js i 2012.
På den tiden begynte ECMAScript-transpilatorer som kunne oversette mellom ulike versjoner av ECMAScript å bli mer utbredt, men ifølge Pushkarev hadde ikke polyfills utviklet seg i henhold til behovene til brukerne. De var ikke modulære, og de egnet seg ikke for bruk i biblioteker.
I 2014 ble core-js publisert som et åpen kildekode-prosjekt, og få måneder etter hadde det blitt en defacto-standard, ifølge Pushkarev.
Alex mener vi gjør for lite for open source-miljøet: - På tide å ta grep!
Ønsker å få betalt
De fleste av oss ønsker å få betalt for jobben vi gjør, det samme gjelder for Pushkarev som skriver at han nå nesten ikke tjener penger på prosjektet. Han får ingen penger fra noen store selskaper, men små donasjoner fra enkeltpersoner.
Men etter at Russland gikk til krig mot Ukrainia har også donasjoner via betalingstjenester blitt stoppet, siden Pushkarev bor i Russland.
«I stedet for takknemlighet, er alt jeg opplever hat.»
Som russisk utvikler hevder Pushkarev også at han mottar trusler og kjeft fra utviklere verden over, de samme utviklerne han sier sparer mange timers arbeid hver måned på grunn av core-js.
Nå har han fått nok:
"Jeg elsker å jobbe med åpen kildekode og core-js. Men hvem eller hva er det jeg gjør det for? I stedet for takknemlighet, er alt jeg opplever hat fra utviklerne jeg forenkler livene til."
Han har nå innsett at han ikke lenger vil sponse store bedrifter på bekostning av seg og sin familie. Arbeidet med core-js tar mer enn en normal arbeidsdag, skriver han.
Pushkarev vil gjerne forlate Russland for å starte et nytt og bedre liv et annet sted, men for en tid tilbake var han involvert i en trafikkulykke der en 18 år gammel jente døde. Ettersom han har et stort erstatningskrav mot seg, får han ikke lov til å forlate landet før pengene er betalt.
Veien videre for core-js
Pushkarev skriver at han ser for seg flere veier videre for core-js.
Det han håper mest på, er at bedrifter og utviklere som leser innlegget hans vil begynne å tenke på hvordan stacken de bruker kan bli mer bærekraftig, og gå inn med finansiell støtte. Da lover han at core-js vil bli videreutviklet og vedlikeholdt, blant annet med ny funksjonalitet.
Men det er ikke nok timer i døgnet til at han kan klare det alene. Han vil trenge minst én eller to utviklere til – og de må også få betalt, mener han.
«Dette var siste forsøk på å opprettholde core-js som et gratis åpen kildekode-prosjekt.»
Pushkarev ser heller ikke bort fra at han kan tenke seg å bli ansatt i et selskap som lar han jobbe med åpen kildekode og web-standarder, og at han på den måten også kan jobbe med core-js.
En tredje løsning er å gjøre core-js til et kommersielt prosjekt, med en rekke begrensninger i gratisversjonen.
Den fjerde og siste løsningen, er å la core-js lide en sakte død. Det kan skje ved at Pushkarev blir nødt til å fokusere på kommersielle prosjekter han får betalt for, slik at utviklingen av core-js stopper opp.
"Dette var siste forsøk på å opprettholde core-js som et gratis åpen kildekode-prosjekt med et skikkelig nivå på kvalitet og funksjonalitet. Det var mitt siste forsøk på å vise at det er virkelige mennesker på den andre siden av åpen kildekode, med familier å mette og problemer å løse", avslutter Pushkarev.