Pregunta Dónde alojar un proyecto de código abierto: CodePlex, Google Code, SourceForge? [cerrado]


He estado leyendo la acumulación de preguntas respondidas sobre SO con respecto a "Cómo promover un proyecto de código abierto". No es sorprendente que muchas de las respuestas apuntaran a personas a SoureForge / FreshMeat y otros sitios, etc., así como a los blogs y otras cosas. Esto me hizo pensar ¿cuál es el mejor lugar para organizar un proyecto y por qué?

Como mi primer proyecto actualmente está alojado en CodePlex, comencé a revisar los resultados de la búsqueda de Google para recopilar información sobre los pros / contras de cada uno; sin embargo, las comparaciones que encontré son bastante anticuadas (más de 2 años).

http://www.stum.de/2008/12/13/sourceforge-vs-codeplex/
http://www.developmentnow.com/blog/2006/11/codeplex-vs-sourceforge/
http://www.spacesocket.com/forum/thread-6654.html
etc ...

Entonces, la siguiente pregunta es "¿Debo alojar mi proyecto en múltiples sitios?" A lo que la siguiente publicación brinda la respuesta esperada (¡afortunadamente! Ya que sería una molestia mantener).

Alojando un proyecto de código abierto en varios sitios

En función del estado actual de varios sitios de alojamiento de código abierto como CodePlex, GitHub, Google Code, SourceForge, etc., ¿hay algún pros / contra notable de un sitio sobre otro? es decir, ¿debería seguir con CodePlex o me estoy perdiendo al no usar una de las alternativas? ¿Traerá más tráfico a un proyecto nuevo y desconocido?

Planeo explorar cada sitio con más detalle para ver lo que ofrecen todos, pero dado el vasto conocimiento de las buenas personas en SO, pensé que comenzaría con esta pregunta primero.

ACTUALIZADO

Según la respuesta de erjiang a continuación ... Actualmente estoy usando Mercurial para el control de versiones, y estoy abierto a cualquier cosa que no sea TFS. Además, mi proyecto actual solo me está desarrollando, pero los proyectos futuros pueden ser colaborativos, así que vale la pena considerar ...


166


origen


Respuestas:


Editar 2015-08-01: Esta respuesta todavía recibe opiniones y votos. Es más que antiguo y me gustaría borrarlo, pero como es la respuesta aceptada, no puedo hacer eso. Por otra parte, es wiki de la comunidad y la comunidad lo ha mantenido actualizado, ¡gracias por eso!

SourceForge ha cruzado al lado oscuro, asumiendo el proyecto y uniéndolos con Adware (Google GIMP Sourceforge Adware) Evitar a toda costa. GitHub es a partir de ahora el más popular, aunque hay alternativas (por ejemplo, BitBucket ofrece repositorios privados ilimitados de forma gratuita para hasta 5 usuarios).

Es una locura cuánto ha cambiado el paisaje 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 quiera usar.

Antiguo 2010 información a continuación por el bien de la historia

Editar: Esta respuesta es ahora antigua. En los últimos 2 años, GitHub se ha convertido en el principal lugar de alojamiento de código, y cada vez que tengo que crear un nuevo proyecto de OSS, no tengo la menor sombra de duda 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 ahora es insignificante para los 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 difundidos, nada en contra de Bazar, pero creo que es un tanto 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. Rock sólido, pero un poco polvoriento)

Si tuviera que escribir esta publicación de nuevo, sería CodePlex vs. GitHub vs. BitBucket, con GitHub siendo el Ganador. Pero esa es una declaración general, así que déjenme agregar detalles. +/- no es estrictamente Pro / Con, es más para resaltar diferentes filosofías.

CodePlex

+ Real Mercurial / Git Hosting - sin errores en la parte superior de TFS, tienes Mercurial / Git real
+ Wiki integrado que permite agregar documentación rica y páginas atractivas
+ Rastreador de errores y foros de discusión incluidos
- El navegador del código fuente no es tan bueno - Los anuncios aparecen en una ventana emergente y simplemente se "sienten" complicados
- Las solicitudes de forzados y arrastre "no son tan fáciles" - la interfaz de usuario podría usar un poco de trabajo

En general, CodePlex sigue siendo excelente, pero creo que es más apropiado para desarrolladores individuales o equipos muy pequeños porque el foco del sitio web está en la Wiki en lugar de en el código fuente. Es más una publicación que una plataforma de colaboración. Teóricamente no necesita una página de inicio de proyecto, su proyecto CodePlex puede ser su ventanilla única.

GitHub

+ Git Hosting, compatible con SSL / SSH
+ Gráfico de red permite ver las horquillas y lo que se fusionó en lo que cuando
+ Posibilidad de "mirar" proyectos: la página de su cuenta es como un muro de Facebook con nuevos registros
+ Super buen visor de diferencias con la capacidad de comentar sobre cambios de línea única - mira aquí
+ Bifurcación es un proceso de 2 clics, y también lo es el envío de 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. Existe una Wiki separada, pero está más destinada 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 20 tenedores (con frecuencia cuando un proyecto de alto perfil se anuncia a todos y su perro lo bifurca, pero la mayoría de los tenedores mueren rápidamente). GitHub escala muy bien a cualquier tamaño.

De hecho, GitHub me facilita mucho la tarea de bifurcar un proyecto, aplicar una corrección / parche, enviarlo al tenedor y enviar una solicitud de extracción al autor. Junto con el gráfico de red, es muy fácil ver el compromiso.

Pero lo más probable es que necesite una página de inicio separada para presentar su proyecto a los usuarios finales y para proporcionar descargas, ya que las instalaciones de descarga de GitHubs no son tan buenas.

BitBucket

+ Git / Mercurial
+ Permite repositorios privados de forma gratuita, hasta 5 usuarios

No he usado BitBucket lo suficiente como para hacer un comentario real. La única característica que lo diferencia es que el alojamiento privado es gratuito, mientras que GitHub cobra y Codeplex no lo ofrece en absoluto.

Google Code

Google Code ya no es una opción.

- La creación del proyecto es discapacitado desde marzo de 2015, y el servicio de Google será cierre permanente en enero 25 de 2016, ya que los servicios competidores son simplemente mejores.
- Es feo y es demasiado complicado navegar por el código fuente (el enlace está algo oculto)

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 han escuchado mucho mal de ningún desarrollador. Sin embargo, como una cuestión de opinión personal, subjetiva el 'diseño' me decepciona.

SVN vs. Git / Mercurial

Para reiterar mi comentario anterior sobre SourceForge ser 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 archivos. En Git o mercurial, tiene un archivo llamado .gitignore o .hgignore en la raíz de su árbol de fuentes que incluye una lista de archivos / directorios / patrones para ignorar. Sin svn mágico: ignore los metadatos en la carpeta .svn. Esto solo sopla SVN fuera del agua para mí. Si comienzo un nuevo proyecto de Visual Studio, entonces necesito aplicar esos metadatos mágicos, mientras que con Git / mercurial solo copio un archivo y listo.

Entonces, la capacidad de bifurcar, aplicar parches y enviar solicitudes de extracción es fantástica, especialmente para parches pequeños / únicos.

Por último, SourceForge sigue siendo demasiado 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 algún motivo requiere reglas de contribución estrictas (que pueden tener sentido, por ejemplo, protección legal para garantizar que el código comprometido sea de hecho contribuido legalmente), entonces un sistema tradicional como SVN alojado en SourceForge puede funcionar.

Editar: No sabía que SF finalmente tiene alojamiento distribuido. Como se dijo anteriormente, es robusto pero ya no es el 'niño genial', y me parece demasiado complejo.

TL; DR

Para cualquier proyecto pequeño o mediano, recomiendo totalmente GitHub, para pequeños proyectos en los que desee un sitio web agradable también iría con CodePlex y para proyectos privados iría con BitBucket. Para grandes proyectos que requieren un rastreador de errores muy sofisticado, toneladas de funciones adicionales y un sitio web "real", considere Source Forge.


128



Bueno, no has dicho qué sistema de control de fuente utilizas, lo que influye mucho en tus elecciones.

(no completo)

  • Git -> GitHub o Gitorious son las opciones obvias
  • Mercurial -> BitBucket
  • SVN -> Savannah, SF.net
  • Bazar -> Launchpad
  • CVS -> actualizar a un sistema de control de fuente más nuevo

Soy un fanático de Git, pero Mercurial también es increíble. Yo personalmente uso GitHub por sus increíbles funciones de colaboración, como las fáciles solicitudes de extracción y extracción.

Quiero agregar que CodePlex no es muy popular en el ecosistema de código abierto fuera del campo de Microsoft, y eso es fácil de ver desde su lista más descargada. Probablemente sea una combinación de lo naturalmente centrado en Microsoft que es, y también de los estigmas del pasado. Si está desarrollando exclusivamente para .NET o algo similar, eso cambiará la perspectiva.

Editar: Además, yo argumentaría que los desarrolladores usualmente no buscan aleatoriamente proyectos interesantes. Es igualmente probable que pases desapercibido en GitHub ya que estás en Codeplex, pero si alguien hace descubra su proyecto, será más probable que envíen mensajes / errores de archivos / contribuyan si ya tienen una cuenta en ese sitio web.


8



Dado que Github está creciendo bastante rápido y parece ser el más prominente entre los proyectos que veo en estos días. Tendría mi voto.

Pero creo que uno no tiene que significar que no puedes usar el otro. Veo muchos proyectos que usan Github para la fuente y Google Code para los documentos. Y además de eso un enlace de Sourceforge también.

En realidad, no importa lo que use como host principal, pero le recomendaría que agregue sus proyectos en otros sitios también, así que es fácil encontrarlo.


4



Esta pregunta parece un duplicado de esta: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site

Aquí estaba mi respuesta a esa pregunta: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site/3433969#3433969

En general, creo que los pros / contras más importantes se relacionan de manera más significativa con las características de desarrollo ofrecidas y la audiencia principal de cada sitio, que en mi respuesta anterior paso por los cuatro sitios más populares.


4