Editar 2015-08-01: Esta respuesta sigue obteniendo puntos de vista y votos. Es más que antiguo y me gustaría eliminarlo, pero como es la respuesta aceptada, no puedo hacer eso. Por otra parte, es el wiki de la comunidad y la comunidad lo ha mantenido actualizado. ¡Gracias por eso!
SourceForge ha cruzado al lado oscuro, haciéndose cargo del proyecto y combinándolos con Adware ( Google GIMP Sourceforge Adware ). Evitar a toda costa. A partir de ahora, GitHub sigue siendo el más popular, aunque existen alternativas (por ejemplo, BitBucket ofrece repositorios privados ilimitados de forma gratuita para hasta 5 usuarios).
Es una locura cuánto cambió el panorama en los últimos años, y si estás leyendo esto en el futuro, tal vez GitHub ya no sea el producto genial. La conclusión es: hay una gran cantidad de opciones increíbles para cualquier sistema de control de fuente que desee usar.
Antiguo 2010 siguiente información para el bien de la historia
Editar: esta respuesta ahora es antigua. En los últimos 2 años, GitHub se ha convertido en el lugar principal de Code Hosting, y cada vez que tengo que crear un nuevo proyecto OSS, no tengo la menor duda de a dónde ir. Dejando esto a continuación para referencia.
De hecho, mi publicación tiene casi 2 años (2008) ahora y ya no es del todo precisa.
¿Por qué?
Porque creo que SourceForge es insignificante ahora para proyectos de código abierto. De acuerdo, esto me meterá en muchos problemas, así que déjenme aclarar:
Estoy absolutamente convencido de que los proyectos de código abierto deben ejecutarse en un DVCS, preferiblemente git o mercurial, ya que son los más extendidos, nada en contra de Bazaar, pero creo que es un poco oscuro. ( Editar: SourceForge ahora ofrece Mercurial y Bazaar, por lo que ese argumento ya no se sostiene. Sin embargo, después de dos rediseños, creo que la imagen de SF no es demasiado grande. Para compararlos con las imágenes de las empresas: mientras que GitHub es Apple, SF es IBM, sólido como una roca, pero un poco polvoriento)
Así que si tuviera que escribir de nuevo este anuncio, sería CodePlex vs GitHub vs BitBucket , con GitHub ser el ganador. Pero esa es una declaración general, así que permítanme agregar detalles. +/- no es estrictamente Pro / Con, es más para destacar diferentes filosofías.
CodePlex
+ Real Mercurial / Git Hosting: no hay puente con errores sobre TFS, tiene Mercurial / Git
+ Wiki integrado real que permite agregar documentación rica y páginas bonitas
+ Rastreador de errores y foros de discusión incluidos
- El navegador de código fuente no es tan bueno - Las diferencias aparecen en una ventana emergente y simplemente "se sienten" complicadas
- Las solicitudes de Forks y Pull "no son tan fáciles" - la interfaz de usuario podría necesitar algo de trabajo
En general, CodePlex sigue siendo excelente, pero creo que es más adecuado para desarrolladores individuales o equipos muy pequeños porque el enfoque del sitio web está en el Wiki en lugar del código fuente. Es más una publicación que una plataforma de colaboración. Teóricamente no necesita una página de inicio del proyecto, su proyecto CodePlex puede ser su ventanilla única.
GitHub
+ Git Hosting, admite SSL / SSH
+ El gráfico de red permite ver los tenedores y lo que se combinó en qué cuando
+ Capacidad para 'mirar' proyectos: su página de cuenta es como un muro de Facebook con nuevos registros
+ Visor de diferencias súper bueno con la capacidad de comentar en cambios de una sola línea - ver aquí
+ Forking es un proceso de 2 clics, y también lo está enviando solicitudes de extracción
+ GitHub ahora tiene la herramienta GUI GitHub para Windows
- La página principal no es muy "bonita" para los no desarrolladores. Si tiene un archivo Léame en su proyecto (admite algunos lenguajes de marcado como Markdown o HTML), se muestra, pero la página inicial es el código fuente
, Wiki no es tan bueno, es Markdown, pero a veces el formato se siente demasiado complejo.
GitHub tiene una filosofía diferente a CodePlex: se trata del código fuente y de la colaboración entre desarrolladores. La página principal del proyecto es el código fuente más actualizado. Hay un Wiki separado, pero está más destinado a la Documentación que a la presentación de su proyecto. El gráfico de red es fantástico, aunque puede ser confuso una vez que hay más de aproximadamente 20 tenedores (con frecuencia cuando se anuncia un proyecto de alto perfil, todos y su perro lo bifurcan, pero la mayoría de los tenedores mueren rápidamente). GitHub escala muy bien a cualquier tamaño.
De hecho, GitHub hace que sea muy fácil para mí bifurcar un proyecto, aplicar una corrección / parche, enviarlo a mi bifurcación y enviar una solicitud de extracción al autor. Junto con el gráfico de red, es realmente fácil ver la confirmación.
Pero lo más probable es que necesite una página de inicio separada para presentar su proyecto a los usuarios finales y proporcionar descargas, ya que las instalaciones de descarga de GitHubs no son tan buenas.
BitBucket
+ Git / Mercurial
+ Permite repositorios privados gratis, hasta 5 usuarios
No he usado BitBucket lo suficiente como para hacer un comentario real. La única característica que lo distingue es que el alojamiento privado es gratuito, mientras que GitHub cobra y Codeplex no lo ofrece en absoluto.
Código de Google
Google Code ya no es una opción.
- La creación del proyecto está deshabilitada desde marzo de 2015, y el servicio de Google se cerrará permanentemente el 25 de enero de 2016 , ya que los servicios de la competencia son simplemente mejores.
- Es feo y es demasiado complicado navegar por el código fuente (el enlace está algo enterrado)
No lo he usado, así que no quiero decir que sea malo, no lo es. Muchos proyectos lo usan y es muy estable y robusto, no he escuchado mucho de ningún desarrollador. Sin embargo, como una cuestión de opinión personal y subjetiva, el "diseño" me desanima.
SVN vs.Git / Mercurial
Para reiterar mi comentario anterior sobre SourceForge siendo obsoleto: Eso es, por supuesto, un poco duro. Sin embargo, creo que SVN es perjudicial para los proyectos de código abierto. En primer lugar, requisitos de metadatos extraños para ignorar los archivos. En Git o mercurial, tiene un archivo llamado .gitignore o .hgignore en la raíz de su árbol fuente que incluye una lista de archivos / directorios / patrones para ignorar. Sin magia svn: ignora los metadatos en la carpeta .svn. Esto solo sopla SVN fuera del agua para mí. Si comienzo un nuevo proyecto de Visual Studio, necesito aplicar esos metadatos mágicos, mientras que con Git / mercurial simplemente copie un archivo y termine con él.
Entonces, la capacidad de bifurcar, parchear y enviar una solicitud de extracción es fantástica, especialmente para parches pequeños / únicos.
Por último, pero no menos importante, SourceForge sigue siendo MUY complejo para mi gusto. No es un mal anfitrión, pero realmente muestra su edad en mi humilde opinión. Dicho esto, sigue siendo robusto y tiene muchos espejos en todo el mundo. Además, el Bug Tracker es mucho más sofisticado que los demás.
Además, si su proyecto por alguna razón requiere reglas estrictas de contribución (lo que puede tener sentido, por ejemplo, protección legal para asegurarse de que el código comprometido sea realmente legalmente contribuido), entonces puede funcionar un sistema tradicional como SVN alojado en SourceForge.
Editar: No sabía que SF finalmente ha distribuido hosting. Como se dijo anteriormente, es robusto pero ya no es el 'chico genial', y lo encuentro demasiado complejo.
TL; DR
Para cualquier proyecto pequeño a mediano, recomiendo GitHub, para proyectos pequeños donde también quieres un buen sitio web, iría con CodePlex y para proyectos privados iría con BitBucket. Para los grandes proyectos que requieren un rastreador de errores muy sofisticado, toneladas de características adicionales y un sitio web 'real', considere Source Forge.