Come gestire la crescita di un progetto open source?

11

Sono stato coinvolto nell'aiutare a fornire supporto per un progetto open source per un anno o due ora, e il progetto ha guadagnato molta popolarità da quando ho iniziato. Il programma registra oltre 100.000 download a settimana e viene utilizzato da oltre il 60% delle persone nel suo campo principale, quindi siamo ovviamente lieti che le persone si siano divertite a utilizzarlo così tanto.

Tuttavia, il problema è che la base di sviluppo e supporto non è cresciuta quasi altrettanto velocemente e stiamo iniziando a colpire alcuni problemi crescenti. La piccola manciata di sviluppatori (in particolare lo sviluppatore principale) sta diventando piuttosto snella e i volontari del supporto tecnico stanno iniziando a bruciarsi.

Finora, è stato appena un gruppo di ragazzi uscire con IRC, scrivere questo programma e aiutare gli utenti. Non esiste una 501 (c) (3) organizzazione o LLC o qualcosa del genere.

Al momento, non disponiamo di un bug tracker o di un database dei problemi molto formale (abbiamo un forum con una categoria dedicata alle segnalazioni di bug), che ammetto è qualcosa che potremmo migliorare per portare a bordo più sviluppatori . Ma suppongo che la mia vera domanda sia: come si fa la transizione dal piccolo progetto personale a una vera ... cosa? come hanno gestito i grandi ragazzi come GIMP, FFmpeg, Blender, ecc. ?

E oltre a tutto questo, c'è un modo per offrire un risarcimento con un progetto FOSS? Suppongo che le donazioni siano d'aiuto, ma questo va solo lontano ... mi sembra strano guadagnarsi da vivere con il software libero, ma se il programma continuerà a migliorare, non vedo come possiamo continuare senza risarcire le persone per lavoro a tempo pieno.

Fondamentalmente, stiamo avendo dei dolori in crescita e sentiamo "troppo grande per i nostri brufoli". Cosa possiamo fare per gestire questa transizione e non bruciarci a fare troppe cose contemporaneamente?

    
posta Ben Torell 12.08.2014 - 00:27
fonte

2 risposte

13

La fase in cui si svolge il tuo progetto è davvero entusiasmante e cruciale, è molto facile crash e burn-out, ma è anche il luogo in cui puoi prendere decisioni cruciali che, se tutto funziona, aiuteranno a garantire la sostenibilità a lungo termine.

Ecco alcuni suggerimenti.

  • Leggi l'ottimo libro di Karl Fogel Producing Open Source Software . lui copre la maggior parte dei principali problemi immediati. Anche se non sono d'accordo con tutto quello che dice, è solo un'opinione. Lui capisce perfettamente il mondo open source.

  • Come ha detto @Ross Patterson, devi assolutamente impostare un tracker e una mailing list o qualcosa di simile per evitare il caos totale. Cosa stai usando per il controllo della versione? Se sei su github puoi iniziare con il loro tracker o puoi integrarlo con Jira o qualcosa di simile o se vuoi puoi andare a SourceForge per ora e usare la loro infrastruttura gratuita. Non devi dire da dove le persone scaricano ma vuoi assicurarti di avere quella configurazione in maniera affidabile e con un buon conteggio dei download.

  • Non c'è motivo per cui non puoi guadagnarti da vivere con il software libero se è quello che vuoi, molte persone lo fanno, ma ci vogliono molte forme diverse. È necessario decidere come si desidera farlo prima di prendere decisioni organizzative importanti. Ad esempio, è possibile e dovrebbe probabilmente creare una società per detenere il marchio e i diritti d'autore che forniranno anche una protezione legale, se necessario. Tuttavia, allora avrai bisogno di un presidente o di un tesoriere. Che tipo di organizzazione dovrebbe essere (senza scopo di lucro o di profitto, LLC, co-op, partnership) dipende davvero dai tuoi obiettivi e dovrebbe essere discusso con un buon avvocato. Se sei stato accettato da Software Freedom Conservacy, ti aiuterebbe a capirlo e anche a dare una mano con le questioni contabili e fiscali e così via. Esistono anche altri incubatori FOSS come Software di interesse pubblico . Inoltre, penso che Outercurve sia una possibilità.

  • In termini di come si guadagna da vivere, questo dipenderà molto dalla natura del tuo progetto. Questo è anche il motivo per cui non salterò immediatamente a dire che hai bisogno di un 501c3 (e potresti non averlo capito ... vedi il progetto Yorba). Blender si supporta principalmente vendendo documentazione. Altri progetti hanno ecosistemi di piccole imprese e / o consulenze che li circondano e gli sviluppatori guadagnano il loro reddito da quello. Altri progetti presentano due modelli di licenze in modo che vendano versioni supportate (ecco perché MySQL ha fatto e perché potrebbe essere venduto a Sun e ovviamente c'è RedHat) e hanno una versione separata della community. Altri come WordPress hanno la versione ospitata come modello di business. Quindi ci sono tutti i tipi di opzioni e hai bisogno di capire cosa ha senso per te e la tua comunità.

  • Scegli qualcuno che diventi il tuo community manager per iniziare. E leggi il libro di Jono Bacon dopo che hai finito Fogel's.

  • Decidi ora su una road map che ha senso per il tuo core team; essere realistici e non essere vittima di bullismo da parte di persone che non contribuiscono. La road map non si riferisce solo a piani e caratteristiche tecniche, ma a dove vuoi andare come progetto.

  • Non essere timido nel parlare con altri progetti che ammiri o che si trovano nello stesso spazio. Scopri cosa ha funzionato e non ha funzionato per loro. Basta inviare una e-mail. Inoltre, puoi andare ad alcuni degli eventi generali open source e parlare con gli altri progetti. Nel complesso le persone foss sono piuttosto utili.

Buona fortuna, è una cosa eccitante essere in questa fase.

    
risposta data 12.08.2014 - 04:24
fonte
3

I VERI ragazzini hanno configurato tutti i meccanismi che conosci: eseguono server farm di grandi dimensioni, eseguono (talvolta scrivono) inseguitori di bug e sistemi di compilazione, ecc. hanno spesso 501 (c) 3 fondazioni che detengono i diritti d'autore, ecc. ottengono grandi donazioni aziendali e le società prestano loro gli sviluppatori, ecc. Sai, cose GRANDI.

I non così grandi ragazzi ricevono molto aiuto da altre parti. La Software Freedom Conservancy , ad esempio, aiuterà i progetti di dimensioni medio-grandi ad avere le basi legali giuste e faciliterà le donazioni. Ci sono molte opzioni per l'hosting del codice e il monitoraggio dei bug in questi giorni - diamine, chiunque può ottenere un sito GitHub. E scoprirai che molte aziende di software di piccole e medie doneranno licenze per i loro prodotti proprietari per supportare progetti Open Source organizzati, specialmente quando si allineano in qualche modo con la loro attività.

    
risposta data 12.08.2014 - 03:19
fonte

Leggi altre domande sui tag