Contexto:
Estaba buscando para ver si había una herramienta para hacer algo (en mi caso, estaba buscando un proxy que permitiera la inspección de registros http desde un marco de prueba de Python).
Resultó ser una herramienta que requeriría solo un ajuste menor, y parecía ser razonablemente estable / madura, sin actualizaciones en los últimos 5 meses ( pymiproxy ), así que bifurqué el proyecto ( hasta aquí ) y lo hice funcionar como necesito El objetivo del proyecto original es la simplicidad, por lo que dudo que se acepte una solicitud de extracción, especialmente porque uno de los archivos involucrados solo es útil para mi empleador actual.
Finalmente, pensé que debería actualizar el setup.py
archivo, pero no estoy seguro: he realizado una cantidad 'útil' de trabajo en mi tenedor, y aunque he dejado intactos los archivos originales, subclasificando en mis propios módulos, ahora hay Funcionalidad adicional significativa.
No sé si me siento cómodo afirmando ser el 'autor' de este módulo, ya que Python lo instalaría, pero como autor del proyecto fork, tampoco me siento cómodo dejando correos electrónicos de soporte dirigidos al autor original del proyecto. .
Pregunta:
¿Cuál es la mejor práctica general aceptada para proyectos bifurcados? ¿Debería cambiarse el nombre del proyecto para indicar que tiene un propósito diferente? El proyecto original no está disponible a través de pip o, de lo contrario, la estructura de mi proyecto permitiría que, en lugar de bifurcar, solo envuelva el original como una dependencia. ¿Debería de hecho revertir mis cambios, ponerlos en un nuevo proyecto y obtener los dos listados en pypl, o está haciendo esto en nombre del autor original demasiado lejos?
Notas:
Se agregaron encabezados para ayudar a la lectura rápida. Estoy buscando las mejores prácticas aceptadas, así que no tenga opiniones sin fuentes que las respalden, ya sea una publicación de blog autorizada o ejemplos de otros proyectos que hayan hecho lo mismo.
setup.py
o si implica dividir el proyecto en dos y hacer que la parte de terceros esté más disponible en general, si hubiera una mejor pauta, me alegra escucharlo, pero siempre pensé que el código pertenecía aquí y el proceso en los programadores.Respuestas:
Bueno, en la práctica, cuando bifurco un proyecto y no puedo conseguir, o no quiero, que mis cambios se integren en sentido ascendente, cambio el nombre de la bifurcación, en el archivo README, cito al autor original pero afirmo ser el encargado de mantenerlo. codifique la fuente y vincule la fuente a mi repositorio y en setup.py actualice la
authors
cadena para agregar mi nombre después de una coma:No tengo fuentes que me respalden, pero ese es el resultado de largas discusiones que tuve con otros amigos de pythonista hace un tiempo mientras bebía cervezas oscuras ...
fuente