Skip to main content

Command Palette

Search for a command to run...

Open Source - o quão estratégico pode ser?

Como o ecossistema open source pode contribuir para a sua estratégia de tecnologia corporativa?

Updated
6 min read
Open Source - o quão estratégico pode ser?

História

Há mais de 40 anos o ecossistema open source vem impulsionando a evolução técnológica das empresas e das comunidades, trazendo novos padrões de mercado e mudanças que mudaram completamente a forma com que fazemos tecnologia. Contudo, muitas empresas ainda interpretam o tema como um risco. Será que é mesmo?

Nós já estamos beeeeeeem distantes da época em que open source não era seguro. Hoje não só as maiores empresas do mundo baseiam suas arquiteturas em soluções open source e cloud native como também temos diversas iniciativas que garantem a boa qualidade e os padrões de segurança dos projetos da comunidade, como a OpenSSF.

Ao pararmos para analisar, tudo que é cloud hoje veio do Linux. Servidores, storage, contêineres, Kubernetes!!!! Se este pensamento relacionado a falta de segurança em projetos OSS fosse verídico, estaríamos muito atrasados em tudo que fazemos hoje, então vamos esquecer esse estigma.

💡
Open Source é seguro sim! Toda solução tem suas características e vulnerabilidades, reduzir uma categoria de projetos pura e exclusivamente baseado em uma opinião sem fundamento apenas prejudica a comunidade.

Ótimo, mas e a escalabilidade? O quão escalável é a aplicação de soluções OSS dentro das grandes organizações?


Integração

A utilização dessas soluções pode ser feita de forma descentralizada ou centralizada, alocando uma equipe para a governança desses projetos.

💡
Neste ponto estamos retirando de perspectiva a integração com equipes e fluxos de segurança e times legais da organização. Estamos pensando apenas em tecnologia.

Pensando no ciclo de vida da solução dentro da sua empresa, é interessante que seja feito um trabalho de popularização do uso daquela ferramenta.

Com a construção de templates, documentações e com uma boa estratégia de comunicação, outros times internos poderão usufruir da ferramenta e herdar os benefícios notados no momento de sua adoção.

No longo prazo, essa cultura engaja mais engenheiros no tema open source e potencializa a capacidade de contribuição da empresa e do projeto, dado que a experiência de implantação somado ao domínio técnico, permitirão que os engenheiros proponham novas features, reportem issues e auxiliem no desenvolvimento e solução das mesmas.

Do ponto de vista de governança, a existência de uma equipe centralizada ou de um CoE (Center of Excellence) permite a rápida atuação em cenários onde a mesma se faz necessária. Resposta a incidentes produtivos, identificação de vulnerabilidades e oportunidades de melhora são pontos frequentemente notados pelos times de engenharia e que serão direcionados de forma muito mais efetiva com a existência de uma liderança direcionada para open source.

Agora que a minha empresa passou a adotar soluções open source em seu landscape de tecnologia. Há algo mais para se fazer?

SIM! Devolver para a comunidade.


Corporate x Community

💡
É importante termos em mente que estamos falando de empresas end users e não fornecedores. A adoção de uma estratégia open source em uma empresa como o Google e AWS é completamente diferente de uma prestadora de serviços.

Do ponto de vista da empresa usuária do projeto, as preocupações variam de acordo com o segmento da companhia, porém sempre estarão em torno dos seguintes pontos:

  • Processo legal - relacionado diretamente ao licenciamento do projeto. A empresa deve garantir que não sofrerá ações legais por conta do uso indevido da solução.

  • Segurança - diferente do que comentamos no início do texto, essa referência à segurança é comum em soluções open source e prioritárias. Vulnerabilidades encontradas nas soluções precisam ser mitigadas com pressa, para evitar danos a imagem e reputação da empresa.

  • Gerenciamento - por serem ferramentas sem gerenciamento, toda a responsabilidade de manter os sistemas rodando fica com a empresa. Isso não é um problema, porém será necessário infraestrutura e mão de obra para essas atividades.

  • Versionamento - projetos open source costumam ter releases frequentes de novas versões, o que torna responsabilidade completa da empresa de manter os sistemas atualizados e com os devidos patches aplicados.

Contudo, nesse “jogo” não há apenas a empresa. Não podemos nos esquecer da comunidade, que é quem mantém os projetos de pé, implementa funcionalidades novas e responde à vulnerabilidades e incidentes.

A grande parte desses desenvolvedores fazem esses trabalhos em seu tempo livre, por hobby e por acreditar nos projetos. São poucos os projetos que tem incentivos para influenciar no desenvolvimento.

Dito isso, é extremamente importante que haja um retorno das empresas para a comunidade, permitindo assim que mantenhamos a saúde dos projetos e a comunidade engajada.

💡
Contribuição para o open source é algo voluntário. O engajamento da comunidade é o que faz os projetos crescerem e serem bem sucedidos. É crucial que as empresas tenham essa proposta de usufruir dos projetos e incentivar a comunidade a continuar com o trabalho.

Esse incentivo pode vir de diversas formas:

  • Financeiro - apoio (patrocínio) aos desenvolvedores e mantenedores do projeto.

  • Suporte - empresas auxiliam com os custos ligados ao projeto (infraestrutura, licenças para ferramentas, etc.).

  • Contribuição

    • Direta - algumas empresas já adotaram a postura de permitir que seus engenheiros contribuam diretamente das contas e ambientes corporativos para projetos open source. Isso geralmente exige uma série de camadas de segurança para proteção dos ativos da empresa e mitigação de possíveis vazamentos de dados.

    • Indireta - membros da comunidade são incentivados por suas empresas a contribuírem para os projetos, porém não podem utilizar sua identidade corporativa. Esse é o passo anterior a total integração das empresas no ecossistema.

  • Project Ownership - esse é um modelo de contribuição mais raro, onde a empresa doa um projeto (ou mais) para a comunidade. O core de mantenedores pode ainda ser o mesmo, porém o código foi aberto e disponibilizado para a comunidade.

Essas contribuições partindo das empresas mantém o ecossistema saudável e funcional e influencia outros players do mercado a fazerem o mesmo.

Nós, engenheiros e engenheiras, precisamos voltar a cobrar as nossas empresas dessa devolução para a comunidade e para o ecossistema. Como vimos, os incentivos podem ser realizados de diversas maneiras, porém é importante que eles sejam feitos!


Conclusão

A grande verdade é que open source pode (e deve) ser MUITO considerado como estratégico para sua empresa. Dar liberdade para que os engenheiros testem e experimentem soluções novas é a melhor forma de fazer com que seu ambiente se torne mais maduro e inovador.

Como tudo na área de tecnologia, temos um trade-off. A integração da sua empresa com a comunidade open source deve ser avaliada de acordo com o seu cenário e a partir daí, as possibilidades devem ser exploradas. Os projetos precisam de apoio e é certo que uma hora ou outra, a conta dessa falta de contribuição, vai chegar.

O importante é começarmos a engajar cada vez mais as empresas para manter o nosso ecossistema “afiado” como estamos acostumados a ver.

Muito obrigado e até logo! <3