Pregunta

En esta pregunta, Mencioné mi suposición de que rubyforge gemas son más oficial, autorizado y estable de github horquillas.Una de las personas que respondieron a mi pregunta, dijo que mi suposición puede no ser exacta.

¿Qué has observado?Hacer uso de la gente de github para liberar pronto y liberar a menudo, sólo poner versiones estables en rubyforge, o hacer a la gente de liberar con menos frecuencia en rubyforge por otras razones (por ejemplo, rubyforge siendo más una molestia)?

Actualización:Esta pregunta es un poco irrelevante ahora. Github gemas son desaparecida, y rubyforge gemas va a ser trasladado a rubygems.org.

¿Fue útil?

Solución

No hay diferencia en lo que puedo decir.

Hay una gran variedad en la calidad / estabilidad de las gemas de ambas fuentes. Algunos son de roca sólida, otros son de calidad pre-alfa.

Realmente depende del proyecto joya en sí.

Una vez dicho esto, sin embargo, el modelo github se presta a más rápida a su vez en torno a los problemas. Es mucho más fácil que desembolsar un proyecto, corregir un error, y enviarlo de nuevo a ser incluidos en la fuente original. Así que al menos en los proyectos populares, los errores se arreglen rápido. Así que tal vez eso ayuda a proyectos maduren más rápido, pero no sé.

Otros consejos

Lo que he notado es una disminución de la calidad de la JOYA lanzada a través de GitHub, en comparación con la calidad general de las GEMAS en RubyForge.

En mi humilde opinión hay, al menos, dos de las principales explicaciones para este comportamiento:

--

Antes de GitHub el 99% de Rubyist fue Subversion-dependiente.Puedes decir lo que quieras sobre la Subversión, pero es definitivamente más fácil de usar en comparación con Git y todo el mundo es consciente de la cajuela/tags/ramas de diseño.Entonces la gente empezó a mover a Git.Sólo un super-limitada rebanada de Subversión de los usuarios comenzó a usar Git con el nivel de conocimiento que se debe exigir y, lo que he notado, es que la gente empezó a olvidado acerca de las etiquetas.

Érase una vez había tags.En subversion personas fueron utilizados para liberar la nueva versión basada en etiquetas específicas, de modo que usted puede detectar fácilmente que la versión que has instalado y que fue la rama estable.

Hoy en día veo toneladas de bibliotecas siempre bajo desarrollo en el master de Git branch.No hay etiquetas, no estable ramas.En general, cuando las bibliotecas donde se libera a través de RubyForge hubo un mayor nivel de atención para el paso de la implementación.

--

GitHub hace que el paso de publicación no más de una molestia.Dicho esto, usted puede publicar fácilmente una nueva JOYA simplemente empujando el gemspec en su repositorio.

En mi opinión, esta simplicidad puede conducir a una menor calidad.Más menos cualificados desarrollado comenzó a distribuir las GEMAS porque es tan fácil como la generación de un nuevo proyecto con el Joyero (o una biblioteca similar) y empujando a un repositorio git.No sabían mucho más acerca de la gestión de versiones, la compatibilidad, la liberación de golpes, lanzamiento de mantenimiento.

A menudo me encontré con una pendiente de bibliotecas empaquetado como una JOYA sólo porque el desarrollador olvidó remoto .archivo gemspec.Cada commit causado una nueva JOYA a construir sin aparente coherencia y consistencia.

Estoy absolutamente a favor de la "liberación a menudo" la práctica, pero cuando tiene sentido.Git ofrece una excelente rama de apoyo, no es necesario para el desorden de la rama principal con toneladas de relación se compromete y soltar sin terminar la pieza de código que llame a las bibliotecas.

--

Por último, pero no menos importante, lo que, probablemente, los que más odio es el ilimitado duplicación de la misma JOYA.Cuando RubyForge fue la indiscutible JOYA de la fuente, que era bastante fácil de encontrar e instalar un nuevo proyecto.

En mi humilde opinión, GitHub presentó una capa innecesaria de complejidad.En primer lugar, usted tiene la GEMA ambos disponibles a través de rubyforge como mygem y a través de GitHub como username-mygem.A menudo, usted necesita para pasar el tiempo para averiguar qué JOYA es el más actualizado y tiene el maestro de desarrollo.

Además, algunas de las populares GEMA ya no estaba actualizado en RubyForge y mucha gente sigue usando sólo porque RubyGems no le notifica acerca de las nuevas versiones.Fácil de entender, si ha instalado coolgem versión 1.2.4 y la misma biblioteca está ahora disponible como superusuario-coolgem (versión 2.0), RubyGems no es lo suficientemente inteligente para decir que hay una nueva actualización disponible.

--

Ahora es el momento para un descargo de responsabilidad.

No estoy diciendo que los usuarios de GitHub produce mierda GEMAS en comparación con RubyForge.Soy un usuario de GitHub y antes de que yo era un RubyForge usuario así.Miles de GEMAS migrado con éxito de RubyForge a GitHub sin abandonar el usuario final en el "que un" limbo.

El mejor ejemplo de Rails, pero puedo mencionar muchas otras Joyas, incluyendo (pero no limitados a) Capistrano, Hpricot, RedCloth...Todas las bibliotecas están ahora alojados en GitHub y si usted mira atentamente en ellos se puede reconocer fácilmente el mismo nivel de calidad como antes.

Por último, pero no menos importante, todas las bibliotecas continúan ser liberado a través de RubyForge como la fuente principal de modo que usted no necesita volver a configurar su entorno para detectar si para instalar rails-carriles o rieles.

También, el usuario final no se ve afectado por las decisiones de desarrollo.Tomar Capistrano, por ejemplo.Hace un par de meses Jamis anunció el fin de su compromiso con el desarrollo.La comunidad tomó a su cargo el desarrollo y la trasladó al repositorio principal de jamis/capistrano a capistrano/capistrano.¿Qué pasaría si la GEMA fue lanzado como jamis-capistrano?Todos los usuarios tendrían que cambiar a la nueva JOYA y el nuevo repositorio con un montón de problemas.

Este escenario nunca se produjo porque RubyForge sido y continúan siendo el principal Capistrano hub de suministro.

--

En conclusión, yo por desgracia observa una disminución general de la calidad de la GEMA causada principalmente por más personas que se acercan a Ruby y RubyGems sin el nivel necesario de conocimiento.El mismo se aplican a un gran número de Carriles de plugins.

GitHub no pueden ser etiquetados como el culpable.Cuando complejas que las cosas se vuelven más fáciles y más personas se acercan a ellos sin un conocimiento subyacente, es normal que la calidad puede disminuir debido a que la complejidad es un proceso de selección natural.

De todos modos, todavía hay un excelente nivel de calidad en la comunidad de Ruby.Es increíble ver cómo los desarrolladores de Ruby están comprometidos con la unidad de pruebas y otros profesionales de la programación de hábitos.

Probablemente menos estable y un poco más al día :) -r

para responder a su pregunta, finalmente:. Tanto de los recursos que usted ha mencionado (RubyForge, GitHub) se han quedado obsoletas, ya que Gemcutter es el lugar nuevo y sólo para rubygems

Gemcutter es el nuevo defecto Oficial rubygem Anfitrión: http: //www.rubyinside. com / Gemcutter-is-the-new-oficial-default-rubygem-host-2659.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top