私が働いている会社は、クローズド ソースのカーネル モジュール (.ko ファイル) を開発しています。このモジュールは、gpl2 モジュールに含まれている関数を呼び出す必要があります。基本的に、次のような状況があります。
// GPL 2 kernel module (gpl.c -> gpl.ko)
void a_function(void)
{
// ...
}
EXPORT_SYMBOL(a_function)
// Closed Source module (closed.c -> closed.ko)
a_function();
これは合法ですか?この例では GPL2 ライセンスに違反していますか? closed.c には gpl2 ヘッダー ファイルが含まれていないことに注意してください。