¿Cuál es la etiqueta de renombrar una bifurcación de código abierto?

29

Quiero bifurcar en Github el marco de prueba de TestNG java (licencia Apache 2) para poder agregar / cambiar algunas cosas menores para satisfacer mis necesidades.

Es poco probable que todos mis cambios sean aprobados en el proyecto principal o que otras personas usen mi tenedor. Esto de ninguna manera sería una competencia para el proyecto principal.

Ahora, en términos de nombres, quiero cambiar el nombre del artefacto (testng-mycompany) o la versión (6.8.mycompany) para que no haya confusión con la versión oficial en mi repositorio maven. ¿Se consideraría esto una mala etiqueta? En caso afirmativo, ¿cuál es el mejor enfoque para distinguir su tenedor?

Bogdan Calmac
fuente
99
Consulte también el proyecto de Forking sobre el proceso de Github y la intersección de etiqueta y etiqueta de bifurcación (que actualmente tiene su pregunta y la vinculada).

Respuestas:

5

Bifurca y haz tu peor / mejor.

El software de código abierto siempre se ha tratado de permitir que las personas se adapten, cambien y desafíen las convenciones. La parte difícil de bifurcar un proyecto es desarrollar una nueva comunidad a su alrededor que crea en lo que está haciendo.

Por ejemplo, podría descargar el código fuente de Apache, hacer algunas modificaciones y llamarlo la próxima gran cosa ... pero si nadie más se sube a bordo, entonces estoy atrapado jugando a miles de nuevas características y correcciones de errores proporcionadas por la comunidad central de Apache.

Referencia: Juego de Tronos.

En lugar de bifurcar TestNG, podría ser más simple escribir módulos / complementos para él encima del Repo existente, de esa manera solo necesitará mantener su propio código.

Alternativamente, si siente la necesidad de alterar TestNG, entonces tal vez sea simplemente la herramienta incorrecta para el trabajo.

[Descargo de responsabilidad, nunca he oído hablar de TestNG hasta ahora]

dave.zap
fuente
-1. Esto de ninguna manera responde a la pregunta.
Jon Bentley
2

Los proyectos de código abierto están destinados a ser avanzados. Lo mejor de los proyectos de código abierto es que fomentan la colaboración externa. Cuando decide bifurcar un proyecto, simplemente declara que ha tomado la iniciativa de producir su propio "sabor" o "interpretación" del proyecto. Muchos equipos terminarán bifurcando sus propios proyectos para expandir la base del proyecto para múltiples propósitos.

Ejemplo: Webkit y Blink

En lo que respecta a los nombres, desea ser lo más claro posible. Las prácticas básicas de nomenclatura en el desarrollo son bastante ambiguas.

Vaya a: ¿Qué "convención de nomenclatura de versión" utiliza?

Si tuviera que bifurcar, querría indicar su "Nombre" y luego transmitir exactamente qué versión está utilizando.

No veo una razón para bifurcar a menos que planees llevar el proyecto en una dirección fundamentalmente diferente de lo que se pretendía. He descubierto que, en la mayoría de los casos, las características / modificaciones adicionales que propondría ofrecen una gran oportunidad de aprendizaje desde ambas direcciones. En todo caso, estoy con Dave sobre la idea de crear módulos separados para promover la modularidad y preservar la integridad del proyecto central.

Colt Stumpf
fuente