In this article
Entenda a licença Apache 2.0
O que é a licença Apache 2.0?
A licença de software Apache permite que os usuários reutilizem o código para praticamente qualquer finalidade, inclusive como parte de um software proprietário. Assim como outras licenças de código aberto, a licença Apache define como os usuários finais podem utilizar o software em seus próprios projetos. Essa licença de código aberto é amplamente utilizada e, como outras licenças permissivas, continua ganhando popularidade por incentivar o uso de software de código aberto em projetos proprietários.
Permissões e restrições da licença Apache (termos e condições)
Com a licença Apache, os usuários podem modificar, distribuir e sublicenciar o código-fonte aberto original. A licença também permite uso comercial, oferece garantias e prevê reivindicações de patentes. Os termos e condições da licença não impõem restrições ao código, mas os usuários finais não podem responsabilizar os colaboradores do projeto de código aberto por nenhum motivo.
Ao usar a licença Apache, os desenvolvedores devem incluir o aviso de direitos autorais original, uma cópia do próprio texto da licença e, em alguns casos, uma cópia do arquivo de avisos com notas de atribuição e a divulgação de quaisquer alterações significativas feitas no código original. A divulgação das principais alterações no código é uma diferença importante entre a licença Apache e outras licenças permissivas de software de código aberto.
A história da licença Apache 2.0
Em 1995, a licença Apache original foi lançada como uma licença de software de código aberto pela Apache Software Foundation (ASF), então conhecida como Apache Group. A ASF criou a licença Apache de código aberto para incentivar o uso de componentes de código aberto em todos os tipos de aplicações.
Hoje, a primeira versão da licença Apache raramente é usada em componentes de software de código aberto. Isso porque a versão 2.0 da licença Apache foi criada em 2004, quando a ASF decidiu se afastar do modelo da licença BSD. Essa versão mais recente esclareceu alguns conceitos do texto da licença, concedeu direitos de patente aos usuários e removeu uma cláusula de publicidade relacionada à atribuição à Apache. Com isso, os usuários finais têm mais liberdade para usar o código de código aberto para fins comerciais.
Em que categoria se enquadra a licença Apache 2.0?
A licença Apache 2.0 é permissiva, ou seja, impõe poucas restrições ao uso do código. Ela é diferente de uma licença copyleft, que exige que o usuário distribua o código sob a mesma licença de software. A licença Apache permite que os usuários finais modifiquem partes do código original sob qualquer licença, desde que incluam a documentação adequada exigida pela Apache no código redistribuído. Confira nosso guia sobre os diferentes tipos de licenças de software que você precisa conhecer.
Quando você deve usar a licença Apache?
Desenvolvedores de código aberto devem escolher a licença Apache para levar seus projetos rapidamente ao mercado e disponibilizá-los para grandes empresas de software que queiram usar componentes de código aberto em aplicações comerciais. Como a licença não exige que as empresas divulguem as modificações feitas no código e concede a elas direitos de patente, ela é ideal para distribuir software de código aberto que possa interessar às empresas. O nome Apache, por si só, pode transmitir confiança a usuários em potencial, já que a fundação tem destaque no setor há décadas.
Licença Apache 2.0 vs. licença MIT
As licenças Apache e MIT são bastante parecidas, mas têm algumas diferenças importantes. Para começar, o texto da licença Apache 2.0 é muito mais detalhado e contém mais termos jurídicos do que o da licença MIT. A licença MIT busca ser a licença de código aberto mais simples e direta para que os desenvolvedores distribuam seus softwares.
Outra diferença importante é que a licença Apache exige que os desenvolvedores divulguem as principais alterações feitas no código-fonte original. Não é necessário revelar o código-fonte modificado, mas é preciso informar que houve modificações. No entanto, todo código que não tiver sido modificado deve manter a licença Apache.
Ao contrário da licença MIT, a licença Apache também permite que o usuário final patenteie o software de código aberto modificado. Esses direitos de patente são globais, perpétuos, irrevogáveis e não exclusivos, desde que a versão modificada não sugira de forma alguma que tenha o endosso da Apache. O texto da licença Apache concede expressamente os direitos de patente, enquanto isso fica menos claro na licença MIT.
Licença Apache vs. AGPL
A GNU Affero General Public License (AGPL) é uma versão da GPLv3 criada pela Free Software Foundation (FSF) que busca garantir os direitos copyleft integrais para todo software que a utiliza. Isso contrasta diretamente com a abordagem permissiva das licenças Apache e MIT, que promovem a modificação e a redistribuição de software de código aberto para qualquer finalidade, inclusive proprietária.
A principal diferença entre a AGPL e outras licenças copyleft é que ela fecha uma brecha: os desenvolvedores precisam usar a licença AGPL até mesmo em softwares que não são distribuídos explicitamente, ou seja, que são implantados apenas em um servidor de back-end. Isso faz da AGPL uma das licenças de código aberto mais restritivas disponíveis.

Gerenciamento de licenças de código aberto com a Snyk
Como a maioria das equipes de desenvolvimento usa software de código aberto (OSS), é fundamental acompanhar com eficiência as licenças e políticas de OSS. Por exemplo, as equipes de desenvolvimento precisam incluir a documentação adequada da licença Apache em qualquer projeto de software que use componentes de código aberto distribuídos sob essa licença. Gerenciar isso pode ser um desafio em dezenas de projetos de software que usam centenas de dependências de código aberto.
Snyk Open Source ajuda as equipes de desenvolvimento a acompanhar as licenças de código aberto em todos os projetos, independentemente das licenças utilizadas. Com a aplicação automatizada de políticas e o gerenciamento granular, a Snyk ajuda a reduzir o risco de violações de licenças de código aberto.

A Snyk também oferece visibilidade sobre as datas de vencimento das licenças e os requisitos de renovação, que podem ser difíceis de gerenciar em grandes organizações. Com um gerenciamento simplificado das licenças, os desenvolvedores podem criar software com rapidez e manter a conformidade com as políticas de código aberto.
Simplifique a conformidade com licenças
Crie políticas para garantir a conformidade com licenças de código aberto em grande escala com facilidade.