Un progetto open source è fatto di codice, ma vive di persone che si scrivono in pubblico, spesso senza conoscersi, da paesi e culture diverse, a volte sotto pressione. In questo contesto le incomprensioni sono inevitabili e i comportamenti ostili, quando ci sono, allontanano proprio i contributori più preziosi. Il codice di condotta è lo strumento con cui una comunità dichiara cosa si aspetta e, soprattutto, cosa succede quando le aspettative non vengono rispettate.
A cosa serve davvero
Un codice di condotta non rende automaticamente gentili le persone. Il suo valore è pratico:
- rende esplicite le regole: chi arriva sa cosa è accettabile senza doverlo indovinare;
- dà un canale di segnalazione: chi subisce un comportamento scorretto sa a chi rivolgersi;
- protegge i moderatori: quando devono intervenire, si basano su regole note e non su giudizi personali;
- segnala attenzione: molte persone valutano se contribuire anche in base alla presenza di regole chiare.
Il punto debole più comune non è il testo, ma l'assenza di un meccanismo di applicazione. Un codice senza un indirizzo di contatto e senza persone incaricate è solo una dichiarazione di intenti.
Cosa deve contenere
Molti progetti adottano un modello esistente e diffuso, come il Contributor Covenant, adattandolo. Che si parta da un modello o da zero, un codice efficace copre almeno questi punti:
- Ambito: dove si applica (issue, pull request, chat, liste, eventi, profili che rappresentano il progetto).
- Comportamenti attesi: rispetto, critiche rivolte alle idee e non alle persone, disponibilità ad accettare feedback.
- Comportamenti inaccettabili: insulti, molestie, attacchi personali, diffusione di informazioni private altrui, linguaggio discriminatorio.
- Come segnalare: un indirizzo email o un modulo, con l'indicazione di chi lo riceve.
- Riservatezza: garanzia che l'identità di chi segnala sarà protetta.
- Conseguenze: una scala di provvedimenti proporzionati.
- Conflitti di interesse: cosa succede se la segnalazione riguarda un moderatore.
La scala dei provvedimenti
Avere una scala definita in anticipo evita reazioni sproporzionate o, al contrario, inerzia. Una struttura comune:
| Livello | Esempio di comportamento | Provvedimento tipico |
|---|---|---|
| Correzione | Commento sgarbato isolato | Richiamo privato e richiesta di modificare il tono |
| Avvertimento | Comportamento ripetuto dopo un richiamo | Avviso formale con conseguenze esplicite |
| Sospensione temporanea | Violazione seria o persistente | Esclusione per un periodo definito |
| Esclusione permanente | Molestie, minacce, violazioni gravi | Rimozione da tutti gli spazi del progetto |
Non è obbligatorio passare da tutti i livelli: un comportamento grave può giustificare subito l'esclusione.
Gestire una segnalazione
Quando arriva una segnalazione, un processo ordinato riduce errori e tensioni:
- Conferma di ricezione a chi segnala, entro tempi brevi.
- Raccolta dei fatti: link ai messaggi, contesto, eventuali testimoni. Conviene salvare copie, perché i messaggi possono essere modificati o cancellati.
- Esclusione dei conflitti: chi è coinvolto o vicino alle parti non partecipa alla decisione.
- Ascolto della persona segnalata, quando non mette a rischio chi ha segnalato.
- Decisione documentata, con riferimento alla regola violata.
- Comunicazione alle parti, in privato, con il minimo di dettagli necessari.
Le decisioni non si discutono in pubblico nei thread del progetto. Se serve una comunicazione alla comunità, basta indicare che un provvedimento è stato preso, senza esporre le persone.
Chi deve fare il moderatore
Nei progetti piccoli i moderatori sono spesso gli stessi manutentori. Funziona, ma conviene che siano almeno due, in modo che una segnalazione su uno dei due possa essere gestita dall'altro. Nei progetti sotto una fondazione può esistere un comitato centrale che interviene nei casi più delicati.
Fare moderazione è faticoso e poco visibile. Va riconosciuto come contributo al pari del codice, e chi lo svolge deve poter fare un passo indietro senza sentirsi in colpa.
Errori da evitare
- Pubblicare il codice senza contatto: nessuno saprà come usarlo.
- Applicarlo solo agli sconosciuti: le regole valgono anche per i contributori storici e per i manutentori.
- Reagire in pubblico a caldo: alimenta il conflitto e rende difficile una decisione serena.
- Ignorare le segnalazioni: il silenzio comunica che il codice è decorativo.
In sintesi
- Il codice di condotta rende esplicite le regole e offre un canale per le segnalazioni.
- Deve indicare ambito, comportamenti, contatto, riservatezza e conseguenze proporzionate.
- Le segnalazioni vanno gestite con un processo ordinato, documentato e riservato.
- Servono almeno due moderatori e regole che valgano per tutti, manutentori compresi.