Artigo de Michael Larabel no site Phoronix, relata que Uwe Kleine-König encaminhou patches ao kernel “impedindo que os drivers da TUXEDO Computers acessassem símbolos somente GPL no kernel”.
O que são módulos/drivers do kernel?
O kernel do Linux é o “coração” do sistema operacional, responsável por gerenciar os recursos do hardware.
Os módulos são “pequenos programas” que fazem o computador funcionar, enquanto os drivers são um tipo especial de módulo que interagem diretamente com o hardware.
O que são símbolos GPL?
Os “símbolos” são basicamente nomes que identificam funções, variáveis e outras partes do código dentro do kernel.
Quando um driver acessa esses símbolos, ele está, de certa forma, “usando” o kernel para realizar suas tarefas.
A TUXEDO Computers mantém seus próprios drivers fora do kernel Linux, obtendo maior flexibilidade para adicionar funcionalidades específicas a seus laptops.
No entanto, eles se deparam com uma restrição: os símbolos do kernel, essenciais para o funcionamento desses drivers, são protegidos pela licença GPL.
Isso significa que seus drivers usam partes do código do kernel de uma forma que não está de acordo com os termos da licença.
Em outras palavras, os drivers estão se “aproveitando” do kernel sem contribuir de volta para a comunidade, como a GPL exige.
Se os drivers da empresa continuam acessando os símbolos do kernel, sem observar o licenciamento, é considerado uma violação da licença.
Entendendo o problema com a GPL
As versões GPLv3 e GPLv2, embora tenham o mesmo objetivo, possuem diferenças, a primeira introduzindo cláusulas mais restritivas.
Uma delas fala da distribuição de software que combina código licenciado sob as duas versões, criando restrições às 4 liberdades fundamentais.
O kernel Linux é licenciado pela GPLv2; os drivers da TUXEDO, pela GPLv3. Combinação que viola suas cláusulas, se restringir a liberdade dos usuários em modificá-los e distribuí-los.
Uwe Kleine-König, um dos colaboradores do kernel, denunciou a prática da TUXEDO ao licenciá-los como GPLv3, enquanto utiliza o kernel sob GPLv2, o que não está em conformidade com elas.
Na prática, ele disse que a TUXEDO está “infringindo” as condições das licenças, devido às restrições da GPLv3 ao código que é combinado e redistribuído.
E, com isso, age “desonestamente” ao declarar que seus drivers são compatíveis com a GPLv2, mas usa o kernel inapropriadamente, “enganando” a comunidade e violando o espírito do software livre.
Por isso, Uwe enviou os patches que impedem o carregamento dos drivers da TUXEDO, expondo a verdadeira intenção no licenciamento desses drivers.
A resposta da TUXEDO
Ela esclareceu a situação complexa envolvendo as licenças GPLv2 e GPLv3, e as razões pra não relicenciar imediatamente para a v2.
Admitindo que houve um erro na interpretação da licença, mas que não foi intencional, pois a definição exata de MODULE_LICENSE(“GPL”) não é clara, levando a interpretação equivocada sobre a compatibilidade com a v2.
A TUXEDO prioriza o suporte rápido a novos dispositivos, enquanto o kernel principal tem requisitos mais rigorosos em relação à qualidade do código.
Afirma que não tem a intenção de violar as licenças e os está reescrevendo, para deixá-los 100% compatíveis com a GPLv2 e, com isso, integrá-los ao kernel.
Assim, colabora com a comunidade, oferecendo suporte e conselhos aos que desejam contribuir com o desenvolvimento dos drivers.
Algumas questões permanecem…
A demora em resolver o problema pode prejudicar a reputação da empresa e gerar desconfiança na comunidade.
Se a definição de MODULE_LICENSE(“GPL”) é realmente ambígua, isso levanta questões sobre a clareza das próprias licenças e a necessidade de melhorias na documentação.
A prioridade da Tuxedo em oferecer suporte rápido a novos dispositivos pode ter influenciado a decisão de utilizar uma licença menos permissiva.
Fonte: links no texto