Christoph Hellwig, tuntud Linuxi tuumaarendaja, kes oli mõnda aega Linux Foundationi tehnilise komitee liige ja esindas hagejat seoses GPL-iga VMware'iga, et karmistada kaitset patenteeritud draiverite sidumise vastu Linuxi tuuma komponentidega, mis on eksportimiseks saadaval ainult GPL litsentsi all olevate moodulite jaoks. Patenteeritud draiverite tootjad kasutavad GPLv2 all avatud koodiga liidese moodulit, et mööda minna GPL-sümbolite ekspordipiirangust, kuid selle funktsioonid on piiratud patenteeritud draiveri juurdepääsu tõlkimisega keeldunud API-dele, mis ei ole lubatud otse patenteeritud koodis kasutada.
Et selliseid manöövreid blokeerida, Christoph Hellwig Linuxi tuumade jaoks pakutavad plaastrid, mis tagavad GPL-sümbolite ekspordiga seotud lipu pärandi. Eesmärgiks on TAINT_PROPRIETARY_MODULE lipu pärimine kõigis moodulites, mis impordivad sümboleid moodulitest, millel see lipp on. Seega, kui GPL vahendmodul üritab importida sümboleid mittelepingulisest moodulist, siis pärib GPL-moodul TAINT_PROPRIETARY_MODULE sildi ja ei saa ligi pääseda ainult GPL-licentsiga moodulitele iseloomulikele tuumakomponentidele, isegi kui moodul on varem impordinud sümboleid kategooriast „gplonly”.
Arutelul oli samuti ettepanek tagasiblokeerimise kohta – kui moodul impordib sümboleid EXPORT_SYMBOL_GPL, siis ei tohi selle poolt eksporditud sümboleid importida moodulid, mis ei ole selgelt deklareerinud ühilduvust GPL-iga. Ehk siis, kui moodul impordib sümboleid EXPORT_SYMBOL_GPL, peavad kõik tema eksporditud sümbolid käituma nagu EXPORT_SYMBOL_GPL. Christoph Hellwig , mis on 100% nõus antud ettepanekuga, kuid sellist muudatust ei luba Linus Torvalds, kuna see tooks kaasa suure osa süsteemi allhoosüsteemide kättesaamatuse proprietary draiverite jaoks, kuna draiverite arendamisel kasutavad nad põhisisendeid, mis on GPL-i alusel eksporditud.
Muudatus on tehtud reageerides Facebooki inseneri seeria patšidele, mis rakendavad uut netgpu allhoosüsteemi, võimaldades korraldada otsest andmevahetust (DMA
zero-copy) võrgukaardi ja GPU vahel, samal ajal töötades protokolli töötlemisega CPU abil. arendajate seas tekitas ainult NVIDIA proprietary draiverite rakendamine, kasutades nende draiveritega pakutavat GPL-i kihti. Vastuseks patchide autor , et allhoosüsteem ei ole seotud NVIDIA-ga ning selle toetust saab pakkuda ka AMD ja Intel GPU-de tarkvaraliideste jaoks. Lõpuks tunnistati netgpu edendamine kernelisse võimatuks, kuni töötav tugi on olemas vabade draiverite, nagu AMDGPU, Intel i915 või Nouveau, alusel.
Allikas: opennet.ru
