GNU/Linux >> Tutoriels Linux >  >> Linux

Certains suggèrent que le pilote open source de Nvidia ne suffit pas. Ils ont tort, et voici pourquoi

Commentaire :Nvidia a fait des vagues en annonçant l'open source du pilote du noyau Linux pour ses GPU, même si la société a gardé la plupart de son code de pilote fermé. Pourquoi c'est toujours une victoire.

Dans un moment classique de verre à moitié vide/à moitié plein, Nvidia a publié un pilote de noyau open source pour ses GPU. Chris Duckett de ZDNet a détaillé pourquoi le moment open-source de Nvidia était bon pour Linux et bon pour Nvidia, mais je veux répondre à la plainte du développeur Linux Hector Martin selon laquelle "ils n'ont pas ouvert leur 'pilote'" parce que Nvidia "a déplacé la plupart des [the driver smarts] au micrologiciel et a fait l'appel du pilote open source. Même si nous acceptons le point de vue négatif et à moitié vide de Martin sur l'actualité (et Jens Axboe, responsable du sous-système d'E/S du bloc Linux, ne l'accepte pas), il existe également une façon plus positive et à moitié plein de le lire.

Open source :couverture à lire absolument

Ce point de vue plus positif est que l'open source n'est pas facile et que les entreprises qui découvrent l'open source mettent du temps à le maîtriser. La patience est requise.

Alors que s'est-il passé ?

D'autres ont écrit plus intelligemment que moi sur l'histoire de Nvidia avec l'open source, mais voici un tl;dr:ce n'est pas bon. Du moins, pas avec la communauté Linux. Vous ne gagnez pas un badge de honte de la « pire entreprise avec laquelle nous ayons jamais eu affaire » du créateur Linux Linus Torvalds sans raison. Compte tenu du passé agité, il n'est peut-être pas surprenant que Michael Larabel se réjouisse de "cette étape super excitante que beaucoup d'entre nous espéraient voir depuis de nombreuses années".

Mais quoi exactement Nvidia est-il open source ?

Christian Schaller, directeur des ordinateurs de bureau, des graphiques et de l'infodivertissement chez Red Hat, a fourni un examen critique et objectif. Mais pas désintéressé. Comme il l'a écrit, "[A]s le seul fournisseur Linux avec une empreinte d'ingénierie significative dans les GPU, nous [Red Hat] travaillons en étroite collaboration avec Nvidia depuis quelques années maintenant en essayant d'aider à préparer le terrain pour que Nvidia passe à un modèle avec un pilote de noyau open source. En d'autres termes, ce n'était pas une décision prise en un jour.

Ce n'était pas non plus une décision de tout ouvrir. Comme l'a reconnu Schaller, "[A] une grande partie des pilotes graphiques modernes se trouve dans les composants du micrologiciel et de l'espace utilisateur et ceux-ci sont toujours à source fermée." Martin prend le temps de cataloguer la taille relative de ce qui était open source et de ce qui était retenu, mais pour Schaller, la nouvelle essentielle est que "cela signifie que nous avons maintenant un pilote de noyau Nvidia qui commencera à pouvoir consommer la GPL uniquement API dans le noyau Linux. Non, cela ne s'applique pas aux anciens GPU Nvidia antérieurs à 2018. Et, oui, il faudra des années pour que l'impact de cette décision (et sa direction) se fasse vraiment ressentir pour la plupart des développeurs.

Dans tout cela, Martin est peut-être factuellement correct ("aucune liberté n'a été gagnée, pour les gens qui s'en soucient. La même quantité de code est fermée"), même sans être correct ou, du moins, pas optimiste, dans les implications ( par exemple, Schaller a noté qu '«au fil du temps, il fournit une voie pour simplifier radicalement la prise en charge du matériel Nvidia».) Ces implications sont que Nvidia vient de faire un pas significatif vers open source, plutôt que de s'en éloigner.

Crédit pour les intentions

Rappelez-vous le commentaire de Schaller selon lequel cette décision est en discussion depuis des années entre Red Hat et Nvidia ? S'il s'agissait d'un saut facile pour Nvidia, cela aurait été fait après cette première réunion. Par conséquent, Axboe a été perspicace lorsqu'il a souligné :« [Cela] a-t-il facilité l'ouverture de la source du pilote en insérant plus de bits dans le micrologiciel ? Certainement oui, évidemment. Sans surprise, Martin s'attendait à ce que davantage de pilotes soient open source, mais Axboe a presque certainement raison de suggérer que non conserver tout le code dans le pilote a permis à Nvidia de passer plus facilement à l'étape open source.

Pourquoi ne pas tout ouvrir ? Timur Kristóf, contributeur au système graphique Linux, a proposé une raison :"La principale préoccupation est généralement que les concurrents peuvent glaner des" secrets commerciaux "à partir de pilotes open source ou d'autres détails d'implémentation que l'entreprise préférerait garder secrets." Nous pouvons convenir ou non que les entreprises devraient avoir cette préoccupation, mais pour une entreprise comme Nvidia qui a traditionnellement opéré en dehors de l'open source, la lutte en interne a dû être colossale pour garder le pilote fermé.

Bien sûr, il est juste d'exiger que Nvidia et d'autres entreprises en fassent plus. Mais soyons également empathiques envers l'humain facteurs en coulisse :peur d'offrir un avantage à ses concurrents (que nous pensions ou non que c'est une préoccupation fondée), peur d'un mauvais open source (les entreprises sont régulièrement harcelées par les spectateurs de l'open source pour ne pas suivre leurs licences préférées, les modèles de gouvernance , etc.), et un certain nombre d'autres peurs. Plutôt que de fustiger Nvidia pour ne pas être allé assez loin, célébrons le chemin parcouru.

Divulgation :je travaille pour MongoDB mais les opinions exprimées ici sont les miennes .





Lien source


Linux
  1. Hachage de mot de passe et pourquoi nous en avons besoin

  2. Linux - Pourquoi utilisons-nous Su - Et pas seulement Su ?

  3. $bashpid et $$ diffèrent dans certains cas ?

  4. Pourquoi utilisons-nous su - et pas seulement su ?

  5. Pourquoi et comment certaines bibliothèques partagées sont-elles exécutables, comme si elles étaient des exécutables ?

Pourquoi ma bibliothèque publique choisit Linux et open source

Une introduction aux diffs et aux patchs

Pourquoi certains Emoji N&B et d'autres sont-ils trop gros ?

Pourquoi est-ce Rm -rf et non Rmdir -rf ?

Quand un signal est-il traité et pourquoi certaines informations se bloquent-elles ?

Pourquoi le port 1111 est-il ouvert et est-il sûr de l'être ?