Não muito tempo atrás, o mundo do desenvolvimento de software oferecia apenas dois modelos bem distintos:
- Código Aberto (Open Source)
- e Proprietário (Proprietary - Closed Source)
O software de código aberto beneficiou da abertura da sua marca registrada: qualquer pessoa pode oferecer contribuições, e muitas pessoas o fazem.
O software proprietário, por outro lado, limita o acesso através de um sistema fechado que valoriza a privacidade da sua propriedade intelectual (IP).
Suponha que você seja líder de uma empresa que fez investimentos significativos em software proprietário. Não precisa ser uma empresa de tecnologia; empresas de todos os formatos e tamanhos criam e mantêm seu próprio software e outras propriedades intelectuais para desfrutar de uma vantagem competitiva em seu setor. No entanto, você desenvolveu um grande respeito pelos padrões usados no código aberto, como visibilidade do código-fonte, bugs do projeto e transparência na solicitação de recursos. Você também gosta do modelo pull-request que simplifica a integração de contribuições externas. Você realmente gostaria de trazer esses benefícios para suas equipes de desenvolvimento, mas não quer abrir o código-fonte do valioso software da empresa. Então o que você realmente precisa é de um modelo híbrido que ofereça as vantagens de ambas as abordagens, o que você precisa é do: InnerSource.
O que é InnerSource?
O software de código aberto (open source) pode ser usado, modificado e compartilhado gratuitamente por qualquer pessoa. Usando software de código aberto, qualquer pessoa pode visualizar, modificar e distribuir um projeto para qualquer finalidade, com a ideia de que o compartilhamento de código leva a um software melhor e mais confiável.
InnerSource é uma prática de aplicar padrões de código aberto a projetos com um público limitado. Por exemplo, uma empresa pode estabelecer um programa InnerSource que espelhe a estrutura de um projeto típico de código aberto, exceto pelo fato de ser acessível apenas aos funcionários dessa empresa. Na verdade, é um programa de código aberto protegido pelo firewall da sua empresa
Benefícios do InnerSource
Um programa InnerSource pode oferecer vários benefícios além dos modelos tradicionais de código fechado.
- Primeiro, eles incentivam a transparência. O acesso ao código-fonte de projetos de outras empresas pode ajudar os desenvolvedores a serem mais produtivos ao trabalhar em seus próprios projetos. Eles podem ver como diferentes equipes resolveram problemas semelhantes aos que estão enfrentando e muitas vezes encontram códigos e outros ativos que podem reutilizar. O acesso aos problemas da equipe, pull requests e planos de projeto também fornece dados melhores para que eles entendam a velocidade e a direção do projeto.
- Em seguida, eles reduzem o atrito. Se uma equipe de consumidores depende de uma correção de bug ou de um novo recurso para um projeto que pertence a uma equipe diferente, ela terá um canal por meio do qual poderá propor as mudanças possíveis. E essas alterações não podem ser incorporadas por qualquer motivo, a equipe do consumidor terá a opção de bifurcar o projeto para atender às suas necessidades.
- Finalmente, eles padronizam práticas. Um desafio comum que as organizações de desenvolvimento enfrentam é que equipes diferentes muitas vezes divergem na forma como operam. Construir um programa InnerSource é uma grande oportunidade para adotar convenções padrão que podem ser usadas por todas as equipes de desenvolvimento, mesmo que não sigam práticas idênticas. Por exemplo, duas equipes podem processos preferenciais diferentes para aceitar contribuições. Fazer com que eles padronizem a forma como comunicar seus diferentes processos torna-se muito mais fácil para qualquer pessoa contribuir para qualquer um deles.
Esses exemplos são apenas alguns dos benefícios usufruídos pelos programas InnerSource. Para saber mais, consulte Uma introdução ao InnerSource.
Fontes e referências para estudos e aprofundamentos no assunto:
- https://learn.microsoft.com/en-us/training/modules/manage-innersource-program-github/1-introduction
- https://learn.microsoft.com/en-us/training/modules/manage-innersource-program-github/2-manage-innersource-program
Nenhum comentário:
Postar um comentário