Posso criar software de código fechado com código de código aberto?


19

Eu estava usando um pacote de música popular (Ableton Live) quando abri a seção legal do arquivo de ajuda e vi que o programa continha licenças de código que pareciam livres e livres como cerveja e cerveja. Infelizmente, não consigo encontrar uma cópia online, mas, se necessário, posso listar os pacotes licenciados.

Tanto quanto eu posso ver, existem 3 possibilidades aqui:

  1. Uma empresa bastante grande está violando o licenciamento de código - altamente improvável, se for o caso, por que incluiria o texto da licença?

  2. Na verdade, é legítimo, por algum motivo, cobrar dinheiro e fechar a fonte de um pacote que contém código opensource - isso é novidade para mim, definitivamente.

  3. Estou entendendo mal algo - altamente provável.


O Facebook fez ...
Dynamic

1
Sem brincadeira - qual?
Jamesson

Eu quis dizer que o Facebook está escrito em software de código aberto.
dinâmico em

Que projeto (s)?
Jamesson

O número 2 parece duas possibilidades diferentes - você pode vender software de código aberto (até GPL) e pode distribuir software de código fechado gratuitamente. Carregar dinheiro e fechar a fonte são duas coisas distintas.

Respostas:


34

Depende de qual licença.

Existem algumas licenças de software livre que são projetadas especificamente para impedir que pessoas façam coisas assim, como a GNU GPL. Eles são conhecidos como licenças "virais", porque seus termos de licenciamento se espalham para qualquer código com o qual você os use, o que impede você de usar uma biblioteca GPL em um programa não-GPL (ou compatível).

Outras licenças estão mais preocupadas em compartilhar código livremente do que em promover uma ideologia específica. Em algum lugar no meio do espectro, você tem a MPL (Mozilla Public License), que não é viral e pode ser usada em projetos proprietários, mas os termos da licença exigem que o próprio código MPL permaneça coberto pela MPL e que qualquer As modificações (como melhorias, correções de bugs, portas etc.) que você fizer no código MPL devem ser publicadas livremente. A idéia aqui é "você obtém esse código livremente; portanto, se você o melhorar, deve contribuir com seus aprimoramentos de volta à comunidade como pagamento".

E no outro extremo do espectro estão as licenças completamente abertas, como as licenças BSD, MIT e Zlib. Eles essencialmente dizem "esse código é gratuito para qualquer um usar como quiser". (Com algumas restrições, é claro, mas realmente não há muito.) As pessoas que usam essas licenças estão usando o código gratuitamente como a maior prioridade.

Portanto, nem todas as licenças de software livre são criadas da mesma forma. Dê uma olhada nas licenças que estão sendo usadas aqui e quais são seus termos, e você terá uma idéia melhor se o desenvolvedor está ou não cumprindo-as usando-as em um projeto proprietário.

Além disso, há uma quarta possibilidade: a "empresa bastante grande" poderia ter licenciado o produto sob termos diferentes. Uma licença de software é projetada para limitar os usuários do software, não o criador do software, e não é inédito que alguém libere uma biblioteca de código aberto nos termos do estilo GPL e também venda licenças comerciais para pessoas que deseja usá-lo em um projeto proprietário, sem que sua base de código seja "infectada" por uma licença viral.


Spot on. A divisão é entre software livre e software aberto. Livre como em liberdade = GPL. Aberto (ala "livre como na cerveja") = BSD / Mozilla. Consulte Grátis versus gratuito .
Philip

3
@Philip. Completamente errado. Todas as licenças que você mencionou (GPL, BSD, MPL) são gratuitas ("gratuitas como em liberdade"). Todos também tendem a ter o efeito colateral de disponibilizar o software gratuitamente ("grátis como na cerveja"). No entanto, a GPL é copyleft , enquanto a BSD é permissiva . (MPL está em algum lugar no meio, eu acho.)
Trig

1
@TRiG Sua última linha está correta, no entanto, o argumento de Stallman é que a GPL é "livre como em liberdade", ou seja, "Libre". A resposta do movimento de código aberto foi que eles não queriam licenças virais. Eles queriam "grátis como na cerveja". Ok, por exemplo: se o BSD é "livre", como é que o OSX da Apple, que foi construído a partir do BSD, agora é proprietário? Isso não parece muito "liberado" para mim. O BSD foi um software de código aberto que a Apple pegou, trancou (sua licença proprietária) e chamou de seu. Eles poderiam fazer isso porque o BSD estava livre como na cerveja. Pegue? O link faz um trabalho melhor de explicação.
Philip

1
@Philip. Não, era porque o BSD era gratuito, e era permissivo, enquanto o material da GPL é livre e copyleft. A cerveja grátis não tem nada a ver com isso, isso é apenas um efeito colateral inevitável do free libre (geralmente).
TRiG

Eu diria que o código é visível, o custo é zero e a licença é permissiva. Esqueça as coisas de cerveja abertas.
Jiggunjer

2

Disclaimer : Eu não sou um advogado. Ao trabalhar com advogados no passado, os desenvolvedores de software tendem a adivinhar a intenção dos documentos legais e o trabalho disso, enquanto os advogados (1) leem o que está escrito e (2) usam as definições legais das palavras, em vez das comuns. Seja cuidadoso.

Como Mason disse, isso depende da licença usada pelo software de código aberto. Existem muitos tipos de licença comuns. A maioria permite que outras pessoas usem seu código desde que indenizem o autor e incluam atribuição (como o conteúdo da licença em um arquivo de ajuda ou na caixa de diálogo Sobre). As licenças mais restritivas podem exigir que outras alterações também sejam de código aberto (como a GPL).

Muitas empresas usam componentes de código aberto como parte do software de código fechado. Desde que o software de código fechado cumpra os termos da licença, assim como faria com os componentes comerciais, é utilizável.

Se você deseja usar esses componentes, há outras coisas a considerar também. Por exemplo, na declaração "Posso criar software de código fechado com código de código aberto?", Depende do significado de "com". O pacote está usando bibliotecas compiladas? Está usando o código fonte diretamente? Está modificando o código fonte ou incluindo-o no seu? Qualquer forma de modificação ou mistura de código é muito mais complicada do ponto de vista legal ou de licenciamento.

Além disso, o código está sendo distribuído aos clientes (como executado em seus servidores, PCs ou celulares) ou está sendo usado em um servidor na nuvem? A distribuição de software pode ser restrita ou limitada. Outras leis além da licença de software também podem ser aplicadas, como restrições de exportação dos EUA (embora eu ache que estou indo além da questão agora).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.