Movimiento 0deps: Lokale afhankelijkheden en onveranderlijke contracten
Softwareontwikkelaars installeren vaak honderden externe bibliotheken. Moderne frameworks vertrouwen op duizenden transitieve afhankelijkheden. Dit betekent dat je app code uitvoert van vreemden die je niet kent.
Deze snelheid heeft een prijs. Je krijgt te maken met risico's in de software supply chain.
Elke afhankelijkheid vergroot je aanvalsoppervlak. Afhankelijkheden kunnen:
- Beveiligingslekken introduceren.
- Doelwit worden van supply chain-aanvallen.
- Door auteurs worden verlaten.
- Hun publieke API wijzigen.
- De achterwaartse compatibiliteit verbreken.
De 0deps-beweging verandert dit. Het stelt de vraag: wat als je app alleen vertrouwt op de code die jij beheert?
In een 0deps-model breng je alle benodigde code rechtstreeks naar je projectrepository. Je downloadt geen pakketten tijdens de installatie of de build-tijd. Alles wat je nodig hebt, is aanwezig wanneer je de repo clonet.
Dit biedt verschillende voordelen:
- Reproduceerbare builds.
- Geen afhankelijkheid van externe pakketregistraties.
- Gecentraliseerde beveiligingsaudits.
- Hogere voorspelbaarheid.
- Lager supply chain-risico.
Het doel is niet om te voorkomen dat code verandert. Algoritmen en beveiligingspatches moeten evolueren. Wat hetzelfde blijft, is het publieke contract.
Je ontwerpt een stabiele interface voor elke bibliotheek. Bijvoorbeeld:
- authenticate()
- createSession()
- verifyPasskey()
De implementatie achter deze functies kan volledig veranderen. Je kunt de logica herschrijven of de bibliotheek vervangen. De rest van je app merkt het verschil niet eens.
Dit lost het grootste hoofdpijndossier tijdens updates op. Meestal maak je je zorgen dat het oplossen van een bug tegelijkertijd je app kapotmaakt. Met 0deps blijft de publieke API identiek. Je applicatie blijft werken zonder wijzigingen in de code.
Je isoleert externe tools achter interne adapters. Als een bibliotheek morgen ophoudt te bestaan, hoef je alleen de adapter bij te werken. De rest van je systeem blijft veilig.
0deps heeft geen hekel aan open source. Het wil open source juist veiliger gebruiken. In plaats van dynamische installaties behandel je bibliotheken als geïntegreerde componenten. Je auditeert ze. Je beheert de versies ervan. Je kapselt ze in.
Software gaat decennia mee. Bibliotheken en frameworks gaan dood. 0deps zorgt ervoor dat je applicatie blijft draaien door al die veranderingen heen.
Optional learning community: https://t.me/GyaanSetuAi
