perché dovrei ospitare il codice da qualche parte in questo modo?
Un punto chiave dello sviluppo di software open source è la condivisione del codice sorgente. Esistono diversi modi per farlo, come mettere file tar / zip su un server web o ftp. Servizi come il codice google (o sourceforge.net, gitorious.org, bitbucket.org e molti altri) eliminano la necessità di eseguire i propri server per questo scopo.
E ciò significherebbe che devo rimuovere il sito dal mio attuale hosting o è un tipo di hosting completamente diverso?
Questi servizi non sono host web generici, ma offrono servizi molto specializzati. Non sono pensati per essere la homepage di un prodotto, ma piuttosto una dashboard per sviluppatori.
Con il codice di Google ottieni
- una wiki
- un bugtracker
- normale spazio per il download dei file
- un server di controllo versione
Ovviamente è possibile configurare questi software su un normale server Web (le funzionalità di controllo della versione potrebbero essere complicate, ma ciò dipende molto dai dettagli), ma il vantaggio principale dell'utilizzo di un hoster di sviluppo è che non è necessario preoccuparsi di questi sistemi per il tuo. Lo svantaggio principale è che non hai alcun controllo su quale software viene utilizzato sul server, devi convivere con ciò che è disponibile su quell'host. Devi anche considerare cosa succede se il servizio si interrompe (ok, Google non fallisce mai) e se puoi trasferire i dati dall'host corrente a un altro o al tuo server (pensa ai backup).
Cosa succede quando rendo il mio sito open source, quali diritti ho,
Questa è una domanda difficile, poiché dipende dalla legge del paese in cui vivi.
quali diritti concedo.
Questo dipende dalla licenza che dai al prodotto. Può andare dall'open source proprietario (pensa a PGP) in cui l'utente praticamente non può fare nulla con il codice, dall'altra parte della scala c'è il dominio pubblico, dove ognuno può fare quello che vuole.
Come funziona, la gente viene e mi lancia il codice gratis?
È molto improbabile che ciò accada, poiché il tuo prodotto ha bisogno di popolarità sufficiente per attirare altri sviluppatori.
[...] e ora mi chiede se voglio che il progetto abbia l'hosting di codice Git, Mercurial o Subversion.
Questi sono tre diversi sistemi di controllo della versione, in cui Subversion è centralizzata, mentre Git e Mercurial sono distribuiti.
Ci sono guerre di religione su quale usare, ma il punto principale è usarne una. Vedere http://martinfowler.com/bliki/VersionControlTools.html per maggiori dettagli.
Quando scegliere Subversion:
- Hai file binari, che non possono essere facilmente uniti, e hai bisogno del flusso di lavoro lock-> modifica-> commit-> sblocco, che sovversione supporta¹
- Devi controllare solo una parte della struttura della directory.
¹ Esiste un'estensione di blocco per mercurial, ma non ne ho esperienza e non posso dire se è utilizzabile.
Quando non hai bisogno delle funzionalità precedenti, è meglio usare Mercurial o Git. Entrambi hanno i seguenti vantaggi rispetto a Subversion: