Christoph Hellwig, een bekende ontwikkelaar van de Linux-kern, die ooit deel uitmaakte van het technische bestuurscomitƩ van de Linux Foundation en als eiser optrad in een rechtszaak met betrekking tot de GPL met VMware, de bescherming tegen het koppelen van proprietaire drivers aan kernelcomponenten van Linux, die alleen worden geƫxporteerd voor modules onder GPL-licentie, te verzwaren. Om de beperking van het exporteren van GPL-symbolen te omzeilen, gebruiken fabrikanten van proprietaire drivers een tussenmodule, waarvan de code openbaar is en verspreid wordt onder GPLv2-licentie, maar die functies beperkt tot het vertalen van de toegang van de proprietaire driver tot benodigde kern-API's, die verboden zijn voor direct gebruik vanuit proprietaire code.
Om dergelijke manoeuvres te blokkeren, heeft Christoph Hellwig voor de Linux-kern patches voorgesteld die zorgen voor het overerven van vlaggen met betrekking tot het exporteren van GPL-symbolen. Het voorstel komt neer op het overerven van de vlag TAINT_PROPRIETARY_MODULE in alle modules die symbolen importeren van modules met deze vlag. Op deze manier, als een GPL-tussenmodule probeert symbolen te importeren van een niet-GPL-module, erft de GPL-module de label TAINT_PROPRIETARY_MODULE en kan deze geen toegang krijgen tot kerncomponenten die alleen beschikbaar zijn voor modules onder GPL-licentie, zelfs als de module eerder symbolen uit de categorie 'gplonly' heeft geĆÆmporteerd.
Bij de discussie werd ook voor terughoudende blokkering ā als een module symbolen EXPORT_SYMBOL_GPL importeert, mogen alle door deze module geĆ«xporteerde symbolen niet worden geĆÆmporteerd door modules die expliciet niet verklaren compatibel te zijn met GPL. Dat wil zeggen, als een module symbolen EXPORT_SYMBOL_GPL importeert, moeten al zijn geĆ«xporteerde symbolen worden behandeld als EXPORT_SYMBOL_GPL. Christoph Hellwig , die 100% akkoord gaat met dit voorstel, maar een dergelijke wijziging zal niet worden goedgekeurd door Linus Torvalds, omdat dit zou leiden tot het onbereikbaar maken van het grootste deel van de subsysteemkernel voor proprietaire drivers, aangezien bij het ontwikkelen van drivers basiswaarden worden aangesloten die onder GPL zijn geĆ«xporteerd.
De wijziging is voorgesteld als reactie op een ingenieur van Facebook een serie patches met de implementatie van een nieuw netgpu-subsysteem, dat directe gegevensuitwisseling (DMA
zero-copy) tussen de netwerkkaart en de GPU mogelijk maakt, terwijl de protocolverwerking door de CPU wordt uitgevoerd. werd veroorzaakt bij ontwikkelaars implementaties uitsluitend voor de proprietaire NVIDIA-stuurprogramma's via de door deze stuurprogramma's geleverde GPL-laag. In reactie op de auteur van de patches , dat het subsysteem niet aan NVIDIA is gebonden en dat ondersteuning ook kan worden geboden voor software-interfaces naar AMD- en Intel-GPU's. Uiteindelijk werd het promoten van netgpu in de kernel als onmogelijk erkend totdat werkbare ondersteuning op basis van vrije stuurprogramma's, zoals AMDGPU, Intel i915 of Nouveau, beschikbaar kwam.
Bron: opennet.ru
