Modelli di governance per progetti open source multi-istituzionali

2

Sto lavorando a un progetto open source che ha sviluppatori professionisti a tempo pieno di diverse università, oltre a un paio di altre organizzazioni. Il prodotto ha qualcosa come una dozzina di implementazioni, varie varianti, plug-in, componenti correlati, ecc. In generale lo sviluppo finora è stato guidato dalle istituzioni "grattando il proprio prurito", ma con uno sforzo per unire i miglioramenti a una base di codice centrale. p>

Mentre sta iniziando a maturare, sono interessato a possibili modelli di governance open source da seguire. (Quindi questa domanda non è "quali sono alcune buone cose da fare", è specificamente "quali modelli esistenti e testati valgono la pena di guardare e possibilmente seguire")

Aspetti specifici che tali modelli potrebbero coprire:

  • Come vengono prese le decisioni sui cambiamenti di grande impatto (e cosa succede se qualcuno apporta grandi cambiamenti senza prima discuterne)
  • Chi gestisce l'immagine pubblica del prodotto (marketing di prodotto, per mancanza di un termine migliore)
  • Chi rappresenta il prodotto in qualsiasi confronto con prodotti "concorrenti"
  • Se i miglioramenti diventano "core", "plug-in", "prodotti correlati" ecc.
  • Se e come vengono create e pubblicate le roadmap
  • Come vengono gestite le variazioni sul prodotto (in questo caso, le versioni per le diverse discipline accademiche)
  • Aspettative e obblighi dei partecipanti al progetto
  • Aspettative e obblighi delle istituzioni per cui quegli sviluppatori lavorano

Cercheremo qualcosa di leggero e informale che sia pratico.

    
posta Steve Bennett 24.05.2012 - 15:42
fonte

1 risposta

1

Una buona struttura sarebbe quella di avere diversi sviluppatori leader (forse uno per ogni università / org) che gestiscono un repository facile da gestire e controllare ( GitHub è una buona scelta). Le versioni di Contributor dovrebbero essere eseguite come pull-requests e quindi accettate dagli sviluppatori principali. Ci dovrebbero essere alcune regole di base pubblicate per evitare il dibattito. Una regola di esempio sarebbe che i rilasci debbano avere dei test o richiedere la prova di come il codice è stato testato. Queste regole dovrebbero essere pubblicate nel file Leggimi.

Un contributore o lead potrebbe essere chiamato "responsabile marketing" e inviare richieste pull al file Leggimi e aggiornamenti al Wiki ed essere responsabile della roadmap, ecc.

Per il controllo delle versioni utilizzare uno standard il più possibile che trasmetta modifiche minori rispetto alle modifiche di rottura. Il versioning semantico è un buon modello che è sempre più accettato per il progetto open source.

Le variazioni possono essere gestite come rami e / o forchette private e GitHub rende anche questo facile. Questo post discute un bel modello per la ramificazione usando Git.

Questo potrebbe essere troppo specifico sugli strumenti, ma certamente questi strumenti hanno avuto successo nel mantenere molti progetti open source che sono altamente collaborativi con più contributori.

    
risposta data 24.05.2012 - 19:36
fonte