GNU/Linux >> Linux Esercitazione >  >> Linux

Alcuni suggeriscono che il driver open source di Nvidia non è sufficiente. Si sbagliano, ed ecco perché

Commento:Nvidia ha fatto scalpore annunciando l'open source del driver del kernel Linux per le sue GPU, anche se l'azienda ha mantenuto la maggior parte del codice del suo driver closed source. Perché questa è ancora una vittoria.

In un classico momento di bicchiere mezzo vuoto/mezzo pieno, Nvidia ha rilasciato un driver del kernel open source per le sue GPU. Chris Duckett di ZDNet ha spiegato in dettaglio perché il momento open source di Nvidia è stato positivo per Linux e buono per Nvidia, ma voglio rivolgermi alla lamentela dello sviluppatore Linux Hector Martin secondo cui "open source il loro 'driver' non l'hanno fatto" perché Nvidia "ha spostato la maggior parte [del driver smarts] al firmware e ha effettuato la chiamata del driver open source. Anche se accettiamo l'interpretazione negativa e semivuota di Martin sulle notizie (e Jens Axboe, manutentore del sottosistema I/O del blocco Linux, non lo fa), c'è anche un modo più positivo, bicchiere mezzo pieno per leggerlo.

Open source:copertura da leggere

L'aspetto più positivo è che l'open source non è facile e le aziende che non conoscono l'open source richiedono tempo per padroneggiarlo. Occorre pazienza.

Allora cosa è successo?

Altri hanno scritto in modo più intelligente di me sulla storia di Nvidia con l'open source, ma ecco un tl;dr:non va bene. Almeno, non con la comunità Linux. Non guadagni una "peggior compagnia con cui abbiamo mai avuto a che fare" con un distintivo di vergogna dal creatore di Linux Linus Torvalds senza una ragione. Dato il turbolento passato, forse non sorprende che Michael Larabel abbia esultato per "questo traguardo super emozionante che molti di noi sperano di vedere da molti anni".

Ma cosa esattamente Nvidia ha aperto i sorgenti?

Christian Schaller, Director for Desktop, Graphics, Infotainment di Red Hat, ha fornito una revisione critica e obiettiva. Ma non disinteressato. Come ha scritto, "[A] è l'unico fornitore Linux con un'impronta ingegneristica significativa nelle GPU, [Red Hat] ha lavorato a stretto contatto con Nvidia per un paio d'anni cercando di aiutare a preparare il terreno per il passaggio di Nvidia a un modello con un driver del kernel open source.” Non è stata una decisione presa in un giorno, in altre parole.

Né è stata una decisione di open source tutto. Come ha riconosciuto Schaller, "[Una] gran parte di un moderno driver grafico si trova nel firmware e nei componenti dello spazio utente e quelli sono ancora closed source". Martin si prende del tempo per catalogare la dimensione relativa di ciò che era open source e ciò che è stato trattenuto, ma per Schaller, la notizia essenziale è che "significa che ora abbiamo un driver del kernel Nvidia che inizierà a essere in grado di consumare solo la GPL API nel kernel Linux." No, non si applica alle GPU Nvidia precedenti al 2018. E sì, ci vorranno anni prima che l'impatto di questa decisione (e della sua direzione) colpisca davvero la maggior parte degli sviluppatori.

In tutto questo Martin ha forse ragione di fatto (“nessuna libertà è stata guadagnata, per chi ci sta a cuore. La ~stessa quantità di codice è chiusa”), anche senza essere corretto o, almeno, non ottimista, nelle implicazioni ( ad esempio, Schaller ha osservato che "nel tempo fornisce un percorso per semplificare radicalmente il supporto dell'hardware Nvidia.") Tali implicazioni sono che Nvidia ha appena compiuto un passo significativo verso open source, piuttosto che lontano da esso.

Credito per intenzioni

Ricorda il commento di Schaller secondo cui questa mossa è in discussione da anni tra Red Hat e Nvidia? Se fosse stato un salto facile per Nvidia, sarebbe stato fatto dopo quel primo incontro. Quindi, Axboe è stato perspicace quando ha sottolineato:"[Ha] aiutato l'apertura della sorgente del driver inserendo più bit nel firmware? Certamente sì, ovviamente”. Non sorprende che Martin si aspettasse che il driver fosse più open source, ma Axboe ha quasi certamente ragione nel suggerire che non mantenere tutto il codice nel driver ha reso più facile per Nvidia eseguire il passaggio open source.

Perché non open source tutto? Il collaboratore del sistema grafico Linux Timur Kristóf ha offerto una ragione:"La preoccupazione principale è di solito che i concorrenti possano raccogliere" segreti commerciali "da driver open source o altri dettagli di implementazione che l'azienda preferirebbe mantenere segreti". Possiamo concordare o non essere d'accordo sul fatto che le aziende dovrebbero avere questa preoccupazione, ma per un'azienda come Nvidia che ha tradizionalmente operato al di fuori dell'open source, la lotta interna deve essere stata colossale per tenere chiuso il driver.

In ogni caso, è giusto pretendere che Nvidia e altre società facciano di più. Ma cerchiamo anche di essere empatici con l'umano fattori dietro le quinte:paura di regalare un vantaggio ai concorrenti (crediamo o meno che sia una preoccupazione fondata), paura di un open-sourcing inadeguato (le aziende vengono regolarmente criticate dagli spettatori dell'open source per non aver seguito le loro licenze preferite, modelli di governance , ecc.) e un numero qualsiasi di altre paure. Piuttosto che castigare Nvidia per non essere andata abbastanza lontano, celebriamo fino a che punto è arrivata.

Disclosure:lavoro per MongoDB ma le opinioni qui espresse sono mie .





Link alla fonte


Linux
  1. Hashing delle password e perché ne abbiamo bisogno

  2. Linux – Perché usiamo Su – e non solo Su?

  3. Esecuzione dello script con ". ” E con “fonte”?

  4. $bashpid e $$ differiscono in alcuni casi?

  5. Perché usiamo su - e non solo su?

Introduzione a differenze e patch

Perché alcune Emoji in bianco e nero e altre sono troppo grandi?

Perché Deis e che cos'è?

Quando viene gestito un segnale e perché alcune informazioni si bloccano?

Perché la porta 1111 è aperta ed è sicuro esserlo?

Perché e come alcune librerie condivise sono eseguibili, come se fossero eseguibili?