In this article
Definindo uma política segura para código aberto
Política de código aberto definida
uma política de software de código aberto define os casos de uso aceitáveis para usar e distribuir software de código aberto na sua empresa ou projeto.
O que é uma política de código aberto?
Hoje, as organizações enfrentam forte pressão para ganhar eficiência e agilidade em grande escala e, assim, manter a competitividade em um mercado cada vez mais disputado. Para aumentar a produtividade e impulsionar o crescimento no mercado, os desenvolvedores precisam compartilhar e aproveitar ativos digitais de código aberto, tecnologias da informação e uma grande quantidade de software de infraestrutura.
Uma política de software de código aberto reduz as dúvidas dos desenvolvedores e impulsiona a transformação digital da organização. Mais importante ainda, uma política de uso de código aberto permite que os desenvolvedores escolham as ferramentas certas e os incentiva a adotar o código aberto.
As políticas de código aberto são importantes para as organizações:
quando consomem software de código aberto
quando usam código aberto em seus produtos
quando contribuem com projetos de código aberto
quando usam código aberto para criar ferramentas internas
A importância de uma política de código aberto bem definida
As práticas de gestão de políticas de código aberto maximizam o impacto e os benefícios do código aberto. Isso ajuda a garantir que os riscos legais e técnicos decorrentes da implantação de software de código aberto e da disponibilização de propriedade intelectual da empresa como código aberto sejam compreendidos e mitigados com antecedência.
Por que você precisa de uma política de código aberto?
Uma política de código aberto bem definida deve incluir exemplos para que os desenvolvedores entendam:
quais práticas são aceitáveis no uso de código aberto
quando é permitido disponibilizar como código aberto o código e as ferramentas da empresa
Saber quais casos de uso são aceitáveis e quais não são é essencial para uma gestão bem-sucedida das políticas de código aberto.
Minimização dos riscos e maximização da eficiência
Adotar a liberdade, a flexibilidade e as comunidades associadas ao código aberto contribui muito para criar uma experiência de trabalho positiva para os desenvolvedores. No entanto, esses benefícios talvez não sejam tão importantes para a equipe jurídica da organização. Os advogados internos querem uma política de software de código aberto que garanta a conformidade com as licenças, evite processos e ajude a organização a evitar publicidade negativa e reações adversas da comunidade decorrentes do uso indevido ou da apropriação indevida de código e ferramentas. Ao criar uma política de uso de código aberto, as partes interessadas devem entender os tipos de licença de código aberto, incluindo o contrato de licença de contribuição.
O que deve ser incluído em uma política de uso de código aberto?
As práticas de gestão de políticas de código aberto devem documentar como o software de código aberto é revisado e quem pode aprová-lo antes de a organização usá-lo.
Se a sua organização contribui com projetos de código aberto, também é essencial incluir políticas que protejam a propriedade intelectual da empresa e minimizem outros riscos. Isso aumenta a produtividade e a motivação dos desenvolvedores, permitindo que participem da comunidade de código aberto.
Além disso, a política de uso de código aberto deve identificar a equipe responsável por corrigir problemas e notificar as partes interessadas relevantes. Também deve haver uma pessoa responsável pela política e por sua manutenção, para que ela possa se adaptar à medida que a empresa cresce e constrói relações comerciais e parcerias.
Etapas para criar sua política de código aberto
Estas são duas etapas importantes para criar uma política de código aberto:
Talvez a etapa mais importante seja primeiro obter o compromisso da organização. O apoio das principais partes interessadas ajuda muito na adoção de um plano e na continuidade de sua execução, mesmo à medida que ele evolui.
Concluída essa etapa inicial, é possível começar a elaborar um rascunho da política, considerando os diferentes pontos que precisam ser resolvidos. Crie regras simples e abrangentes, em vez de regras complexas, sem perder de vista o equilíbrio entre controlar os riscos e aumentar a produtividade dos desenvolvedores.
Principais partes interessadas na criação de uma política de código aberto
É importante que as principais partes interessadas contribuam para a gestão de políticas de código aberto na organização. Entre as pessoas envolvidas na criação e evolução dessa política de software de código aberto podem estar engenheiros de software, desenvolvedores, arquitetos de software, gerentes de produto e de negócios e profissionais de garantia de qualidade. Também não podemos esquecer a assessoria jurídica da organização e as partes interessadas em segurança, que supervisionam os processos de entrada e saída de software da organização.
Conformidade com licenças como parte de uma política de código aberto
Assim como acontece com qualquer outra licença, é fundamental que as organizações cumpram os termos das licenças de código aberto para reduzir a exposição a riscos. Esse também é um elemento essencial da política de software de código aberto da organização. Para isso, é necessário realizar auditorias frequentes e verificar se há software de código aberto não documentado ou documentado incorretamente nas versões de software da organização.
Adote uma política de análise de código
Os fornecedores de software devem ser obrigados a informar cada componente de software de código aberto (OSS) incluído em suas entregas, quaisquer modificações e os riscos de segurança conhecidos. A organização também deve adotar uma política de análise de código, talvez com o Snyk Open Source, para verificar se o software é seguro e está em conformidade com as licenças de código aberto. Os termos de conformidade de licenças também devem ser incluídos para que a organização saiba se aceita licenças duplas e possa eliminar licenças inaceitáveis.
Analise suas dependências de código aberto em busca de vulnerabilidades
Encontre, priorize e corrija vulnerabilidades automaticamente e de graça com a Snyk.
Analise solicitações de pacotes de código aberto para sua política
Entre os elementos essenciais de uma política de software de código aberto está uma lista de opções aprovadas. A política deve indicar claramente se o uso de código aberto em software proprietário é uma prática aceitável. Caso contrário, isso pode gerar problemas relacionados a licenças para a organização. Analisar rapidamente as solicitações de uso de código aberto e os contratos de licença de contribuição permite que os desenvolvedores escolham as ferramentas certas e concluam o trabalho com agilidade. Isso também demonstra que a organização acredita no código aberto. Se os revisores perderem o interesse ou demorarem demais para aprovar solicitações de novos softwares ou códigos, eles devem ser substituídos, especialmente quando a organização estiver crescendo.
Por que aprimorar continuamente sua política de código aberto
Novas vulnerabilidades e correções muitas vezes surgem porque o software de código aberto é atualizado e aprimorado continuamente. À medida que mais software de código aberto é incorporado, monitorar continuamente o uso que a organização faz dele é essencial para o sucesso. Esse processo contínuo deve acompanhar os diversos painéis de documentação de vulnerabilidades mantidos pela comunidade de código aberto. Isso permite receber alertas em tempo real sobre vulnerabilidades em software de código aberto.
Conformidade como código: automatize sua política de código aberto
Na correria de hoje para manter e aprimorar o software, a conformidade como código pode ser uma alternativa às auditorias manuais de software de código aberto. Em um momento em que a automação pode liberar os desenvolvedores para aprimorar serviços internos e voltados aos clientes, faz sentido automatizar a verificação do cumprimento dos controles previstos na política de uso de código aberto. A conformidade como código pode ajudar a prevenir bugs e violações de segurança, detectá-los e também corrigi-los.