Compreendendo o Fork (Software)
Fork (Software) é o processo de criação de um novo projeto por desenvolvedores que usaram código-fonte de outro pacote de software. Isto envolve dividir o software em uma versão diferente, abrindo novas possibilidades. No mundo do software de código aberto, a bifurcação é uma prática comum e geralmente vista como um desenvolvimento positivo.
As bifurcações geralmente acontecem quando um grupo de desenvolvedores diverge da direção original de um projeto para melhorá-lo e potencialmente substituí-lo totalmente.
O processo começa com os desenvolvedores obtendo uma cópia legal do código-fonte de um pacote de software e iniciando seu próprio desenvolvimento nele, resultando em uma nova versão do software. Isso é possível devido ao software gratuito e de código aberto, que não viola nenhuma lei de direitos autorais. Como resultado, este tipo de software pode ser bifurcado legalmente sem a necessidade de permissão dos gerentes de projeto ou distribuidores. O objetivo do fork é liberar as melhorias realizadas para que toda a comunidade possa se beneficiar delas.
Embora os forks sejam frequentemente vistos como um símbolo de liberdade e levem a atualizações valiosas, eles também podem surgir devido a conflitos nas comunidades de desenvolvedores, resultando em diferentes perspectivas. Normalmente, o grupo maior de desenvolvedores manterá o nome original e a comunidade de usuários. As bifurcações de software podem dividir as comunidades de desenvolvedores, sendo a divisão amigável ou cheia de animosidade.
Projetos concorrentes também podem levar à falta de compartilhamento de código entre os desenvolvedores, causando desafios futuros relacionados à legitimidade, propriedade e direção.
Ao contrário do software gratuito e de código aberto, o software proprietário é licenciado por proprietários de direitos autorais que possuem direitos legais exclusivos. No caso de software proprietário, um fork só pode acontecer se o detentor dos direitos autorais conceder permissão e considerar necessário criar uma nova versão do software.