Fork

From FdIwiki ELP
Jump to: navigation, search
Imagen que ilustra un Fork

Fork (o bifurcación) en el ámbito del desarrollo software se refiere a la creación de un proyecto ya tomando un camino distinto respecto del código fuente del proyecto ya existente. Como resultado de esta bifurcación se puede llegar a formar otros proyectos diferentes. Un fork en un proyecto software suele surgir si dicho software no convence a su comunidad por un choque de personalidades o de cumplimiento de los objetivos, este se soluciona cogiendo una copia del código fuente y comenzando un desarrollo independiente para crear una pieza de software distinto con una nueva comunidad asociada.

Creación de LibreOffice

Bifurcaciones del proyecto inicialmente llamado StarOffice

Un claro ejemplo práctico de lo que es un fork fue el conflicto sucedido con el paquete de software de oficina OpenOffice. Sun Microsystems después de adquirir StarOffice y renombrándola como OpenOffice software libre, fue comprada por Oracle que vio potencial en el software de oficina y decidió poner el código privado y rebautizarlo con el nombre de Oracle OpenOffice, esto provoco el enfado de los creadores originales que decidieron seguir con el proyecto por otro camino, creando un así mediante un Fork el nuevo software de ofimática LibreOffice.

Software libre y software propietario

La aplicación del concepto de Fork, es distinto tanto para el Software libre como para el software propietario:

En el software libre, se puede realizar una bifurcación a un proyecto sin necesidad de la autorización del equipo de desarrollo ya que este software esta bajo las libertades del software libre, pudiendo además beneficiarse de estos cambios toda la comunidad según la libertad de distribución de copias modificadas. Aunque las bifurcaciones no son del todo bien vistas, por la división de alianzas que se pueden producir dentro de la comunidad del software libre.

Mientras que en el software propietario, las bifurcaciones se llevan a cabo para crear versiones de un mismo programa que funcione en varios sistemas operativos. Generalmente estas versiones tienen que ser familiares para el usuario en apariencia, sensación, formato de datos y comportamiento, con el objetivo de hacer más fácil su uso.

Aplicaciones del Fork

Dependiendo del ámbito que se trate, el término Fork se puede aplicar en distintos campos pero siempre con la misma base. A continuación se explican algunas aplicaciones:

Bitcoin

Bitcoin
align="center"

Como el código de Bitcoin es código abierto, se utiliza el término Fork para referirse al proceso de descarga y modificación de dicho código. Normalmente estas bifurcaciones, que pueden ser realizadas por cualquier usuario derivan en una nueva criptomoneda. Estos Fork pueden darse por error o intencionadamente: -Fork accidental: Cuando en una actualización realizada por los desarrolladores principales de Bitcoin se comete un error y el código no es compatible con el código anterior. -Hard fork: Se trata de una bifurcación de cadenas de bloques planificada en la que por aceptación unánime todos los usuarios se migran a una nueva cadena de bloques.

Github

GitHub
align="center"

Dentro de la herramienta GitHub, realizar un Fork se refiere a hacer una copia exacta del repositorio original que se puede utilizar como repositorio git. Para después obtener dos repositorios independientes con la misma historia.

Permitiendo construir un proyecto de forma segura.

Android

Android
align="center"

Un fork en Android es cuando se desarrolla un sistema operativo alternativo a Android pero que en esencia lleva el 'Android Kernel' (Adaptación del kernel de Linux). Como por ejemplo el ya conocido sistema operativo de código abierto CyanogenMod.






Véase También

Enlaces externos