Bifurcação (desenvolvimento de software)
Nota: Para outros significados de Fork, veja Fork (desambiguação).
Em engenharia de software, uma bifurcação ou ramificação (em inglês: fork) acontece quando um desenvolvedor (ou um grupo de desenvolvedores) inicia um projeto independente com base no código de um projeto já existente, ou seja, quando um software é desenvolvido com base em outro, já existente, sem a descontinuidade deste último. O termo é também usado para outras separações de qualquer tipo de trabalho (por exemplo, há várias bifurcações da língua inglesa na Wikipédia). O termo é particularmente usado no software livre ou de código aberto, quando uma divisão ocorre por causa de diferentes objetivos ou brigas de personalidade. Alguns vêem as bifurcações como uma fraqueza no software livre, mas outros acreditam que eles demonstram a adaptabilidade do modelo. A relação entre os times pode ser cordial ou muito dura (ver xMule e sua bifurcação aMule). Em uma bifurcação deste tipo, ambos os lados herdam propriedade intelectual idêntica, mas tipicamente apenas o maior grupo, ou aquele que contém o arquiteto original, irá manter o nome original e o seu capital social associado. Então, existe uma penalidade na reputação associada com o bifurcação. Isto pode acontecer no software de código fechado também, se os direitos ao código comum forem compartilhados; mas este é mais raro, como há, em geral, regras estritas sobre a propriedade do código. É mais comum no software de código fechado um desenvolvedor fazer uma bifurcação do seu próprio projeto, para desenvolver duas versões, como uma versão em janelas e outra em linha de comando. Outro tipo de bifurcação é uma prática padrão em muitos projetos: fazer uma bifurcação estável ou de produção que será modificada apenas para correções de defeitos, enquanto uma versão de desenvolvimento continua tendo novas características adicionadas. Isto é uma prática comum no núcleo Linux, por exemplo, mas é comumente mal-interpretado na imprensa como o tipo mais problemático de bifurcação. Veja um exemplo aqui Em alguns casos, um bifurcação pode voltar ao seu projeto original ou substituí-lo. O EGCS (Experimental/Enhanced GNU Compiler System) era um bifurcação do GCC que era mais ativo que o projeto original e foi depois considerado o projeto GCC oficial. Outros exemplos
Ligações externas
|