why would I host the code somewhere like this?
Un punto chiave dello sviluppo del software open source è quello di condividere il codice sorgente. Ci sono diversi modi per farlo, come mettere file tar / zip su un server web o ftp. Servizi come google code (o sourceforge.net, gitorious.org, bitbucket.org e molti altri) eliminano la necessità di eseguire i propri server per questo scopo.
And would that mean I have to take the site off of my current hosting, or is this an entirely different type of hosting?
Questi servizi non sono host web generici, ma eseguono servizi molto specializzati. Non sono pensati per essere la homepage di un prodotto, ma più una dashboard per sviluppatori.
Con il codice google ottieni
- un wiki
- un bugtracker
- spazio di download regolare dei file
- un server di controllo versione
Naturalmente puoi configurare questi software su un normale server web (il controllo delle versioni potrebbe essere complicato, ma dipende molto dai dettagli), ma il vantaggio principale dell'utilizzo di un hoster di sviluppo è che non ti serve prendersi cura di questi sistemi per conto tuo. Lo svantaggio principale è che non si ha il controllo su quale software è utilizzato sul server, bisogna vivere con ciò che è disponibile su quell'host. È inoltre necessario considerare cosa accade se il servizio ha cessato l'attività (ok, Google non fallisce mai) e se è possibile trasferire i dati dall'host corrente a un altro server o al proprio server (si pensi ai backup).
What happens when I make my site open source, what rights do I have,
Questa è una domanda difficile, poiché dipende dalla legge del paese in cui vivi.
what rights do I give away.
Dipende dalla licenza che si fornisce al prodotto. Può passare da open source proprietario (pensate a PGP) in cui l'utente non può praticamente fare nulla con il codice, dall'altra parte della scala è di dominio pubblico, dove ognuno può fare ciò che vuole.
How does it work, do people just come and throw code at me for free?
È molto improbabile che ciò accada, dal momento che il tuo prodotto ha bisogno di abbastanza popolarità per attirare altri sviluppatori.
[...] and now it's asking me if I want the project to have Git, Mercurial, or Subversion code hosting.
Questi sono tre diversi sistemi di controllo della versione, in cui Subversion è centralizzato, mentre Git e Mercurial sono distribuiti.
Ci sono guerre religiose su quale usare, ma il punto principale è usarne uno. Vedi link per ulteriori dettagli.
Quando scegliere Subversion:
- Hai file binari, che non possono essere facilmente uniti e hanno bisogno del workflow lock- > modify- > commit- > unlock, che subversion supporta¹
- Devi controllare solo una parte della struttura della directory.
¹ C'è un'estensione di blocco per mercurial, ma non ne ho esperienza e non posso dire se è utilizzabile.
Quando non hai bisogno delle funzioni precedenti, è meglio usare Mercurial o Git. Entrambi hanno i seguenti vantaggi rispetto a Subversion: