¿Por qué debería alojar el código en algún lugar como este?
Un punto clave del desarrollo de software de código abierto es compartir el código fuente. Hay varias formas de hacer esto, como colocar archivos tar / zip en un servidor web o ftp. Los servicios como el código de Google (o sourceforge.net, gitorious.org, bitbucket.org y muchos otros) eliminan la necesidad de ejecutar sus propios servidores para este propósito.
¿Y eso significaría que tengo que quitar el sitio de mi alojamiento actual o es un tipo de alojamiento completamente diferente?
Estos servicios no son servidores web de uso general, pero ejecutan servicios muy especializados. No están destinados a ser la página de inicio de un producto, sino más bien un panel de desarrollador.
Con el código de google obtienes
- un wiki
- un rastreador de errores
- espacio de descarga de archivos regular
- un servidor de control de versiones
Por supuesto, puede configurar este software en un servidor web normal (el control de versiones puede ser complicado, pero eso depende en gran medida de los detalles), pero el principal beneficio de usar un host de desarrollo es que no necesita tener cuidado de estos sistemas para los tuyos. El principal inconveniente es que no tienes control sobre qué software se usa en el servidor, tienes que vivir con lo que está disponible en ese host. También debe tener en cuenta qué sucede si el servicio deja de funcionar (está bien, Google nunca falla), y si puede llevar los datos del host actual a otro o a su propio servidor (piense en las copias de seguridad).
Qué sucede cuando hago que mi sitio sea de código abierto, qué derechos tengo,
Esta es una pregunta difícil, ya que depende de la ley del país donde vives.
¿Qué derechos le doy?
Esto depende de la licencia que otorgue al producto. Puede ir de código abierto patentado (piense en PGP) donde el usuario básicamente no puede hacer nada con el código, en el otro extremo de la escala está el dominio público, donde cada uno puede hacer lo que quiera.
¿Cómo funciona? ¿La gente viene y me lanza un código gratis?
Es muy poco probable que esto suceda, ya que su producto necesita suficiente popularidad para atraer a otros desarrolladores.
[...] y ahora me pregunta si quiero que el proyecto tenga alojamiento de código Git, Mercurial o Subversion.
Estos son tres sistemas de control de versiones diferentes, donde Subversion es centralizado, mientras que Git y Mercurial se distribuyen.
Hay guerras religiosas sobre cuál usar, pero el punto principal es usar uno. Consulte http://martinfowler.com/bliki/VersionControlTools.html para obtener más detalles.
Cuándo elegir Subversion:
- Tiene archivos binarios, que no se pueden combinar fácilmente, y necesita el flujo de trabajo bloquear-> modificar-> confirmar-> desbloquear, que admite subversión¹
- Debe verificar solo una parte de la estructura de directorios.
¹ Hay una extensión de bloqueo para mercurial, pero no tengo experiencia con ella y no puedo decir si es utilizable.
Cuando no necesita las características anteriores, es mejor usar Mercurial o Git. Ambos tienen las siguientes ventajas sobre Subversion: