Explore a fonte interna

Concluído

O fluxo de trabalho de pull request baseado em fork é popular em projetos de código aberto porque permite que qualquer pessoa contribua para um projeto. Você não precisa ser um colaborador já existente ou ter permissão para gravar num projeto para propor as suas alterações.

Este fluxo de trabalho não é apenas para código aberto: os forks também ajudam a suportar fluxos de trabalho de origem interna dentro da sua empresa.

Fluxo de trabalho de equipe tradicional

Antes dos *forks*, era possível contribuir para um projeto usando "Pull Requests". O fluxo de trabalho é simples:

  1. Envie uma nova ramificação para o repositório.
  2. Abra uma solicitação pull para obter uma revisão de código da sua equipe.
  3. Faça com que o Azure Repos verifique suas políticas de filial.
  4. Clique num único botão para mesclar o seu pull request no main e fazer deploy quando o seu código for aprovado.

Esse fluxo de trabalho é ótimo para trabalhar em seus projetos com sua equipe. Mas e se você notar um bug simples em um projeto diferente dentro da sua empresa e quiser corrigi-lo você mesmo? E se você quiser adicionar um recurso a um projeto que você usa, mas outra equipe desenvolve?

É aqui que entram os garfos; Os garfos estão no centro das práticas de origem interna.

O que é fonte interna?

O código interno – às vezes chamado de "código aberto interno" – traz todos os benefícios do desenvolvimento de software de código aberto dentro do firewall da sua empresa.

A fonte interna abre seus processos de desenvolvimento de software para que seus desenvolvedores possam colaborar facilmente em projetos em toda a sua empresa. Ele usa os mesmos processos que são populares em todas as comunidades de software de código aberto, mas mantém seu código seguro dentro de sua organização.

Benefícios da fonte interna

  • Colaboração entre equipes: as equipes podem trabalhar juntas em projetos, mesmo que normalmente não colaborem.
  • Compartilhamento de conhecimento: os desenvolvedores podem aprender com o código escrito por outras equipes e aplicar essas lições ao seu próprio trabalho.
  • Reutilização de código: em vez de criar a mesma funcionalidade várias vezes, as equipes podem aproveitar o trabalho existente.
  • Melhoria da qualidade: Mais pessoas revisando e contribuindo para o código normalmente leva a um software de melhor qualidade.
  • Inovação mais rápida: as equipas podem avançar mais rapidamente com base nas soluções existentes, em vez de começarem do zero.

A jornada de origem interna da Microsoft

A Microsoft usa fortemente a abordagem de fonte interna. Como parte dos esforços para criar um sistema de engenharia em toda a empresa – apoiado pelo Azure Repos – a Microsoft abriu o código-fonte de todos os projetos para todos dentro da empresa.

Antes da fonte interna

Antes de passar para o inner source, a Microsoft estava "isolada":

  • Apenas os engenheiros que trabalham no Windows podiam ler o código-fonte do Windows.
  • Apenas os programadores que trabalham no Office podem consultar o código-fonte do Office.
  • Se você era um engenheiro trabalhando no Visual Studio e encontrou um bug no Windows ou no Office – ou queria adicionar um novo recurso – estava sem sorte.

Depois da fonte interna

Ao adotar a metodologia de "inner source" em toda a empresa, suportado por Azure Repos, é fácil criar um fork de um repositório para contribuir de volta. Como um indivíduo que faz a alteração, você não precisa de acesso de gravação ao repositório original, apenas a capacidade de lê-lo e criar uma bifurcação.

Esta abordagem permitiu:

  • Melhor colaboração entre equipas.
  • Correções de bugs mais rápidas e desenvolvimento de funcionalidades.
  • Melhoria da qualidade do código através de uma revisão mais ampla.
  • Redução da duplicação de esforços entre projetos.