Um guia rápido para licenças de código aberto
Publicados: 2020-05-07Quando você cria um software que deseja compartilhar ou usa um produto que deseja adaptar, surgem perguntas sobre o que é ou não legal. Mesmo os programas que possuem uma licença de código aberto não são gratuitos. Se você não sabe os detalhes do que a licença permite, pode entrar em perigo legal. Saber seus limites - ou se houver algum - dá a você a liberdade de usar e compartilhar software com confiança.
O que são licenças de código aberto?
As licenças de código aberto seguem a definição de código aberto. Isso significa que o software ou produto - seu projeto, design e / ou código-fonte - pode ser usado, modificado e / ou compartilhado como o usuário quiser. Em termos gerais, o usuário pode personalizar o produto para atender às suas necessidades e, em seguida, compartilhar esse produto com outras pessoas.
As condições de como compartilhá-lo variam - as licenças de código aberto não são ilimitadas. As estipulações incluem reter os nomes dos autores e redistribuir os derivados com a mesma licença. Além disso, se a licença permitir a modificação ou redistribuição do produto apenas para fins não comerciais , o código não é aberto.
Uma licença de código aberto é um contrato legalmente vinculativo entre o autor do software e o usuário. O software postado publicamente e disponível gratuitamente não é automaticamente de código aberto. A licença o torna oficialmente open source. Muitos softwares de código aberto são gratuitos, mas isso não significa que ser livre seja um requisito ou garantia do software de código aberto.
Dois tipos principais de licenças de código aberto: Copyleft vs. permissiva
Copyleft e permissivo são as duas categorias principais de licenças de código aberto. Esses não são nomes de licenças de código aberto reais, mas são categorias nas quais as licenças específicas se enquadram.
Licenças Copyleft Open Source
Copyleft é um tipo de licença de código aberto que exige que o usuário aplique a mesma licença à sua versão do produto. Isso significa que se o usuário modificar e compartilhar o software, ele deve manter a licença de código aberto.
Licenças de código aberto permissivas
As licenças de código aberto permissivas são tão flexíveis quanto parecem. Elas não são licenças copyleft, portanto, o usuário não é obrigado a manter sua versão do código-fonte aberto do produto. Eles geralmente têm poucas restrições; os usuários podem criar trabalhos derivados proprietários sem ter que cumprir muitas obrigações.
Os tipos mais comuns de licenças de código aberto
Existem muitos tipos diferentes de licenças de código aberto que os autores e empresas podem escolher. Vamos examinar os mais populares.
Licença Apache
A Licença Apache é uma licença de código aberto da Apache Software Foundation. Sob a licença, você pode usar, modificar ou distribuir qualquer produto licenciado pela Apache.
Houve duas mudanças principais feitas na licença Apache. Em 2000, a cláusula de publicidade original foi removida. Agora, se houver materiais publicitários criados para um trabalho derivado, eles não precisam incluir a atribuição à Licença Apache - embora a atribuição tenha que permanecer na documentação. Em 2004, outra atualização da licença permitia os direitos de patente.
Berkeley Software Distribution (BSD)
Existem dois tipos de licenças BSD:
- Licença BSD modificada (cláusula 3)
- Licença BSD simplificada, também chamada de Licença FreeBSD (2-cláusula)
Cada licença BSD dá permissão para modificar e distribuir o código do software, fonte ou binário. No entanto, você deve manter uma cópia das condições, aviso de direitos autorais e isenção de responsabilidade.
A licença BSD original tinha quatro cláusulas, incluindo cláusulas de publicidade e de não endosso. A licença de 3 cláusulas modificada não inclui a cláusula de publicidade. A licença simplificada / gratuita de 2 cláusulas não possui cláusula de não endosso.
Licença Comum de Desenvolvimento e Distribuição (CDDL)
O CDDL é uma licença de código aberto criada pela Sun Microsystems (adquirida pela Oracle). O CDDL atual é a versão 2, e é um giro na Licença Pública Mozilla. Também substituiu a Licença Pública Sun, que veio com produtos Sun gratuitos e de código aberto até 2004.
Sob o CDDL, você pode reproduzir e distribuir trabalhos originais ou derivados de software licenciado. Você não pode fazer alterações ou remover quaisquer avisos sobre direitos autorais, patentes ou marcas registradas, no entanto. Além disso, o usuário deve guardar avisos ou texto com atribuição aos colaboradores ou desenvolvedores.
Se você distribuir o software em um formato executável, ou seja, um formato que não é o código-fonte, é necessário disponibilizar o código-fonte. Você pode liberar a forma executável sob a CDDL ou uma licença compatível com CDDL. Você é obrigado a divulgar o código-fonte de suas contribuições se elas atenderem a uma ou ambas as seguintes diretrizes:
- Eles são adições, modificações ou exclusões do software original.
- São novos arquivos que incluem partes do produto original.
Ao liberar o código-fonte, você deve incluir uma cópia do CDDL. Além disso, para cada modificação feita, você deve incluir um aviso nos arquivos modificados de que você é o modificador. Se você fez adições em arquivos separados e independentes que não contêm nenhum código original, não é necessário liberá-lo com um CDDL.
Licença Pública Eclipse (EPL)
A Licença Pública Eclipse é uma licença copyleft de código aberto da Eclipse Foundation. O objetivo do EPL é proteger os autores de entrarem em problemas legais se uma empresa usar seu componente em um produto comercial. A licença também oferece uma concessão de patente.
Se você modificar um componente EPL e distribuí-lo como código-fonte, deverá divulgar o código modificado. Se você distribuir seu produto na forma de código-objeto, deve esclarecer que entregará o código-fonte mediante solicitação. Você também deve esclarecer como solicitar o código-fonte. Ao redistribuir um programa que inclui parte de um produto licenciado pela EPL, você deve incluir o copyright completo e o texto da licença.
O EPL também diz que a interface ou interoperação com um plugin não o torna automaticamente um trabalho derivado. Simplificando, a menos que você esteja realmente modificando parte do plugin, não é um trabalho derivado.

GNU General Public License (GPL)
A GPL é a licença de código aberto mais popular (plug-ins e temas do WordPress devem ter esta licença). É uma licença copyleft, portanto, qualquer software que use qualquer componente GPL deve ser de código aberto, mesmo que apenas uma pequena porcentagem do código esteja no código modificado.
O software pode ser usado e modificado em qualquer lugar sem quase nenhuma restrição, quer você esteja usando-o de forma privada ou comercial. No entanto, existem restrições se você distribuir fora de sua organização. Nesse caso, você deve distribuir o código-fonte completo, bem como os mesmos termos de licença do software original.
Se o novo produto contém apenas parte do software GPL, você precisa distribuir o código-fonte completo? Pode ser. De acordo com a GPL, todos os trabalhos derivados devem ser licenciados de acordo com os termos de licenciamento completos. No entanto, se você distribuir o software GPL junto com um sistema proprietário e eles forem dois trabalhos separados - o que significa que eles não compartilham estruturas de dados e são executados em processos separados - então você pode não ter que liberar o código-fonte para todo o software .
GNU Lesser General Public License (LGPL)
Sob a LGPL - que é uma versão mais fraca da GPL - os produtos licenciados podem ser vinculados a aplicativos proprietários. O código proprietário ainda pode ser capaz de permanecer proprietário, dependendo se os programas estão dinamicamente ou estaticamente vinculados. Essa licença geralmente acompanha o software livre, permitindo que ele seja incorporado a software livre ou proprietário. Você não é obrigado a abrir o código-fonte de suas próprias extensões.
Licença Pública Microsoft (Ms-PL)
O Ms-PL é uma licença de software de código aberto gratuito da Microsoft e acompanha os próprios projetos de código aberto da Microsoft.
Os usuários podem criar e distribuir trabalhos de software originais ou derivados, mas você não pode usar o nome, logotipo ou marca registrada do colaborador. O Ms-PL exige a retenção dos avisos de atribuição original, direitos autorais, patentes e marcas registradas. Além disso, se o código não funcionar em uma obra derivada, o autor não é responsável - não há garantias ou garantias quanto ao desempenho do código.
Ao distribuir um produto sob o Ms-PL, você não é obrigado a distribuir o código-fonte, embora possa, se quiser. Se você optar por distribuir o código-fonte - ou mesmo uma parte do código-fonte - você deve incluir uma cópia completa da licença Ms-PL.
É aqui que fica mais complicado: se você distribuir qualquer parte do software na forma de código-objeto ou compilado, a licença escolhida deve estar em conformidade com o Ms-PL.
Código-fonte vs. código-objeto
Um programador escreve o código-fonte. É um documento (ou arquivo) baseado em texto escrito em uma linguagem que pode ser lida por humanos e o arquivo está em uma linguagem de programação. Porém, as máquinas não podem realmente ler o código-fonte à medida que ele é escrito.
Para torná-lo legível por máquina, a máquina deve compilar a linguagem do código-fonte em código executável por máquina - ou seja, código-objeto. O código do objeto é escrito como dígitos binários, e o processo de geração do código binário é a “compilação”. Embora o código-fonte não seja específico do sistema, o código-objeto é. O código-fonte pode ser o mesmo em sistemas diferentes, mas cada máquina pode compilá-lo em código-objeto diferente.
Quando se trata de código de objeto de licenciamento com o Ms-PL, aqui está o que você precisa saber: você pode definir seus próprios termos, mas eles não podem dar aos destinatários mais direitos do que a licença Ms-PL. Eles podem conceder menos direitos, no entanto.
Licença do Massachusetts Institute of Technology (MIT)
A licença MIT é uma das licenças de código aberto mais flexíveis que existem e concede todos os direitos do usuário final que você esperaria de uma licença de código aberto: copiar, distribuir, mesclar, modificar, etc. não inclui, especificamente uma cláusula de publicidade. Além disso, permite o nome do proprietário dos direitos autorais em conteúdo promocional.
Você pode fazer praticamente o que seu coração deseja com um produto sob esta licença. No entanto, o ano do copyright e as informações do detentor devem estar na licença do seu derivado.
Mozilla Public License 2.0
A Mozilla Public License 2.0 é uma licença copyleft. Os contribuidores podem compartilhar as modificações feitas no código. Eles também podem combinar código com código em outras licenças abertas ou proprietárias.
Se você deseja usar o software MPL para qualquer finalidade e distribuí-lo dentro de sua organização, não precisa fazer nada de especial. Se você deseja modificar o código-fonte MPL e distribuir seu trabalho derivado fora de sua organização, você deve:
- Informe aos destinatários que o código-fonte (incluindo o código-fonte para modificações) está disponível para eles de acordo com a MPL.
- Afford MPL concede aos destinatários, o que significa que eles têm uma licença não exclusiva e livre de royalties para usar, modificar, exibir, reproduzir, distribuir, etc.
- Respeite as restrições na remoção ou alteração de avisos no código-fonte. Você não pode remover ou alterar avisos de licença sobre direitos autorais, patentes, garantias ou responsabilidades.
Considerações finais sobre licenças de código aberto
Escolher uma licença de código aberto para o seu produto ou software não é tão simples quanto você gostaria que fosse. Se você não se importa com quem faz o quê com o seu produto, você pode escolher uma das licenças super flexíveis, como a licença do MIT. Caso contrário, você vai querer falar com um profissional, seja um desenvolvedor experiente ou um advogado, para discutir o que você tem, o que deseja e qual licença corresponde melhor. Saber o básico de antemão, no entanto, especialmente a terminologia e as licenças comuns que você deve cobrir, o ajudará a começar com o pé direito.
Confira nosso resumo dos 13 melhores aplicativos de software de código aberto para profissionais da web.
