Oracla continua a dar a curva na função EXPORT_SYMBOL_GPL()
Enviado por Nicolas Wildner (nicolasgauchoΘgmail·com):
A função EXPORT_SYMBOL_GPL() só pode ser utilizada por módulos que são decididamente GPL, e qualquer módulo com outra licença será recusado a carregar pelo Kernel. Como todos os símbolos exportados por esta função são fundamentais ao Kernel, o consumo dos mesmos já é o suficiente para figurar trabalho derivado por parte do código que utilizou a função. Ja EXPORT_SYMBOL() pode em alguns casos gerar um trabalho derivado(e relembrando, uma vez GPL…).
Eis que a famosa do banco de dados possui uma ferramenta para tracing dinâmico de Kernel chamada DTrace, que possui a licença CDDL. Para que uma ferramenta desta funcione bem integrada ao Linux, provavelmente deverá ser licenciada na GPL.
Para contornar a situação, a Oracle em seu módulo do DTrace criou uma função chamada dtrace_gethrtime() que nada mais é que a sua forma de chamar ktime_get()(um wrapper). O problema na situação é que ktime_get() utiliza a EXPORT_SYMBOL_GPL(), enquanto a dtrace_gethrtime() utiliza EXPORT_SYMBOL() e chama ktime_get() não precisando alterar a licença de seu código e sendo apenas uma função "roteadora" do resultado de outra função. Se dtrace_gethrtime() invocasse EXPORT_SYMBOL_GPL() provavelmente não carregaria seu módulo pelas proteções do Linux.
A solução mais óbvia aqui seria criar um licenciamento dual CDDL/GPL para esta ferramenta, mas como esta empresa é campeã em colocar direitos autorais em suas APIs(vide caso Oracle x Android) isto será pouco provável. Uma manobra e tanto para contornar legalmente as contribuições do Linux. Ah, a ironia.” [referência: mjg59.dreamwidth.org]
Comentar
comments powered by DisqusComentários arquivados