Fork (desarrollo de software)

Una bifurcación (término en inglés que significa "bifurcación", "bifurcación", "rama") designa en el lenguaje cotidiano, un nuevo software creado a partir del código fuente de un software existente (que no debe confundirse con una bifurcación , conjunto de datos asociado con un sistema de archivos objeto, ni con la llamada al sistema fork que permite que un proceso cree uno nuevo). Su existencia nace de una elección política proveniente de diferentes visiones del proyecto de los diferentes actores que participan en él, luego un actor decide crear la bifurcación para imponerle las ideas que no pudo someter al proyecto anterior, una forma de cisma .

Las bifurcaciones son habituales en el ámbito del software libre , incluidas las licencias que permiten el uso, modificación y redistribución del código fuente. La Office québécois de la langue française recomienda los términos bifurcación o sucursal  ; También se utilizan las expresiones "rama de software" y "rama de software".

Una bifurcación puede ser beneficiosa para un proyecto determinado cuando su gobierno actual conduce a un callejón sin salida, su adquisición por un nuevo grupo puede relanzarlo. También puede ser perjudicial al provocar la dispersión de recursos.

Una bifurcación puede surgir como resultado de puntos de vista u objetivos divergentes entre los desarrolladores, o incluso como resultado de conflictos personales (por ejemplo, Iceweasel en Debian es una bifurcación de Mozilla Firefox ). Los proyectos de padres y disidentes pueden tener relaciones amistosas ( bifurcación amistosa) o relaciones conflictivas ( bifurcación hostil). Cualquiera que sea la relación entre los dos proyectos, las licencias de software libre permiten tomar prestado código de un proyecto para el otro. Por lo tanto, los diferentes BSD toman prestado código regularmente, porque comparten la misma licencia.

Una ilustración de la regulación de proyectos libres por este medio es la aparición de al menos tres bifurcaciones libres para el proyecto SourceForge al final de la "deriva de SourceForge":

Cuchara-tenedor

Existe otra categoría de tenedor , que se llama "spork" . Este tipo de bifurcación se crea como resultado de problemas de relación con el mantenedor (el mantenedor) de un paquete de software que se niega a ajustarse al rol tradicional del mantenedor. Por ejemplo, se niega a integrar arreglos completamente válidos o nuevas funciones sin dar la razón. El spork consiste en tomar el código fuente del proyecto upstream y aplicarle los legítimos parches rechazados por este último.

Un spork permite compartir el esfuerzo de mantenimiento aguas abajo del proyecto. En lugar de que cada distribución mantenga de forma independiente un conjunto de parches que se aplicarán al proyecto inicial, pueden compartir el esfuerzo creando un proyecto intermedio que reúna los parches comunes, luego todo lo que tienen que hacer las distribuciones es administrar los parches específicos. distribución.

Este fue particularmente el caso de proyectos como:

Inglés general, spork ( cuchara-tenedor ), es un acrónimo creado a partir de cuchara (cuchara) y tenedor (rango). Debido a la dualidad de funciones del objeto, se ha mantenido la analogía con las ramificaciones informáticas que mantienen tanto las funciones existentes como añaden otras nuevas.

Ejemplos de horquillas

Ejemplos de "fusiones"

A diferencia de las bifurcaciones , algunos proyectos de software libre deciden fusionar su base de código porque comparten objetivos similares o logran reconciliar sus puntos de vista.

Ejemplos de fusiones de software libre:

Notas y referencias

  1. Bifurcación del artículo , en wordreference.com
  2. "  fork  " , Le Grand Dictionnaire terminologique , Office québécois de la langue française (consultado el 30 de agosto de 2020 ) .
  3. "  Ramificación (Wikcionario, informática)  " .
  4. SourceForge Drift , de la Free Software Foundation Europe
  5. Debian reemplaza glibc por eglibc , por Victor Stinner en linuxfr.org , 8 de mayo de 2009.
  6. go-oo.org
  7. Mambo se convierte en Joomla , por Linuxfr.org el 7 de septiembre de 2005.
  8. [1] , de Clubic.com el 4 de abril de 2013.
  9. Pylons y repoze.bfg se fusionan en Pyramid , según linuxfr.org , 17 de diciembre de 2010.