Nieuws

Hoe JavaScript instortte als een kaartenhuis

Een geschil tussen een ontwikkelaar en een bedrijf leidde tot het offline halen van elf regels JavaScript-code. Deze actie had verregaande gevolgen.

Begin deze week geraakte JavaScript kapot. Npm, een pakketmanager waarmee programmeurs onder andere hun code kunnen testen, begon namelijk te falen. Hierdoor werkte de belangrijkste tool voor duizenden JavaScript-ontwikkelaars wereldwijd niet langer.

Babel

Het probleem werd veroorzaakt doordat de maker van ‘left-pad’ zijn code offline had gehaald. Deze code van slechts 11 regels lang dient om een bepaalde string karakters links aan een bestaande string toe te voegen en wordt onder andere in het pakketje ‘line-numbers’ gebruikt, welke op zijn beurt voor het ‘Babel’-pakket wordt gebruikt.

Babel is één van de populairste JavaScript-pakketjes van de voorbije jaren en wordt onder andere door Facebook, Spotify en Netflix gebruikt. Hierdoor werd ‘left-pad’ de voorbije maand alleen al 2.550.569 keer geïnstalleerd.

[related_article id=”178613″]

Hoe werkt npm?

Door zijn open karakter is JavaScript een erg gegeerde programmeertaal. De taal heeft echter geen standaard bibliotheek, zoals dit bijvoorbeeld bij C# van Microsoft en Swift van Apple het geval is. Daarom werd npm gemaakt. Hiermee kunnen ontwikkelaars erg eenvoudig stukken code, zoals left-pad, importeren. Dergelijke stukken code worden door ontwikkelaars gedeeld via GitHub en gepubliceerd op npm.

Deze manier van werken heeft ertoe geleid dat JavaScript tegenwoordig een verzameling is van pakketjes bovenop pakketjes. Wanneer één van de basispakketten offline wordt gehaald, stort het geheel dan ook in als een kaartenhuis.

Geschil

Azer Koçulu, de auteur van onder andere left-pad, besloot al zijn pakketjes offline te halen na een geschil met een messaging app-bedrijf met de naam ‘Kik’. Azer gebruikte de naam ‘Kik’ voor een open source-project, waarmee hij andere ontwikkelaars wilde helpen bij het eenvoudig starten van een nieuw project.

Het bedrijf Kik nam daarom een advocaat onder de arm en vroeg aan Azer om zijn Kik-pakket van npm te verwijderen. Azer weigerde dit, waarna het bedrijf npm zelf contacteerde. Ondanks het feit dat npm een open source-project is, wordt het onderhouden door een privaat bedrijf. Dit bedrijf besloot in te gaan op de vraag en droeg de eigendom van het Kik-pakket over naar de messaging app-firma.

Azer was verontwaardigt over deze actie. “Deze situatie deed me beseffen dat npm iemand zijn private domein is dat meer macht bezit dan de mensen. Ik werk echter mee aan open source-projecten, omdat ik vind dat de kracht bij de mensen zelf moet liggen,” schrijft Azer, nadat hij al zijn JavaScript-pakketten offline haalde.

azercodegithubjavascriptkikleft-padnpmsoftware

Gerelateerde artikelen

Volg ons

Gebruik je ecocheques bij Coolblue

Gebruik je ecocheques bij Coolblue

Producten bekijken