L'Annuncio

Una volta che il progetto è presentabile— non perfetto, giusto presentabile— siete proti per annunciarlo al mondo. Questo è in realtà un procedimento molto semplice: andate a http://freshmeat.net/, cliccate su Invio in cima alla barra di navigazione e riempite un form che annuncia il vostro nuovo progetto. Freshmeat è il posto in cui chiunque guarda per annunci di nuovi progetti. Dovete solo prendere alcune opinioni lì sul vostro progetto da diffondere a voce.

Se conoscete mailing lists o newsgroups dove un annuncio del vostro progetto sarebbe in argomento e di interesse, allora postate lì, ma con l'attenzione di inserire esattamente un solo post per forum, e di indirizzare le persone ai forums del vostro progetto come seguito della discussione (impostando l'intestazione Risposta-a). I post dovranno esse brevi e andare giusto al punto:

      A: discuss@lists.example.org
      Soggetto: [ANN] Progetto Scanley di indicizzatore full-text 
      Risposta-a: dev@scanley.org

      Questo è il post di una volta che annunciava la creazione del progetto Scanley, un progetto di indicizzazione full-text e di strumento di ricerca con una ricca API, ad uso dei programmatori nel fornire dei servizi di ricerca per un grande insieme di files di testo.  Scanley attualmente è un codice che gira, è sotto sviluppo attivo, ed è alla ricerca sia di sviluppatori, sia di collaudatori.

      Home page: http://www.scanley.org/

      Funzionalità:
      - Ricerche testo normale, HTML, e XML
      - Ricerca di parole o frasi
      - (pianificato) Ricerca diffusa
      - (pianificato) Aggionamento incrementale degli indici
      - (pianificato) Indicizzazione di siti remoti

      Requisiti:
      - Python 2.2 o superiore
      - Spazio su disco sufficiente a supportare gli indici (approssimativamente 2x la grandezza originale dei dati)

      Per maggiori informazioni venire su scanley.org.

      Grazie,
      -J. Random
    

(Vedere sezione chiamata «La Pubblicità» in Capitolo 6, Comunicazione per avvisi o per annunci di ulteriori releases o di altri eventi del progetto.)

C'è in corso un dibattito nel mondo del software libero se incominciare col far girare il codice, o se il progetto può beneficiare dall'essere aperto anche durante la fase di progettazione/discussione. Io ero abituato a pensare che partire con il codice che gira fosse il fattore più importante, che esso fosse ciò che separa i progetti di successo dai giochi, e che gli sviluppatori seri sarebbero stati attratti da software che facesse già qualcosa di concreto.

Questo si dimostrò non essere il caso. Nel progetto di Subversion, noi partimmo con un documento di progetto, un cuore di sviluppatori interessati e ben collegati, un sacco di fanfara, e un codice che non girava affatto. Con mia totale sorpresa, il progetto acquisì principianti attivi giusto dall'inizio, e col tempo avemmo qualcosa che girava, c'erano parecchi sviluppatori profondamente coinvolti. Subversion non è il solo esempio; il progetto Mozilla fu lanciato senza codice che girava, ed è ora un browser popolare e di successo.

Di fronte a una tale evidenza, dovetti fare marcia indietro sull'affermazione che far girare il codice fosse assolutamente necessario per lanciare un progetto. Far girare il codice è ancora la migliore premessa per il successo, e una buona regola empirica approssimativa sarebbe aspettare di farlo girare prima di annunciare il vostro progetto. Comunque ci sono circostanze in cui fare l'annuncio presto ha un senso. Penso che almeno un documento di progetto ben sviluppato, o diversamente una sorta di struttura di codice sia necessaria—certamente può essere rivista basandosi su una pubblica risposta, ma ci deve essere qualcosa di concreto, qualcosa di più tangibile oltre a delle sole buone intenzioni, affinchè le persone possano affondarvi i denti.

In qualsiasi momento facciate l'annuncio, non aspettatevi che un'orda di volontari si aggiungano al progetto. Usualmente, il risultato dell'annuncio è che voi ricevete poche domande casuali, e inoltre poche persone si aggiungono alle vostre mailing lists, e a parte questo, ogni cosa continua ad andare abbastanza come prima. Ma col tempo, noterete un graduale aumento nella partecipazione sia di collaboratori al nuovo codice sia di utilizzatori. L'annuncio è solo un piantare il seme. Ci può essere bisogno di molto tempo perchè la notizia si diffonda. Se il progetto coerentemente ricompensa coloro che sono coinvolti, le notizie si diffonderanno, comunque, perchè le persone vogliono condividere quando hanno trovato qualcosa di buono. Se tutto va bene, le dinamiche di reti di comunicazione esponenziali trasformeranno lentamente il progetto in una complessa comunità, in cui non dovete conoscere necessariamente il nome di ciascuno, e non potete seguire ogni singola conversazione. I prossimi capitoli parlano del lavoro in questo ambiente.