Atualmente, existem milhares de programas de código aberto, principalmente bibliotecas, que oferecem bases para o desenvolvimento de novas soluções tecnológicas. Seria muito custoso e, em certos casos, praticamente, impossível, desenvolver plataformas e outros projetos sem utilizar códigos abertos escritos por diversas comunidades na internet.
Conforme a tecnologia se torna mais complexa, é natural que se aproveite as soluções que outros já pensaram e que já se tornaram até “padrão”, o que torna o desenvolvimento de código muito mais rápido e eficiente.
No entanto, o uso de códigos abertos e livres não é isento de obrigações, já que estão sujeitos à proteção legal conferida pela Lei do Software (Lei nº 9.609/1998), bem como aos termos da licença apresentada junto à sua documentação. É raro encontrar programas que colocam o código em domínio público. Na verdade, as licenças de código aberto costumam resguardar os direitos autorais dos desenvolvedores, além de, eventualmente, imporem uma série de obrigações a quem utiliza ou distribui o programa.
Assim, para implementar programas de código aberto ou livre com segurança jurídica, respeitando os direitos dos desenvolvedores, é importante, primeiro, compreender os conceitos de “código aberto” e de “código livre” para, em seguida, entender as licenças mais comuns e como garantir a conformidade ao longo de todo o projeto.
Software livre e software open source: história e conceito
Até a década de 1990, o modelo predominante para o desenvolvimento de software era o “Software Proprietário”. Grandes empresas contratavam muitos desenvolvedores para trabalhar diretamente em seu produto, que era vendido de forma fechada.
A partir da década de 1980, surgiram movimentos para criar um modelo de desenvolvimento de software que permitisse a colaboração de programadores, compartilhando conhecimento e códigos. Com isso, o termo “software livre” foi criado em 1983 por Richard Stallman, que também iniciou o projeto GNU e criou a licença GPL.
É importante não confundir “software livre” com “software gratuito”, como a tradução do inglês “Free Software” pode sugerir. Um programa pode ser considerado software livre e, ainda assim, ser cobrado um valor do usuário final para seu acesso.
Assim, software livre [1] é um movimento filosófico e político que tem como objetivo garantir à comunidade de usuários a liberdade de executar, copiar, distribuir, estudar, modificar e melhorar o software em questão. Basicamente, o programador pode fazer tudo que quiser com o código livre, menos torná-lo proprietário.
Contudo, muitos viam, e ainda veem, o movimento do Software Livre como muito radical, principalmente para empresas. Para contornar isso, em 1998 Eric Raymond e Bruce Perens criaram o termo “open source“[2] para se referir a um software cujo código-fonte é aberto e pode ser modificado por qualquer pessoa.
Os movimentos do software livre e open source têm crescido e se fortalecido desde então, com a criação de diversas organizações que promovem seu uso e desenvolvimento em todo o mundo. Esses conceitos apresentam importantes sobreposições, principalmente por se oporem ao conceito de software proprietário, mas não devem ser confundidos.
Tipos de licença e principais restrições|
Em linhas gerais, existem dois grandes tipos de licenças de código aberto comumente utilizadas: as licenças “permissivas”, que impõem exigências menos intensas ou apenas exigem que seja dado crédito aos autores do programa original; e as licenças “restritivas”, que impõem restrições mais intensas ao usuário, especialmente no que diz respeito à obrigação de divulgar o código-fonte do projeto.
Como usar código aberto ou livre com responsabilidade e segurança
Ao usar um software aberto ou livre em um projeto, é preciso seguir as condições da licença do programa e a legislação de software e direitos autorais. No entanto, isso não deve afastar o uso desses programas, já que as próprias licenças buscam viabilizar e promover o uso por todos os interessados.
Assim, é importante estabelecer mecanismos de controle do uso de programas abertos e livres pelos desenvolvedores, mantendo-se o registro das licenças em uso e do tipo de uso que tem sido feito. A partir disso, é possível analisar se os termos das licenças são respeitados e quais impactos o uso pode ter no projeto como um todo.
Dessa forma, a regra geral é que o uso de código aberto ou livre é possível dentro de um projeto, inclusive de código proprietário, desde que este não seja um programa que possa ser considerado como derivado do original. Caso seja um programa derivado, o código do projeto deverá cumprir integralmente os termos da licença do código original e, eventualmente, indicar a autoria dos desenvolvedores originais, e possivelmente o código derivado em si deverá ser disponibilizado ao público, caso haja uma cláusula de Copyleft na licença.
Com essas e outras medidas será possível aproveitar ao máximo o que programas abertos e livres podem oferecer, sempre respeitando as licenças e os direitos dos programadores que colaboraram no desenvolvimento desses códigos tão importantes.
[2] De acordo com a Open Source Iniciative (OSI) (https://opensource.org/), “Open Source” não significa apenas acesso ao código-fonte, mas também abrange os termos de distribuição do software, que devem seguir 10 critérios: 1. Redistribuição Gratuita; 2. Código-fonte incluso; 3. Obras Derivadas Autorizadas; 4. Integridade do código-fonte do autor; 5. Não-discriminação contra pessoas ou grupos; 6. Não-discriminação contra campos de atuação; 7. Licença aplicável a todos igualmente; 8. Licença não pode ser específica para um produto; 9. Licença não pode restringir o uso de outros softwares; e 10. Licença deve ser tecnologicamente neutra.
Andrea de Barros Filomeno Faria é advogada e gestora da área de TME (Tecnologia, Mídia e Entretenimento) do Opice Blum e Bruno Advogados.
Bruno Blum Fonseca é advogado da área de TME (Tecnologia, Mídia e Entretenimento) do Opice Blum e Bruno Advogados.