Open source, ou código aberto, é o software cujo código-fonte pode ser lido, modificado e redistribuído por qualquer pessoa, de acordo com as regras de uma licença. Sistemas operacionais, navegadores, bancos de dados, linguagens de programação e bibliotecas usadas em quase todo aplicativo moderno são desenvolvidos dessa forma.
Neste artigo você vai entender como esse modelo funciona, o que dizem as principais licenças e quais cuidados tomar ao usar ou contribuir.
O que torna um software open source
Não basta o código estar visível na internet. Para ser considerado open source, o software precisa ser distribuído com uma licença que garanta, entre outras coisas:
- liberdade para usar o programa para qualquer finalidade;
- acesso ao código-fonte;
- permissão para modificar e distribuir versões modificadas;
- ausência de discriminação contra pessoas, grupos ou áreas de uso.
Código publicado sem licença, por exemplo, não é automaticamente livre. Pela lei de direitos autorais, todos os direitos continuam com o autor.
Open source também não significa necessariamente gratuito. Empresas podem cobrar por suporte, hospedagem ou versões com recursos adicionais, e ainda assim manter o núcleo aberto.
As licenças mais comuns
MIT. Uma das licenças mais permissivas. Permite usar, copiar, modificar e vender o software, inclusive dentro de produtos fechados. A principal exigência é manter o aviso de copyright e o texto da licença. É muito comum em bibliotecas JavaScript.
Apache 2.0. Também permissiva, mas mais detalhada. Além de manter os avisos, exige indicar as alterações feitas nos arquivos. Inclui uma concessão explícita de licença de patentes, o que dá mais segurança jurídica a empresas, e encerra essa concessão para quem processar alguém alegando violação de patente relacionada ao projeto.
GPL. É uma licença do tipo copyleft. Quem distribui uma versão modificada ou um programa que incorpora código GPL precisa disponibilizar o código-fonte sob a mesma licença. O objetivo é garantir que as melhorias continuem abertas. Existe ainda a AGPL, que estende essa obrigação a softwares oferecidos pela rede, como serviços web.
Na prática, licenças permissivas facilitam a adoção por empresas, enquanto licenças copyleft protegem a abertura do código ao longo das versões. Em caso de dúvida em um projeto comercial, vale consultar alguém com conhecimento jurídico.
Como os projetos são mantidos
Projetos open source têm formatos variados. Alguns são mantidos por uma única pessoa no tempo livre. Outros têm equipes contratadas por empresas que dependem deles. Há também fundações que cuidam de grandes projetos, oferecendo estrutura legal, regras de governança e apoio financeiro.
O trabalho costuma acontecer em plataformas como GitHub e GitLab. Usuários relatam problemas em issues, colaboradores propõem mudanças por meio de pull requests e os mantenedores revisam, discutem e decidem o que entra. Muitos projetos têm um guia de contribuição e um código de conduta que definem como participar.
O financiamento vem de patrocínios, doações, empresas que pagam pessoas para trabalhar no projeto e serviços comerciais em torno do software.
Como as empresas usam open source
Praticamente toda empresa que desenvolve software depende de código aberto, mesmo sem perceber. Os usos mais comuns são:
- Bibliotecas e frameworks que aceleram o desenvolvimento.
- Infraestrutura: servidores web, bancos de dados, sistemas operacionais e ferramentas de automação.
- Produtos completos instalados internamente, como sistemas de chamados, CRMs ou ferramentas de análise.
- Publicação de projetos próprios, para atrair colaboradores, ganhar visibilidade técnica ou criar um padrão de mercado.
Como contribuir
Contribuir não exige ser especialista. Algumas portas de entrada:
- Escolha um projeto que você já usa.
- Leia o README, o guia de contribuição e o código de conduta.
- Procure issues marcadas para iniciantes, muitas vezes com rótulos como “good first issue”.
- Comece por melhorias em documentação, traduções ou testes.
- Antes de uma mudança grande, abra uma issue e converse com os mantenedores.
- Mantenha o pull request pequeno, com uma descrição clara do que muda e por quê.
Relatar um erro de forma detalhada, com passos para reproduzir, também é uma contribuição valiosa.
Pontos de atenção
Licença. Confira a licença de cada dependência antes de usá-la em um produto. Uma biblioteca GPL dentro de um software distribuído pode gerar obrigações que a empresa não previu.
Segurança. Código aberto pode ser auditado por qualquer pessoa, mas isso não garante que alguém tenha auditado. Mantenha as dependências atualizadas, acompanhe alertas de vulnerabilidade e evite pacotes desconhecidos ou com nomes parecidos com os de projetos populares.
Manutenção. Antes de adotar um projeto, observe se ele recebe atualizações, se as issues são respondidas e se há mais de uma pessoa cuidando dele. Uma dependência abandonada pode virar um problema difícil de resolver depois.
E na sua empresa?
Bons sistemas combinam componentes open source confiáveis com desenvolvimento próprio onde o negócio precisa de algo específico. Se você quer um site ou um sistema sob medida montado com esse cuidado, fale com a Witcode.