Quiero lanzar un proyecto de software de huellas digitales de audio bajo una licencia gratuita, pero el repositorio contiene archivos de audio con derechos de autor. Los casos de prueba también utilizan actualmente estos archivos. ¿Cómo publico el código al público con el máximo historial de versiones pero sin violar los derechos de autor?
Detalles:
- El código está versionado bajo git. Lo volveremos a colapsar en una sola rama antes del lanzamiento.
- Hay 400 MB de datos de audio. Algunos archivos son música con licencia gratuita de, por ejemplo, Jamendo, otros son MP3 de nuestras colecciones personales.
- No importa qué enfoque tomemos, siempre guardaremos una copia inmutable del repositorio original, para no destruir el historial del proyecto.
Pregunta principal: ¿Cómo manejar el lanzamiento público?
- Borre todo el historial de los archivos en cuestión desde el repositorio de git y libere el repositorio alterado. (v64 señaló una forma de hacer esto).
- Alternativamente, tome una instantánea del estado actual del código y ni siquiera se moleste en tener un historial público del código de prelanzamiento.
Pregunta secundaria: ¿Cómo podríamos haber evitado este dilema en primer lugar, dado que a veces se necesitan códigos o medios privados para las primeras etapas de un proyecto?
fuente
filter-branch
comando --- solo asegúrate de ejecutarlo en un clon del repositorio ya que es destructivo y no se puede deshacer.Si va a rastrear archivos multimedia grandes (400 MB de audio), póngalo en un repositorio separado.
Eso mata dos pájaros de un tiro:
Si lo desea, puede hacer que sea más conveniente trabajar haciendo que el repositorio de medios sea un submódulo del repositorio público (que planea lanzar).
De esa manera, solo mantienes un puntero, no el contenido (sensible) en sí mismo (para las primeras etapas de desarrollo). Luego, cuando vaya a lanzar el repositorio públicamente, simplemente elimine la referencia del submódulo, que es mucho menos problemático que reescribir su historial para filtrar cosas por valor de 400 MB.
fuente