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

165

He estado leyendo a través de 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 apunten a la gente a SoureForge / FreshMeat y otros sitios, etc., así como a los blogs y otras cosas. Esto me hizo pensar dónde es el mejor lugar para organizar un proyecto y por qué.

Como mi primer proyecto actualmente está alojado en CodePlex, comencé a leer los resultados de búsqueda de Google para recopilar información sobre las ventajas y desventajas 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.

Por lo tanto, la siguiente pregunta se convierte en "¿Debería alojar mi proyecto en varios sitios?", A lo que la siguiente publicación proporciona la respuesta esperada (¡afortunadamente! Ya que sería difícil de mantener).

Hospedar un proyecto de código abierto en varios sitios

Según el estado actual de varios sitios de alojamiento de código abierto, como CodePlex, GitHub, Google Code, SourceForge, etc., etc., ¿hay ventajas / desventajas notables de un sitio sobre el otro? es decir, ¿debo seguir con CodePlex o me estoy perdiendo al no usar una de las alternativas? ¿Se generará más tráfico a un proyecto nuevo y desconocido?

Planeo explorar cada sitio con más detalle para ver qué 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 es solo yo desarrollando, pero los proyectos futuros pueden ser colaborativos, por lo que vale la pena considerar ...

Chris Baxter
fuente
55
Cerrar esta pregunta era completamente innecesaria en mi opinión. Tengo que preguntarme qué se ha logrado con el cierre. La pregunta tiene muchos votos positivos (por lo que, obviamente, las personas lo encuentran interesante), tiene una respuesta muy votada (por lo que estas preguntas y respuestas son obviamente útiles), y es un wiki de la comunidad (por lo que, incluso si pide una opinión subjetiva o recomendaciones de productos, nadie podría se han beneficiado simplemente por patrocinar el último y mejor producto).
stakx - ya no contribuye
12
Este es el tipo de pregunta que debería haberse cerrado antes de obtener tanta respuesta, ya que en realidad no era del tipo apropiado. Sin embargo, ahora que ha recibido tanta respuesta, el cierre es contraproducente y menosprecia las contribuciones que se han realizado.
Chris Stratton
44
Una cosa lograda al cerrar esta pregunta @stakx es protegerla de nuevas respuestas. Ahora seguramente se hundirá en la irrelevancia.
Bob Stein
@ BobStein-VisiBone hundirse en la irrelevancia? Acabo de dar con esta pregunta más de seis años después de que se hizo originalmente.
wonea
2
@wonea Estaba de un humor sarcástico. Me decepciona cuando se cuestionan preguntas relevantes, útiles y que responden como esta. Tal como están las cosas, si surgen nuevas oportunidades para alojar código abierto, esta página está artificialmente limitada para editarlas en una respuesta existente. Las preguntas de oportunidad particularmente necesitan espacio para evolucionar. Espero que se vuelva más rancio cada año. Stackoverflow es genial, pero también destruye muchas cosas geniales.
Bob Stein

Respuestas:

127

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.

Michael Stum
fuente
3
No puedo estar de acuerdo con Google Code, creo que es fácil, intuitivo y liviano (¡y el sitio web es rápido ! ¡Compárelo con CodePlex ...!) Y sería mi elección número 1 en todo momento. Pero el resto es una lectura interesante.
Konrad Rudolph el
2
@Konrad True, como se dijo, es algo personal. Quizás el enfoque minimalista me está desanimando. No he escuchado nada malo sobre el lado funcional , pero nunca he alojado un proyecto allí.
Michael Stum
2
Gran respuesta, muy detallada! Da una excelente explicación de las diferencias entre los sitios principales (bueno, CodePlex y GitHub) sobre los que tenía más curiosidad. También es interesante que identifique SourceForge como insignificante en esta etapa; Definitivamente un cambio de opinión de los artículos más antiguos. ¡Gracias!
Chris Baxter
44
También hay factores propios del tipo de proyecto que está ejecutando. Por ejemplo, con proyectos .Net, CodePlex admite la implementación ClickOnce, mientras que Google Code no.
dbkk
1
@MichaelStum Tal vez pueda agregar los servicios de GitHub Pages. El punto de entrada para cualquier proyecto alojado en GitHub debería ser una página.
Matías Fidemraizer
8

Bueno, no ha dicho qué sistema de control de fuente utiliza, lo que influye mucho en sus elecciones.

(no exhaustivo)

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

Soy fanático de Git, pero Mercurial también es bastante impresionante. Personalmente utilizo GitHub por sus increíbles funciones de colaboración, como solicitudes fáciles de bifurcació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 cuán naturalmente está centrado en Microsoft, y también de estigmas pasados. Si está desarrollando exclusivamente para .NET o algo similar, eso cambiará la perspectiva.

Editar: Además, diría que los desarrolladores no suelen ir al azar buscando proyectos interesantes. Usted es igualmente probable que pase inadvertido en GitHub como eres en CodePlex, pero si alguien no descubra su proyecto, que será más probable para enviar mensajes / errores de archivos / contribuir si ya tienen una cuenta en ese sitio web.

erjiang
fuente
2
Actualmente uso Mercurial (no tocaría TFS con un poste de 10 pies)
Chris Baxter
2
Hay algo mal con la frase bifurcación fácil
Marko
2
Para cualquiera que tenga curiosidad, en GitHub, en lugar de dejar de ser una división irreversible de un proyecto, es la mejor manera de modificar un proyecto existente. Después de realizar sus modificaciones personales, puede enviar a ese proyecto original una "solicitud de extracción" a los cambios desde su bifurcación.
erjiang
Estoy de acuerdo en que CodePlex está dirigido únicamente al desarrollo de Microsoft; eso me funciona a mí ... la impresión que tengo es que si es de código abierto general ... GitHub; si .NET enfocado y equipo único / más pequeño CodePlex. También me gusta la edición de conciencia ... esa será la próxima batalla. ¡Gracias!
Chris Baxter
1
@marko: una bifurcación fácil es algo bueno
Nicolas Raoul
4

Dado que Github está creciendo bastante rápido y parece ser el más destacado entre los proyectos que veo en estos días. Conseguirí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.

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

Wolph
fuente
Es interesante que recomiende alojarse en múltiples sitios. Mis pensamientos iniciales serían estar de acuerdo con las referencias SO respondidas anteriormente ... ¿cuáles son sus pensamientos sobre ese hilo?
Chris Baxter el
@Calgary Coder: no estoy hablando específicamente de alojamiento, sino más enlaces. Dejé de usar Sourceforge hace años debido a la lentitud y los horribles cambios de diseño. Pero crear el proyecto en sourceforge y vincularlo a su sitio web github (o lo que sea) puede ayudar a que su proyecto sea más fácil de encontrar. Para la documentación, encontré que el wiki de Google Code es más fácil que el wiki de Github, por eso prefiero eso. Me gusta la interfaz de Github y las opciones de bifurcación, así que creo que es una buena opción para su fuente. Para la revisión del código, encontré que launchpad es muy agradable.
Wolph el
4

Esta pregunta parece un duplicado de esta: /programming/10490/best-open-source-project-hosting-site

Aquí estaba mi respuesta a esa pregunta: /programming/10490/best-open-source-project-hosting-site/3433969#3433969

En general, creo que los pros / contras importantes se relacionan más significativamente 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.

revs jwanagel
fuente
1
Gracias por el enlace, estaba tratando de no duplicar una pregunta, pero me la perdí.
Chris Baxter
1
@CalgaryCoder al menos podría haber votado, ya que se tomó el tiempo para agradecerle. Nvm, lo hice por ti ;-)
Mawg dice que reinstale a Mónica el
Estos enlaces parecen estar muertos ahora.
pbible