Fork (desenvolvimento de software)

Da Wikipédia, a enciclopédia livre.
Ir para a navegação Ir para a pesquisa

Um fork (ou branch ), no campo da engenharia de software e ciência da computação , indica o desenvolvimento de um novo projeto de software que parte do código-fonte de outro já existente, por um programador . [1] [2]

O termo é usado (mais raramente) para indicar este tipo de condição também para projetos e atividades não necessariamente relacionados a software e tecnologia da informação , embora na maioria dos casos se refira a projetos de software livre e / ou de código aberto : na verdade, para este tipo de licenças de software , nenhuma autorização formal é necessária do desenvolvedor original para sua modificação ou desenvolvimento a partir dos códigos-fonte e, portanto, é mais fácil iniciar um fork.

Descrição

Forks, no contexto do software livre, muitas vezes se transformam em cismas reais devido a conflitos pessoais ou a busca de objetivos diferentes. Quando ocorre uma bifurcação, ambas as partes começam seu trabalho exatamente na mesma base de código, mas apenas o maior grupo, ou aquele que representa o núcleo original, mantém o nome e a comunidade virtual a ele vinculados. Às vezes, o ato de bifurcar leva a uma penalidade de reputação.

No contexto do software proprietário, os direitos autorais pertencem à empresa que desenvolve o produto, não ao desenvolvedor individual. O código proprietário geralmente é bifurcado quando a empresa precisa de duas ou mais versões do mesmo produto, como um gráfico e uma linha de comando , ou versões para sistemas operacionais diferentes. Geralmente este tipo de garfo interno mantém a mesma aparência, o mesmo formato para os arquivos e o mesmo comportamento, para que o usuário possa ser produtivo com ambos: tudo isso quase sempre resulta em um aumento de participação no mercado.

A bifurcação é uma prática comum em muitos projetos, pois existem versões estáveis (ou de lançamento ) destinadas a acomodar apenas pequenas correções e versões de desenvolvimento que contêm a implementação de novos recursos. Isso acontece no desenvolvimento do kernel Linux , por exemplo. Esse tipo de bifurcação é normalmente chamado de ramos para evitar mal-entendidos devido à conotação negativa da palavra "bifurcação" e porque os aplicativos que auxiliam o desenvolvimento (como CVS ou SVN ) usam esse termo.

Em alguns casos, um fork pode ser integrado de volta ao projeto original ou até mesmo substituí-lo. O Experimental / Enhanced GNU Compiler System (EGCS) foi um fork do GCC e demonstrou tal vitalidade em relação ao projeto original que foi promovido a versão oficial do GCC.

Os garfos são considerados uma expressão da liberdade disponibilizada pelo software livre, mas também uma fragilidade pela dispersão de recursos e pela confusão induzida no usuário final. Seguindo uma bifurcação, as relações entre os vários grupos de desenvolvimento podem permanecer cordiais ou tornar-se muito pesadas: por exemplo, quando o autor do programa de compartilhamento de arquivos para Linux LMule não estava interessado em portar o aplicativo para outras plataformas, ele foi bifurcado para o xMule . Por sua vez, este foi dividido em aMule , devido às diferenças entre os desenvolvedores, e as tensões permaneceram.

Em relação ao processo de bifurcação, o Jargon File se expressa da seguinte forma:

«A bifurcação é considerada uma coisa má, não só porque implica um grande desperdício de recursos, mas sobretudo porque tende a ser acompanhada por fortes tensões. Existe uma forte pressão social contra os garfos. Como resultado, grandes bifurcações (como o do Emacs e do XEmacs , a divisão do 386BSD em três projetos paralelos e o do GCC e EGCS) são raros o suficiente para serem lembrados de forma singular na história do folclore hacker "

( Arquivo jargão )

Bifurcar um projeto em um novo é simples, mas continuar a mantê-lo e apoiá-lo não é: é comum que garfos sem recursos suficientes se tornem inativos. Por exemplo, GonoME , um fork do GNOME , logo foi abandonado, embora a princípio tenha despertado algum interesse. Em vez disso, alguns garfos tiveram muito sucesso, como o do XFree86 , X.org e MATE , um garfo do GNOME 2 atualmente adotado pela maioria das distribuições Linux . [3]

Exemplos [4]

Observação

  1. ^ (EN) Ramifique ou bifurque seu repositório em support.atlassian.com. Recuperado em 23 de outubro de 2020 .
  2. ^ Manter um projeto: interagir com os desenvolvedores , em pluto.it . Recuperado em 23 de outubro de 2020 .
  3. ^ MATE Desktop Environment , em mate-desktop.org . Recuperado em 23 de outubro de 2020 .
  4. ^ (PT) Swapnil Bhartiya, Que o garfo esteja com você: Uma breve história de garfos de código aberto , The New Stack. Recuperado em 23 de outubro de 2020 .

Itens relacionados

links externos

Informática Portal de TI : acesse as entradas da Wikipedia que lidam com TI