Como o software semi-proprietário pode ser baseado no kernel do Linux?

9

Se eu entendi corretamente, o Linux Kernel é licenciado sob a GPL, o que significa que se alguém basear qualquer coisa nele, eles também terão que licenciar todo o trabalho derivado sob a GPL, fazendo com que qualquer um livre para modificar e / ou redistribuir trabalho derivado.

Por exemplo, todas as versões do Android são baseadas no LK. Isso não significa que a versão completa e todos os seus componentes também tenham que ser liberados sob a GPL?

Por exemplo, a maioria dos lançamentos do Android é fornecida com componentes proprietários. Isso não viola a GPL? O trabalho derivado não precisa ser liberado sob a GPL?

Com o Ubuntu, por exemplo, você precisa baixar codecs MPEG após a instalação. Eu suponho que isso é porque MPEG é proprietário, e que a licença do MPEG é, portanto, incompatível com a GPL, então eles não podem ser incluídos na mesma versão?

Como os lançamentos do Android contornam isso?

    
por Revetahw 23.10.2015 / 18:39

1 resposta

8

Primeiro, você deve deixar claro que o código do Google Android e o código do kernel do Linux são separados. O próprio Android é licenciado sob a licença Apache 2.0, que é permissiva e nas palavras Wikipedia :

The Apache License is permissive in that it does not require a derivative work of the software, or modifications to the original, to be distributed using the same license.

Como tal, nenhuma modificação do Android pelos fornecedores é normalmente disponibilizada.

Em segundo lugar, no caso do kernel Linux, sendo licenciado sob a GPLv2, o código é liberado para o público, seja enterrado em algum lugar dentro do dispositivo (menos provável) ou disponível para download em alguma página obscura no site do fornecedor dedicado à abertura. códigos-fonte em seus produtos.

No entanto, há uma grande limitação para o código do kernel do Linux disponibilizado publicamente - drivers proprietários e módulos do kernel de funcionalidade semelhante. O kernel Linux pode carregar blobs binários distribuídos sob licença proprietária, e o código fonte de tais blobs necessários para rodar o seu dispositivo não é naturalmente distribuído. Sendo assim, mesmo que você consiga colocar as mãos na fonte do kernel específica para o seu dispositivo, você não será necessariamente capaz de usá-lo para compilar seu próprio sistema operacional baseado em Linux.

Permissivo, no contexto

O que exatamente queremos dizer com uma licença permissiva ? De seus comentários, acho que você tomou para significar a capacidade de executar outro software permissivamente licenciado ou proprietário. Mas isso está errado.

Permissivo neste contexto significa quão permissível é deixar você fazer o que quiser com o código-fonte.

A GPL não é permissiva no sentido de que você está obrigado a divulgar qualquer modificação feita em um código licenciado sob GPL. Ele não permite que você aceite a contribuição de todos, faça alterações nela (independentemente de torná-la melhor ou pior) e esconda-a. Se você for distribuir o binário, também terá de distribuir o código-fonte. Como o não permite que você faça alterações privadas, é não permissivo .

A Licença Apache e as licenças BSD são exemplos de licenças permissivas. Oposto a GPL estritamente não permissiva, permite fazer qualquer modificação nos códigos licenciados sob eles e guardá-lo para si mesmo, em outras palavras, é permissivo . Ou seja, você pode usar o código do Android, mesmo se você alterá-lo o suficiente para torná-lo irreconhecível, você é livre para mantê-lo sozinho. E é exatamente isso que os fornecedores de dispositivos Android fazem.

    
por 23.10.2015 / 19:25