O que são forks?


/*Como mencionei no meu ultimo artigo sobre os BSDs, que cada um deles surgiram de alguma forma como fork, surge então a questão: E o que são forks afinal de contas?*/



 Forks são softwares que originam de projetos já existentes dando origem a outros da mesma ramificação.  
 Para melhor compreensão, Digamos assim como as distribuições Linux, em que uma distribuição deriva da outra (o Ubuntu deriva do Debian, CentOS deriva do Red Hat Interprise Linux por exemplo) assim é inicialmente com um fork. Mas diferente de uma distribuição (onde o Ubuntu sempre derivará da próxima versão do Debian e o CentOS da próxima versão do RHIL) em um fork isso ocorre somente na sua primeira versão, pois já nos seus próximos lançamentos serão independentes do software a qual se originou, já não vindo obrigatoriamente a ter mais algum vinculo com o projeto ou a comunidade de origem. Logo, o fork só deriva do projeto original na sua primeira versão.


Essa é a ideia de um fork: O(s) desenvolvedor(es) pega(m) a cópia do código fonte do software e inicia(m) um projeto independente em cima do que obtiveram, vindo a criar um software separado. Desta forma existem dois projetos semelhantes em propósito, porém, cada um possuindo certas características próprias.


O sentido etimológico da palavra Fork (pronuncia-se /fɔːk/ em inglês britânica e /fɔːrk/ em inglês americano; é... deixa eu ajudar na pronuncia, pronuncia-se fôrk com um "r" quase mudo em inglês britânico e fôrk com um "r" mais acentuado em inglês americano), que pode ser confundido com a palavra inglesa garfo (talvez foi por isso que a equipe do Devuan usou um garfo como simbolo do sistema),
 significa “dividir em ramos, ir por caminhos separados”.
Dentro do ambiente de software existem também forks, onde se invoca uma chamada fork do sistema para que um processo em execução se divida em duas copias (quase) idênticas que se separam para realizar tarefas diferentes.


Os motivos pelas quais existem os forks são vários: Dar continuidade a um projeto que já não existe mais, desavença entre as comunidades, iniciar um novo projeto (porém a partir de um já existente, proporcionando produtividade assim), implementações que foram recusadas, vaidade e sei la o que mais. Esse processo (onde um grupo de desenvolvedores de desentendem com os planos de desenvolvimento do software e iniciam um novo projeto baseado no mesmo código fonte) é chamado de forking the project (tipo... de uma forma sátira e em um termo menos constrangedor, lascar o projeto).


Alguns projetos que podemos citar aqui como fork seriam:

  • IllumOS (e seus derivados, como o OpenIndiana. Nome mais sugestivo não tem) que originou-se do OpenSolaris após a Oracle obter a Sun Microsystem e descontinuá-lo.
  • MariaDB originou-se do MySQL que foi criado pelo próprio fundador do projeto após a Sun Microsystem ter sido adquirida pela Oracle... também... (é... tempos difíceis).
  •  X.org como fork do  XFree86 por questões de licença entre outras coisas.
  • PCLinuxOS como fork do antigo Mandrake em 2003 e depois em 2007 fork do Mandriva usando seus snapshots.
  • Mageia e o OpenMandriva como fork do Mandriva.
  • LibreSSL do OpenSSL
  • Eudev do Systemudev
  • UselessD que surgiu do SystemD (que está dando dor de cabeça para todo mundo).
  • O open source também foi um fork do free software. O motivo foi o Stallman não aceitar um meio caminho pro software livre (Dando créditos a quem merece, essa foi o amigo Helio Loureiro que me forneceu).

E querem uma lista maior para isso? Consultem então a página Lista de forks em Inglês no Wikipedia (está um pouco desatualizada, mas dá para o gasto).


 Um site que permite forks é o próṕrio GitHub. Alguns exemplos que pondem notar seriam esses:


gostaram do artigo? Não esqueçam de deixar aqui seus comentário que possa ajudar alguém no futuro :-)
 Não deixem de se inscrever tanto no blog quanto no canal para continuar recebendo seus feeds (inscritos no blog e no canal ganham 5% de desconto nos cursos e na consultoria da Lytux) e de largar um Plus aqui. isso ajuda o blog.

 Referências:


Licença Creative Commons
Podem estar disponíveis autorizações adicionais às concedidas no âmbito desta licença em https://creativecommons.org/licenses/by/4.0/legalcode.

Sou analista (bilíngue) de microinformática, professor de inglês, tradutor e interprete.

 Sou também redator no blog Diolinux e um dos tradutores da distribuição Funtoo. Já fiz parte da distribuição IPFire por um tempo também, uma distribuição que gosto muito na parte de administrar o servidor por uma interface web.
 Possuo um manual chamado Caixa de Ferramentas do UNIX traduzido por mim e revisado por mais amigos que abrange tanto Linux (dentre algumas distribuições) quanto Solaris, BSDs, Mac OS X e em alguns momentos o Windows (devido a integração cliente servidor).
 Recentemente estou trabalhando em um manual de migração para Linux.

Compartilhe isso

Leia outros posts

Próximo post
« Próximo post
Post Anterior
Próximo Post »

Compre na imago brinquedos

Compre na imago brinquedos
Utilize o cupom de desconto TOCADOTUX e ecnomize 5% na sua compra