⑂ Open source

Contribuire all'open source senza scrivere codice

Documentazione, traduzioni, triage delle issue, test, supporto agli utenti e design: i contributi non tecnici di cui i progetti hanno più bisogno.

Quando si parla di contribuire a un progetto open source, si pensa quasi sempre alle pull request con nuove funzionalità. Eppure una parte enorme del lavoro che tiene in vita un progetto non è codice: è spiegare, tradurre, ordinare, verificare, rispondere. Molti manutentori dicono che è proprio questo il lavoro che manca di più, perché è meno visibile e meno gratificante. Ed è un'ottima porta d'ingresso per chi non programma o per chi vuole conoscere un progetto prima di toccarne il codice.

Documentazione

La documentazione è spesso il punto più debole di un progetto tecnicamente solido. Chi la scrive conosce il software troppo bene per accorgersi dei passaggi che dà per scontati. Un utente nuovo, al contrario, li vede tutti.

Contributi concreti:

  • correggere istruzioni che non funzionano più con la versione attuale;
  • aggiungere un esempio completo per un caso d'uso comune;
  • scrivere una guida introduttiva che parte da un'installazione pulita;
  • segnalare in modo puntuale le pagine poco chiare, indicando dove ti sei bloccato;
  • uniformare terminologia e struttura tra pagine scritte da persone diverse.

Un buon metodo è annotare ogni difficoltà incontrata durante la prima installazione: quell'elenco è già un piano di miglioramento della documentazione.

Traduzioni

Un software disponibile solo in inglese esclude molte persone. Molti progetti usano piattaforme di traduzione collaborativa che non richiedono di usare Git: si traducono le stringhe direttamente nel browser.

Alcune attenzioni rendono la traduzione davvero utile:

  • usare il glossario del progetto, o proporne uno, per tradurre sempre allo stesso modo i termini chiave;
  • rispettare i segnaposto come %s o {nome}, che non vanno tradotti né spostati arbitrariamente;
  • provare l'interfaccia tradotta, perché una stringa corretta può essere troppo lunga per un pulsante;
  • mantenere, non solo tradurre: le stringhe nuove arrivano a ogni versione.

Triage delle issue

Il triage consiste nel mettere ordine tra le segnalazioni in arrivo. Nei progetti popolari le issue si accumulano più velocemente di quanto i manutentori riescano a leggerle. Chi aiuta può:

  1. verificare se un bug segnalato è riproducibile con l'ultima versione;
  2. chiedere le informazioni mancanti all'autore;
  3. individuare i duplicati e collegarli all'issue originale;
  4. proporre etichette per tipo, area e priorità, se il progetto lo consente;
  5. segnalare le issue ormai risolte che possono essere chiuse.

Questo lavoro fa risparmiare ai manutentori ore ogni settimana e, nel tempo, porta spesso a ottenere permessi di gestione del tracker.

Test delle versioni preliminari

Prima di un rilascio molti progetti pubblicano versioni beta o candidate. Provarle sul proprio uso reale, e riferire cosa funziona e cosa no, intercetta problemi che i test automatici non vedono: configurazioni particolari, combinazioni di hardware, flussi di lavoro insoliti. Anche un semplice «ho aggiornato il mio ambiente e tutto funziona» è un'informazione utile, se accompagnato dai dettagli dell'ambiente.

Supporto agli altri utenti

Forum, chat e sezioni di domande sono pieni di richieste che chiunque abbia un po' di esperienza può risolvere. Rispondere lì libera i manutentori dal supporto di base. Alcune regole:

  • rispondi solo se sei ragionevolmente sicuro;
  • indica la documentazione pertinente, così la risposta resta utile anche dopo;
  • se una domanda torna spesso, proponi di aggiungerla alla documentazione.

Design, accessibilità e comunicazione

Altri contributi preziosi e spesso trascurati:

Ambito Esempi di contributo
Design Revisione dell'interfaccia, icone, coerenza visiva
Accessibilità Verifica con lettore di schermo, contrasto, navigazione da tastiera
Comunicazione Note di rilascio leggibili, articoli introduttivi, aggiornamento del sito
Organizzazione Gestione di eventi, riunioni, verbali

L'accessibilità in particolare richiede competenze specifiche che raramente sono presenti tra gli sviluppatori di un progetto.

Come iniziare

Leggi il file CONTRIBUTING.md: molti progetti descrivono anche i contributi non tecnici. Presentati dove la comunità si ritrova e chiedi dove serve aiuto. Comincia con qualcosa di piccolo e ben definito, completalo e solo dopo prendine un altro. Un contributo concluso vale più di tre iniziati.

Nel mio lavoro ho visto persone diventare punti di riferimento di un progetto senza aver mai scritto codice, semplicemente perché erano quelle che conoscevano meglio la documentazione e gli utenti.

In sintesi

  • Gran parte del lavoro che tiene in vita un progetto non è codice.
  • Documentazione, traduzioni e triage sono i contributi più richiesti.
  • Testare le versioni preliminari e aiutare gli utenti alleggerisce molto i manutentori.
  • Design, accessibilità e comunicazione richiedono competenze spesso assenti nei progetti.
  • Inizia con un compito piccolo e portalo a termine.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche