Olá Pessoal…
Hoje irei falar um pouco sobre Fork, o que é e qual sua importância nos ramos da informática.
$> Visão Geral:
Pessoal, um Fork basicamente é uma bifurcação de um Projeto de Software já existente, sendo que pode ser totalmente diferente do projeto original, ou apenas, implementá-lo, sendo criado por um programador ou por uma equipe de desenvolvedores dedicados a esse projeto.
$> Exemplos:
Pessoal, é só pensar em uma raíz de árvore, tudo inicia com um tronco (1 – projeto original), e depois as raízes começam a se separar ao longo do trajeto (2 – ramificação A, 3 – ramificação B), e por ai vai.
Um dos maiores exemplos de Fork é o código Linux, pois pensando em uma hierarquia bem simples:
Código Linux -> Debian -> Ubuntu -> Linux Mint
Código Linux -> Red Hat -> Fedora
Código Linux -> Slackware -> S.u.S.E. (+ conceitos e pacotes .rpm da Red Hat) -> SUSE -> OpenSUSE
Acima pessoal, mostrei um exemplo simples de Fork, percebendo que todos começam no Código Linux, porém todos tiveram resultados diferentes, e mesmo que as bifurcações ocorram, os projetos podem continuar, por exemplo. Houve a bifurcação do projeto Ubuntu, no qual um grupo de desenvolvedores, em base do código fonte existente criaram o Linux Mint, porém a equipe do Ubuntu continua atualizando a distro linux. Há um site interessante mostrando a linha do tempo do desenvolvimento de distros GNU / Linux, se quiser acessar basta Clicar Aqui, note que as principais raízes são a do Debian, Slackware e RedHat.
Há também Fork da mesma equipe de desenvolvimento, por exemplo, a Mozilla, criou um navegador baseado no NetScape Navigator, e aproveitando seu próprio navegador, criou um Fork, que hoje é conhecido como Firefox:
NetScape Navigator -> Mozilla Navigator -> Mozilla Firefox
E por último, há o Fork da equipe de desenvolvimento original, porém com vinculos diferentes, por exemplo, depois que a Oracle comprou a Sun, vários projetos ficaram com incertezas, como o MySQL, o Solaris e o OpenOffice, todos esses, boa parte dos desenvolvedores saíram dos projetos iniciais e fundaram novos projetos, como no exemplo abaixo:
Sun Solaris -> Open Solaris -> Open Indiana
MySQL -> Maria DB
OpenOffice (+ equipe e desenvolvimento BrOffice) -> LibreOffice
$> Conclusão:
Conclui-se que, Fork é uma boa alternativa para atualizar e aprimorar os aplicativos existentes, porém, a equipe deve ser focada e seguir sempre com o objetivo, senão pode cair no esquecimento e não alcançar o objetivo esperado.
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Otimo post!!
Muito Obrigado Osvaldo.
Abraços fera.