¿Cómo debo contribuir a un proyecto GitHub (en su mayoría) abandonado?

41

Recientemente he estado tratando de entrar en la colaboración de código abierto en GitHub y me he encontrado con una situación en la que siento curiosidad por cuál es la mejor forma de proceder.

Hace aproximadamente un mes, encontré un proyecto en GitHub para una biblioteca que ya había estado usando durante un tiempo y en el que había encontrado (y corregido) algunos errores.

Como una incursión inicial en la colaboración de GitHub, encontré el repositorio que parecía tener el mayor volumen de actividad reciente, solucioné un error, añadí pruebas de unidad, subí a GitHub y realicé una solicitud de extracción. En unas pocas horas, el mantenedor del repo que bifurqué aceptó el RP y se fusionó con otros PR de otras personas que también habían estado esperando.

Alentado por esto, arreglé tres errores más que había encontrado, cada uno en una rama separada de mi propio repositorio, y presenté un problema y una solicitud de extracción para cada uno por separado.

Eso fue hace poco más de un mes, y las solicitudes de extracción han estado ahí, sin tocar, desde entonces. El usuario cuyo repo me había bifurcado no parece ser muy activo, ya que solo realizó 7 contribuciones en GitHub en el último año, y ese repo no ha tenido ningún compromiso desde la primera solicitud de extracción que hice.

Así que mi pregunta:

¿Cómo se procede en esta situación? Idealmente, me gustaría evitar crear una fragmentación de la biblioteca y hacer un montón de cambios en mi propio repositorio que no se fusionan con el repositorio principal. No obstante, me gustaría continuar haciendo correcciones de errores y agregando funciones, pero si fusiono todo en mi rama maestra y baso todas las nuevas soluciones en esa rama, entonces si el mantenedor del repo que he entregado alguna vez vuelve, gané No puedo dividir todos los cambios en solicitudes de extracción separadas para cada característica / corrección de errores (he leído que las solicitudes de extracción en general deben ser una solicitud de extracción por función o corrección de errores).

¿Debo mantener una rama que esté en sintonía con el repositorio original, basar todas mis nuevas sucursales en esa y luego mantener todas las confirmaciones combinadas en mi rama principal? Parece que eso me dejaría con un montón de sucursales y una tarea cada vez más pesada cada vez que necesito fusionar nuevos cambios en mi rama principal.

¿Cuál es la forma típica en que uno abordaría una situación como esta? Parece ser bastante común que un proyecto simplemente se abandone con los colaboradores originales que no están alrededor para revisar las nuevas solicitudes de extracción. ¿Es esta una situación en la que alguien debería tomar el timón y correr con él? Parece que se crearía una fragmentación si los colaboradores originales regresaran y quisieran trabajar en el proyecto nuevamente.

    
pregunta JLRishe 13.02.2015 - 19:24

2 respuestas

37

Todavía no he tenido esta situación, pero eso es lo que intentaría:

Intenta ponerte en contacto con el propietario

Tal vez realmente perdieron interés, pero están dispuestos a transferir el proyecto a otra persona, en particular a alguien que ya ha demostrado un compromiso considerado.

Pero tal vez solo estén ocupados con otra cosa (trabajo, vacaciones, enfermedad, otros proyectos) y no tuvieron tiempo para manejar sus RP, pero planean hacerlo más tarde.

O tal vez realmente han dejado de trabajar en el proyecto de forma permanente por cualquier motivo.

Sin preguntar, no lo descubrirás.

Póngase en contacto con la comunidad

Seguramente hay otras personas que han contribuido o al menos utilizado el proyecto. Compruebe quién ha bifurcado el proyecto (incluso si no han hecho ningún cambio, es posible que todavía estén interesados en que este proyecto prospere); verifica quién ha reportado problemas, o comentado sobre ellos. Quizás también haya una comunidad fuera de GitHub, por ejemplo, una lista de correo, un foro o miembros de StackOverflow.

Al final, yo realmente asumo el proyecto, es posible que desee su apoyo. Y necesitan saber dónde está el nuevo repositorio maestro.

Continuar para hacer buenas solicitudes de extracción

Esto le muestra tanto al propietario como a la comunidad que lo tomas en serio y que juzguemos tus contribuciones.

    
respondido por el oefe 13.02.2015 - 22:15
15

Si el propietario del repositorio original no se encuentra en ninguna parte y está ausente por un tiempo considerable, publicaría mi propio repositorio como una versión diferente del proyecto.

Con esto, tomas el liderazgo del desarrollo de la biblioteca y no lo dejas morir en un rincón sin ser actualizado nunca más. Si el propietario original alguna vez cierra el repositorio, el mundo aún puede usar la versión bifurcada.

    
respondido por el cllamach 13.02.2015 - 20:13

Lea otras preguntas en las etiquetas