Linuxový vývojář Matthew Garrett upozorňuje na pochybnou praktiku, kterou se Oracle snaží obcházet licenci GNU GPL. Vyvíjí totiž jaderný modul DTrace, který je distribuován pod licencí CDDL. Ta je nekompatibilní s GNU GPL, takže kód není možné šířit společně s linuxovým jádrem.
Modul používá jadernou funkci ktime_get()
, která je exportována pomocí EXPORT_SYMBOL_GPL()
. Podle vývojářů jde v takovém případě o odvozené dílo (což ovšem soudy nikdy nepotvrdily), které má být správně uvolněno pod GNU GPL. Oracle ale přidává vlastní funkci dtrace_gethrtimer()
, která jednoduše zavolá ktime_get()
a vrátí stejný výstup. Tato funkce je ale exportována v EXPORT_SYMBOL()
, u které je vývojáři jádra deklarováno, že jej mohou využívat i aplikace vydané pod jinou licencí.
Oracle se tváří, že takto je to v pořádku, ale podle Garretta jde o velmi pochybný způsob obcházení GNU GPL. Autoři jaderného kódu totiž jasně deklarovali, jaké použití je v souladu s licencí a jaké ne. Přehozením funkce z jedné škatulky do druhé se na tomto faktu nic nemění a stále je třeba dodržet původní licenční ustanovení. Soud nikdy nepotvrdil, že takové volání funkce vytváří odvozenou práci, ale pokud by k tomu jednou došlo, Oracle může těžko tvrdit, že to udělal nezáměrně.
Pikantní je, že sám Oracle se u soudu už několik let snaží dokázat, že API je chráněno autorským zákonem a platí pro něj autorské licence, stejně jako na jakýkoliv jiný kód.