Table of contents
InnerSource
Hoje em dia, o InnerSource está a tornar-se popular nas empresas, pois oferece uma abordagem baseada em práticas de open source bem-sucedidas às equipas de desenvolvimento. No entanto, a utilização de InnerSource não é apenas copiar essas práticas. Devem ser adaptadas à cultura única e à organização das empresas. Vamos analisar o que InnerSource é e não é, e quais os desafios associados.
O que é InnerSource?
O termo foi usado pela primeira vez por Tim O’Reilly em 2000, afirmando que Innersourcing é “[…] * o uso de técnicas de desenvolvimento de código aberto numa organização.*”
De acordo com InnerSource Commons, a referência sobre este tema, InnerSource é o uso “* de princípios e práticas de código aberto para o desenvolvimento de software numa organização.*”
Porquê InnerSource?
Ainda de acordo com InnerSource Commons, “para empresas que desenvolvem software de código-fonte fechado, a InnerSource pode ser uma ótima ferramenta para ajudar a quebrar silos, incentivar e dimensionar a colaboração interna, acelerar a entrada de novos engenheiros e identificar oportunidades para contribuir de volta para o mundo do Open Source”
É interessante notar que os benefícios da InnerSource podem impactar várias funções numa empresa, não apenas a engenharia. Como resultado, algumas empresas encontraram vantagens concretas em áreas como:
- Funções jurídicas: acelerar o estabelecimento de colaborações interfuncionais através do uso de um quadro jurídico pronto a usar (licença InnerSource).
- Recursos Humanos: gestão de competências escassas através de uma equipa central experiente, responsável pela repartição do esforço e conhecimentos.
A Controvérsia sobre InnerSource
Os detractores da InnerSource atribuem-lhe vários mitos. Embora não seja verdadeiramente Open Source, as organizações que escolham utilizar esta abordagem internamente poderão recolher vários benefícios. Eis alguns desses mitos:
- [MITO] A InnerSource é feita às custas do Open Source (principalmente a jusante):
- Os projetos de software não saem de trás do firewall da empresa.
- Menos contribuições externas para o Open Source.
- [MITO] Rouba do espírito do Open Source, invés de promover a aproximação ao mesmo.
- [MITO] Nunca nenhum projeto InnerSource se tornou num projeto Open Source.
- [MITO] O motivo para fazer InnerSource é que ele é semelhante ao Open Source. Mas, na realidade, se o programador valoriza o Open Source, então uma contribuição direta de código aberto deve sempre ser preferida.
Aqui estão alguns factos sobre a prática da InnerSource que rebatem a maioria dos mitos anteriores:
- [FACTO] A InnerSource é uma maneira de acolher empresas primariamente fechadas no Open Source.
- [FACTO] Embora a maioria das contribuições de código aberto sejam feitas por voluntários, podemos anunciar a participação no código fonte a engenheiros usando esta lista de “benefícios percepcionados”.
- [FACTO] Em alguns casos (ou na maioria deles?) as empresas não seguem uma prática de desenvolvimento ordenada e controlada e este guia (o GGI) pode ser uma maneira de auxiliá-las.
- [FACTO] Ele será necessário um grande esforço na conversão de licenciamentos fechados para licenciamentos abertos.
- [FACTO] Existem, de facto, casos de projetos InnerSource convertidos em código aberto:
- Twitter Bootstrap.
- Kubernetes da Google.
- Docker da dotCloud (nome anterior da Docker Inc.).
- React Native.
- [FACTO] O código aberto beneficia do aumento de engenheiros de software que ficam familiarizados com as práticas de código aberto, uma vez que as de InnerSource são bastante semelhantes.
Quem são os praticantes?
Várias empresas lançaram iniciativas de InnerSource ou GPIS (Gabinete do Programa de InnerSource), algumas há bastante tempo, outras mais recentemente. Esta é uma lista não exaustiva, focada principalmente em empresas europeias:
- Banco Santander (fonte)
- BBC (fonte)
- Bosch (fonte)
- Comcast (fonte)
- Ericsson (fonte)
- Engie (fonte)
- IBM (fonte)
- Mercedes (fonte)
- Microsoft (fonte)
- Nike (fonte)
- Nokia (fonte)
- SNCF Connect & Tech (fonte 1, fonte 2)
- Paypal (fonte)
- Philips (fonte)
- Renault (fonte)
- SAP (fonte)
- Siemens (fonte)
- Société Générale (fonte)
- Thales (fonte)
- VeePee (fonte)
InnerSource Commons, uma referência fulcral
Uma comunidade ativa e vibrate de praticantes de InnerSource, que funciona de acordo com princípios de Open Source, encontra-se em InnerSource Commons. Fornecem bastantes recursos úteis que o podem ajudar a atualizar-se na matéria, incluído padrões, um percurso de aprendizagem e pequenos ebooks:
- Getting Started with InnerSource de Andy Oram.
- Understanding the InnerSource Checklist de Silona Bonewald.
Diferenças da Governação InnerSource
O InnerSource inclui desafios específicos que não são encontrados no Open Source. No entanto, a maioria das organizações que criam software proprietário já lidam com eles:
- Licença dedicada e específica à empresa para projetos de InnerSource (para grandes empresas com múltiplas entidades legais).
- A natureza pública do código aberto protege-o de desafios relacionados ao preço de transferência. A natureza privada do InnerSource expõe as empresas que operam em diferentes jurisdições a responsabilidades legais de transferência de lucros.
- As motivações para contribuir são muito diferentes:
- O InnerSource tem uma quantidade limitada de possíveis contribuidores por estar limitada à organização.
- Demonstrar capacidades profissionais é um fator de incentivo à contribuição. O InnerSource limita este impacto apenas à organização.
- Contribuir para melhorar a sociedade é outro factor de incentivo para contribuições que é limitado no InnerSource.
- A motivação necessita assim de um esforço maior e irá depender mais de gratificações e atribuições.
- Lidar com medos perfecionistas como a síndrome de impostor é mais fácil no InnerSource dada a visibilidade limitada do código.
- O outsourcing da força de trabalho é mais frequente, o que afeta a governação de diversas formas.
- Avaliar a adequação da empresa é mais fácil para InnerSource por ser desenvolvido internamente.
- A descoberta tende a tornar-se um problema. Indexar informação é uma prioridade menor para as corporações. Motores de pesquisa públicos como o DuckDuckGo, Google ou Bing fazem um trabalho muito superior que o InnerSource não consegue aproveitar.
- O InnerSource encontra-se numa posição ligeiramente melhor para controlar exportações uma vez que é limitado à empresa.
- É necessário controlo fronteiriço de fuga de propriedade intelectual na forma de código-fonte.
O InnerSource continua a evoluir à medida que mais empresas adotam os seus princípios e partilham as suas experiências. Uma versão posterior deste guia irá conter uma lista das atividades da GGI relevantes aos praticantes de InnerSource.