2011-01-20 17 views
31

Estoy haciendo algo de tiempo de codificación alrededor de CultureGrid. Tienen una API SOLR para acceder a artefactos culturales de 1,2 metros. He lanzado una gema para consumir su servicio, pero tengo una buena idea sobre el uso de Datamapper con un adaptador de SOLR para hacerlo de una mejor manera.¿Cuál es la ética y la etiqueta de bifurcar el proyecto github de otra persona para liberarlo como una gema?

Acabo de encontrar un proyecto del año pasado en Github llamado dm-solr-adapter. Es una bifurcación del trabajo de otra persona a partir de 2008 y para usarla tienes que clonar el proyecto y ejecutar una tarea de rake para instalarlo (no mucho uso en heroku, así que tendría que vendérselo). Lamentablemente, esa tarea ahora se ha roto porque no fijaron sus versiones de gemas, y Bones ha cambiado considerablemente entre la versión 2 y 3.

Básicamente, se necesita un poco de recodia para convertirla en una gema, y ​​si Voy a hacer eso. Es mejor que lo libere yo mismo y lo haga de la manera que conozco, utilizando Joyero en su lugar.

Así que, por supuesto, dejaré una línea a todos los autores, pero me pregunto qué ética y etiqueta hay aquí. ¿Incluyo mi nombre de usuario en la gema o uso el nombre de la gema original? ¿Podría eso potencialmente dañar la instalación de otra persona, a pesar de que la gema no figura en Rubygems.org? ¿Sigo su convención de numeración? Parece que eligieron "1.0.0" y se quedaron con él, sin más actividad. ¿O simplemente comienzo de nuevo desde la versión 0.1.0?

De lo contrario, ¿acabo de tomar los bits que quiero, incluirlo en mi nuevo proyecto y dar una punta de sombrero? Eso no suena muy útil para otros que quieran hacer las mismas cosas.

¿O tal vez tomo las partes que considero útiles, hago una joya completamente nueva llamada algo así como dm-solr-backend y comienzo desde cero?

Oh, los dilemas, ¿qué harías?

+6

Antes de preocuparse demasiado por los detalles, puede escribir a los autores originales y confirmar que abandonaron el proyecto. Si por alguna casualidad estuvieran a punto de comenzar a trabajar en él de nuevo, sería una pena preocuparse por todo esto cuando van a colaborar. – Cascabel

Respuesta

18

Por lo tanto, si no va a lanzar una gema, solo siga adelante y bifurque (suponiendo que la licencia lo permita) y no se preocupe. Eso es 100% correcto e incluso el comportamiento esperado en este punto. Las horquillas son en realidad una de las formas más fáciles de aceptar parches de los contribuyentes. El gráfico de red es a menudo una buena forma de evaluar tanto la salud de un proyecto como las áreas potenciales de mejora.

Si tiene la intención de liberar una joya porque el original se ha convertido sin mantenimiento, que deberán:

  • lanzarlo como username-originalgemname
  • Contactar con el autor original y ofrecer a apoderarse de ella. Luego empuja gemas nuevas bajo el nombre original.

Si tiene la intención de liberar una joya porque necesita cambios en la joya que no se beneficiarían de la comunidad en su conjunto, debe ya sea:

  • Desembale la gema en un directorio de proveedores y nunca liberar
  • lanzarlo como username-originalgemname

En la mayoría de los casos, no hay ningún problema con un comunicado de la gema llamada username-originalgemname. Este fue el modelo que tomó el repositorio de gemas de GitHub, así es como la mayoría de las personas manejan las horquillas en este punto.

4

El único ejemplo de esto que conozco actualmente es la joya del dinero en caché. Se ha bifurcada un par de veces, en este orden:

En cada caso, el proyecto había ido inactivo durante bastante tiempo. Aparte del enlace en GitHub que muestra de dónde vino el tenedor, no hubo ninguna atribución al código original en ninguno de estos casos (el tenedor del medio incluso olvidó actualizar la documentación para especificar qué tenedor instalar cuando se instala desde la gema).

Siempre que haga un esfuerzo de buena fe para contactar al mantenedor original y el proyecto ha estado inactivo durante algún tiempo, intentelo. Solo asegúrate de actualizar la documentación. ;)

4

Con respecto a verificar el estado de un proyecto, hay un nuevo sitio llamado http://stillmaintained.com/ donde algunas personas se registran si su proyecto se mantiene, buscando un mantenedor o abandonado.

+0

Esa es una gran idea para un sitio. Muy fácil agregar mis proyectos y luego ver los de otros. Gracias – stef

+3

Este sitio ya no existe. – Naktibalda

+2

@Naktibalda Tal vez simplemente está buscando mantenedores ... ¿Alguna idea de dónde podríamos encontrar información sobre eso? –

Cuestiones relacionadas