Partendo dal presupposto che non si può migliorare ciò che non si misura, Scarf ha realizzato una soluzione che aiuta gli sviluppatori a comprendere come gli utenti finali interagiscono con il proprio progetto open source.
La mission di Scarf è infatti quella di aiutare i maintainer di open source a connettersi con i loro utenti con il fine ultimo di fornire un software migliore.
Il team della società è molto legato al mondo open source e ritiene che la community open source nel suo complesso non dovrebbe solo condividere il codice sorgente, ma anche i dati su quel codice sorgente e su come esso viene usato.
E, per fare questo, occorre uno strumento che aiuti nell’osservabilità nella distribuzione del software open source.
Un componente fondamentale nella toolchain della società è Scarf Gateway.
Scarf Gateway viene definito dal suo team come un punto di accesso centrale a tutti i propri container e package, indipendentemente da dove questi artefatti sono effettivamente ospitati.
Fornisce insight approfonditi su come i package vengono scaricati e utilizzati, e rende semplice ospitare i package (così come librerie, container e qualsiasi altro artefatto software in bundle) dal proprio dominio, senza richiedere alcuna infrastruttura.
In pratica, piuttosto che indirizzare gli utenti a ottenere i propri artefatti software direttamente da un registry, con Scarf si usa il proprio dominio (o lo fornisce Scarf stessa). Il gateway serve come un layer di reindirizzamento configurabile, posto davanti al registry.
Quando un utente finale scarica il container attraverso Scarf, il Gateway fa il redirect o proxy della richiesta al posto giusto, e fa emergere i dati associati al progetto nella propria dashboard Maintainer Insights all’interno del sito di Scarf.
Distribuendo il software attraverso il proprio dominio piuttosto che quello fornito dal registry, Scarf mette sotto il controllo dello sviluppatore la distribuzione del suo software.
Questo sistema, secondo Scarf, aiuta a risolvere due problemi che l’azienda definisce critici e sistemici.
Il primo è il Data Lockout: le informazioni di base sulla distribuzione del software open source sono quasi completamente nascoste alle persone che effettivamente sviluppano e mantengono quel software.
Il secondo è il Platform Lock-in: i maintainer di progetti open source ampiamente usati sperimentano un’enorme difficoltà a spostare i loro package su un altro registry se emergono opzioni migliori. Poiché quell’aggiornamento è esso stesso un cambiamento “breaking” per gli utenti attuali.
Tra i vantaggi di Scarf Gateway, secondo il suo team, c’è innanzitutto quello di sbloccare i dati di distribuzione e utilizzo.
Scarf Gateway fa emergere i dati di utilizzo senza richiedere inutili hooks per gli analytics, dover costruire soluzioni di telemetria su misura o ospitare il proprio registry.
Inoltre, riprendendo il controllo della distribuzione del proprio software con Scarf, gli sviluppatori non sono limitati dalla difficoltà di cambiare registry. Basta fare il push dei propri container in un nuovo registry e indicare a Scarf dove prendere le nuove immagini.
Il traffico di download si aggiornerà istantaneamente senza cambiamenti, senza impatto sugli utenti e senza migrazioni complesse e problematiche.
E questo non è l’unico tool per gli sviluppatori che Scarf propone.
Gli SDK di Scarf – ad esempio – forniscono un modo semplice per capire come viene usato il proprio software.
Basta aggiungere una dipendenza da una libreria Scarf per iniziare a raccogliere analytics di installazione che possono aiutare gli sviluppatori a mantenere il proprio package ben funzionante.