¿Cuál es el flujo de trabajo general cuando quiero agregar una función a una aplicación de código abierto que originalmente no escribí? ¿Cómo llego a conocer el código? ¿Cómo encuentro el lugar que necesita ser cambiado o agregado? ¿Cómo realizo el cambio sin romper nada más? ¿Cómo pruebo que todo sigue funcionando?
¿Cuáles son las pautas generales para tal proyecto?
open-source
Dani
fuente
fuente
Respuestas:
Hay algún protocolo, todo el mundo lo desea más o menos con el tiempo, pero aquí está, desenrollado.
Empiezas a navegar un poco por el código
Si realmente no entiendes nada sobre el código ...
Más
Encuentra el lugar que desea cambiar.
Si se pregunta acerca de algunos detalles menores, pregunte al autor / lista de correo y explique sus intenciones.
Cd al directorio principal de la distribución (el principal que sale de la descompresión / descompresión)
usted
diff -ur . > mypatch.path
Envías
mypatch.patch
al autor explicando lo que hiciste, por qué lo hiciste y (como ya estás allí) declaras claramente que renuncias a los derechos sobre el parche.si a los autores no les gusta tu contribución
verifica si hay una forma de liberar su modificación como un complemento de algún tipo
más
llamas sobre la situación en tu blog y lanzas el parche allí, puedes descargarlo gratis y probar con tu explicación y tus comentarios,
Usted persigue de vez en cuando el sistema de errores / lista de correo tratando de comprar soporte para su parche. Evita ser prohibido.
en ninguno de estos casos, bifurca el código , ya que es un proceso muy agotador y poco gratificante que difícilmente podrá seguir con el tiempo: eso dejará a los usuarios tristes y confundidos. Las bifurcaciones realmente solo sucederán cuando una gran corporación esté tratando de intimidar sus decisiones sobre una pieza de OSS .
más
En el lado: hay una alternativa reciente al
diff -ur .
parche y es la forma github .(ahora tiene una copia de su código en su cuenta)
y dígale a los autores principales que miren su proyecto github.
Si les gusta, se sincronizarán .
fuente
Típicamente.
Si se tratara de un proyecto de sistema operativo aleatorio, lo más probable es que solucione errores menores aquí y allá.
Eventualmente enviaría un montón de cambios, como un "parche".
Por lo general, obtendría derechos de compromiso si sus cosas son buenas.
Estoy hablando en general y lo más vago e inespecífico posible debido a la pregunta
fuente