Propuneți blocarea driverelor care oferă acces la apelurile GPL către nucleul Linux

Sigla kernelului Linux, Tux

Christoph Hellwig, un proeminent dezvoltator de kernel Linux care a fost cândva membru al comitetului tehnic al Fundației Linux și dat în judecată într-un litigiu GPL împotriva VMware.

El a propus înăsprirea protecțiilor împotriva legării drivere proprietare la componentele kernel-ului Linux exportate numai pentru modulele licențiate conform GPL.

Pentru a evita restricții pentru a exporta simboluri GPL, producătorii de controlere proprietare utilizează un modul strat, al cărui cod este open source și este distribuit sub licența GPLv2, dar funcțiile se rezumă la trecerea accesului controlerului proprietar la API-uri fișiere kernel, a căror utilizare este interzisă direct din codul proprietar.

Pentru a bloca o astfel de manevră, Christoph Helwig a pregătit patch-uri pentru nucleul Linux care asigură moștenirea a steagurilor asociate cu exportul simbolurilor GPL.

Am avut o eroare în rezoluția modulului nostru _GPL încă din prima zi,
adică un modul poate pretinde că este licențiat GPL și poate utiliza exporturile _GPL, bazându-se totodată pe simboluri care nu sunt module GPL. Aceasta este utilizată ca o eludare a exporturilor _GPL utilizând un modul mic shim care utilizează exporturile _GPL și alte funcționalități.

Propunerea se reduce la moștenirea indicatorului TAINT_PROPRIETARY_MODULE în toate modulele care importă simboluri de module cu acest flag.

Prin urmare, dacă un modul de strat mediu GPL încearcă să importe simboluri dintr-un modul non-GPL, modulul GPL va moșteni eticheta TAINT_PROPRIETARY_MODULE și nu va putea accesa componentele kernelului disponibile doar pentru modulele licențiate GPL, chiar dacă modulul a fost importat anterior simboluri din „gplonly”.

Patch-ul lui Hellwig încearcă acum să îngreuneze acest lucru. Modulele care importă simboluri proprietare sunt marcate drept proprietate și nu au acces la simbolurile GPL. 

Modificarea a fost propusă ca răspuns la o serie de patch-uri lansate de către un inginer Facebook cu implementarea unui nou subsistem netgpu, care permite schimbul direct de date (zero copie DMA) între placa de rețea și GPU, în timp ce efectuează procesarea protocolului de către CPU.

Acest lucru ar evita metoda planificată inițial de Jonathan Lemon pentru patch-urile dvs. și ar face dezvoltarea straturilor intermediare pentru a omite simbolul GPL fi mult mai dificil, chiar dacă există încă un mic decalaj, după cum se indică.

În discuția pe care o poartă în prezent diverși dezvoltatori de kernel Linux blocarea inversă a fost sugerată: Dacă un modul importă simboluri EXPORT_SYMBOL_GPL, simbolurile exportate de acel modul nu trebuie importate de module care nu revendică în mod explicit compatibilitatea GPL.

Cei fără modul importă simboluri EXPORT_SYMBOL_GPL, toate simbolurile lor exportate ar trebui tratate ca EXPORT_SYMBOL_GPL.

Christoph Helwig a scris că este de acord 100% cu această propunere, dar Linus Torvalds nu va pierde această modificare, deoarece va face ca majoritatea subsistemelor kernelului să nu fie disponibile pentru driverele proprietare, datorită faptului că la dezvoltarea driverelor simbolurile de bază sunt exportate sub GPL

Dezvoltatorii nu au fost mulțumiți de disponibilitatea implementării doar pentru driverele NVIDIA proprietare prin stratul GPL furnizat de acești drivere.

Ca răspuns la critici, autorul patch-ului a indicat că subsistemul nu este legat de NVIDIA iar asistența sa poate fi furnizată, printre altele, pentru interfețele software pentru GPU-urile AMD și Intel.

Ca urmare, promovarea netgpu în kernel a fost considerată imposibilă până la disponibilitatea suportului de lucru bazat pe drivere gratuite precum AMDGPU, Intel i915 sau Nouveau.

Trebuie să vă amintiți asta în trecut, comunitatea kernel Linux are a implementat o varietate de modificări că în cunoștință de cauză sau ca efect secundar, au împiedicat dezvoltarea modulelor proprietare sau nu este compatibil cu licențele.

În cele din urmă dacă vrei să afli mai multe despre asta, puteți verifica detaliile mergând la următorul link.

Fuente: https://lkml.org/


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   David el a spus

    Poate că ar fi mai bine să puneți articolul în engleză în loc să folosiți un traducător. Există multe părți care sunt neinteligibile pentru mine.