#blog

O que são forks no desenvolvimento de software

What’s a Rich Text element?

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

  1. asdasdsa
  • asdasdasdsa

How to customize formatting for each rich text

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

Na tecnologia, fork é o nome dado à prática de copiar e alterar um código livre no GitHub. A prática possibilita a colaboração no desenvolvimento de software, porque permite a troca de ideias entre devs e melhorias em tecnologias já existentes. Entenda mais sobre esse conceito aqui no Blog da Caiena!

Navegue pelo conteúdo:

Código aberto e software livre

Para início de conversa, vamos relembrar as diferenças entre os conceitos de software livre e código aberto, que já apresentamos aqui no Blog da Caiena. Isso porque podemos considerar que todo software livre é de código aberto, mas o contrário nem sempre acontece. 

A definição de código aberto (open source) é dada ao código-fonte disponibilizado publicamente para que todos possam acessar, modificar de acordo com as necessidades e compartilhar. Seu foco é promover o desenvolvimento de software coletivo.

Já o conceito de software livre remete à tecnologia que "respeita a liberdade e senso de comunidade dos usuários", colocando como prioridade a liberdade da programação, não o seu valor.

Então, em resumo, a principal diferença entre esses dois conceitos é a ideologia por trás dos movimentos. O software livre diz mais sobre a liberdade do desenvolvimento de software, e o código aberto sobre a coexistência do software proprietário, baseando-se na qualidade técnica de seu modelo produtivo.

O que são forks

Fazer um fork significa copiar um código de um repositório em sua própria conta no GitHub. Essa cópia manterá uma referência ao repositório original, permitindo acompanhar atualizações e enviar contribuições de volta, mas  você terá total controle sobre o código copiado.

“Um fork é um novo repositório que compartilha configurações de código e visibilidade com o repositório ‘upstream’ original. Os forks geralmente são usados para iterar ideias ou alterações antes de serem propostas de volta para o repositório upstream, como em projetos código aberto ou quando um usuário não tem acesso de gravação ao repositório upstream”.

Definição de fork compartilhada pela página oficial do GitHub.

Como explica o Dev Leonardo em seu canal, o fork possibilita a colaboração entre desenvolvedores de software. Desta forma, é possível realizar as alterações que você avalia como necessárias para melhorar um código de outro dev. E, depois de realizar o fork, você pode criar um pull request para que a pessoa responsável pelo desenvolvimento inicial possa aprovar e adicionar os ajustes que você sugeriu caso tenha interesse.

Em seu curso gratuito de Git e GitHub, o dev Tiago Matos traz um passo a passo para fazer fork de um repositório:

É importante entender também que existem diferenças entre fork e clone. O editor-chefe do canal TechTarget, Cameron McKenzie, explica que isso está relacionado ao nível de controle que um desenvolvedor pode ter sobre um determinado repositório.

“A diferença central entre um fork e o comando git clone é o quanto de controle o desenvolvedor que está executando a operação deseja, ou tem permissão, de exercer sobre o repositório de destino. Se um desenvolvedor quer enviar alterações de volta, ter sua própria cópia do repositório, isolada de outros, e realmente ter controle total, nesse caso ele pode criar um fork. Por outro lado, se o desenvolvedor está trabalhando em um projeto junto a outros membros da equipe, nesse caso ele provavelmente fará um clone do repositório e enviará suas alterações diretamente para ele, compartilhando o código com todos os outros desenvolvedores da equipe”.

Cameron McKenzie, editor-chefe do canal TechTarget.

Vantagens e exemplos de fork

Uma das vantagens do fork para o desenvolvimento de software é poder compartilhar ideias sobre novas funcionalidades, soluções para erros ou outras direções que o código original possa alcançar. Essa cópia também contribui com a customização do código para atender necessidades específicas. Além disso, é uma forma de realizar testes sem comprometer o projeto inicial.

Existem alguns exemplos que você talvez use no dia a dia, mas nem sabia que se tratava de um fork. Em 2010, a comunidade OpenOffice.org anunciou a criação da organização sem fins lucrativos The Document Foundation. Ela surgiu para promover o desenvolvimento de software de aplicativos livres e de código aberto para tarefas administrativas (soluções de texto, planilhas, apresentações etc). O principal projeto da fundação é o LibreOffice, um fork do OpenOffice.org.

Outro caso relevante no desenvolvimento de software são os bancos de dados de código aberto MySQL e MariaDB. O MySQL é de propriedade da Oracle, e o MariaDB é um fork desta tecnologia, que prioriza a flexibilidade e a liberdade dos usuários. Ele mantém a compatibilidade de protocolo com o MySQL.

Concluindo, o fork apoia avanços na colaboração e liberdade de desenvolvedores de software, ao possibilitar a evolução da tecnologia em comunidade. Essa construção conjunta abre portas para múltiplos caminhos.

Mais do Blog da Caiena:

Mais conteúdos

Ao clicar em “Aceitar todos os cookies”, você concorda com o armazenamento de cookies em seu dispositivo para aprimorar a navegação no site, analisar o uso do site e nossos esforços de marketing. Veja nossa Política de Privacidade para mais informações.

Contato

Ops, revise o formulário e tente novamente.