1 points par GN⁺ 2024-06-28 | 1 commentaires | Partager sur WhatsApp
  • Dans les années 2000, le Wi-Fi fonctionnait rarement correctement juste après l’installation sous Linux, et Larry Finger a été l’un des développeurs qui ont amélioré l’usage du desktop Linux grâce à un meilleur support des pilotes sans fil
  • Finger a contribué à au moins 94 versions du noyau et 1 464 commits depuis Linux kernel 2.6.16, et est décédé le 21 juin 2024 à l’âge de 84 ans
  • À une époque où Broadcom ne fournissait pas le code nécessaire pour son matériel, il a participé au travail sur les pilotes Broadcom BCM43XX et Realtek, en analysant directement les registres matériels pour rétroconcevoir les spécifications nécessaires
  • Sans formation formelle en informatique, il a accumulé de l’expérience avec Fortran, PDP-11, VAX et Unix/Linux, et a indiqué en 2023 que son code représentait 172 346 lignes dans le noyau Linux 6.4
  • Il a laissé comme conseil de commencer par de petits patchs, d’utiliser git send-email et de savoir encaisser la critique, et il reste dans les mémoires comme quelqu’un qui a mentoré d’autres développeurs pour faire entrer du code open source Broadcom dans le noyau

Les traces qu’il a laissées dans le support sans fil de Linux

  • Denise Finger, l’épouse de Larry Finger, a laissé un court message sur la Linux kernel mailing list pour annoncer son décès le 21 juin 2024
  • D’après LWN.net, Finger a contribué à au moins 94 versions depuis kernel 2.6.16, moment où le noyau Linux a commencé à suivre ses changements avec git
    • Nombre total de commits : 1 464
    • Finger n’avait pas de formation formelle en informatique et se considérait comme un scientifique
  • C’est un exemple qui montre que, même dans un projet aussi immense que Linux, les contributions régulières d’une seule personne peuvent laisser une empreinte durable sur l’expérience utilisateur et l’écosystème

Les difficultés du Wi-Fi sous Linux dans les années 2000

  • À l’époque où Finger a commencé à contribuer, il était peu probable qu’un matériel Wi-Fi soit détecté, activé et pleinement fonctionnel immédiatement après l’installation de Linux
  • Les utilisateurs de chipsets sans fil non pris en charge devaient souvent s’en remettre à NDISwrapper, un outil de contournement permettant d’utiliser des pilotes Windows
    • Cela rendait l’installation de Linux dépendante d’une méthode moins ouverte
    • Et la charge d’installation comme de maintenance restait importante
  • Finger a commencé à améliorer cette situation avec le travail sur les pilotes Broadcom BCM43XX
  • Comme Broadcom ne fournissait pas le code de son matériel, il a contribué à rétroconcevoir les spécifications nécessaires en effectuant lui-même des dumps et des lectures des registres matériels
  • Il a aussi fourni plusieurs pilotes Realtek, et de nombreux commentaires sur des blogs et forums indiquent encore aujourd’hui que certains systèmes utilisent une partie de son code

Des équipements scientifiques à Unix/Linux

  • Hormis plusieurs centaines de commits dans le noyau, Finger a laissé peu de traces sur le Web
  • Son domaine personnel héberge une page consacrée à DRAWxtl, un logiciel open source de création de schémas de structures cristallines
  • Il a publié des réponses sur Quora, et son profil GitHub affiche plus de 100 contributions à des projets en 2024
  • Dans la trilogie Linux Journal de 2005, “Linux in a Windows Workstation Environment”, Finger retraçait sa carrière
    • Débuts comme programmeur Fortran en 1963
    • Travail sur les PDP-11 et les interfaces d’équipements scientifiques dans les années 1970
    • Travail sur le VAX-11/780 au début des années 1980
    • Puis sur des systèmes Unix/Linux
    • Retraite en 1999 au Carnegie Institution for Science à Washington, D.C.
  • Le minéral extrêmement rare Fingerite a été nommé en son honneur
  • Ses recherches en cristallographie l’ont conduit à une bourse en Haute-Franconie, qu’il évoquait dans une réponse Quora à propos de l’Autobahn

Après la retraite, la construction d’un réseau pour un parc de RV

  • Après sa retraite, Finger écrivait dans Linux Journal être devenu résident à temps plein d’un RV, « consacré à éviter le froid »
  • Avec son épouse Denise, il est arrivé dans une communauté de RV réservée aux plus de 55 ans à Mesa, en Arizona, et a rejoint le club informatique local
  • À l’époque, de plus en plus de PC Windows y partageaient une connexion DSL, gérée par une machine utilisant WinGate
  • Le nouveau propriétaire du parc de RV voulait porter le nombre de postes de travail à 22, mais le coût de la licence WinGate était trop élevé pour le club
  • Déclarant qu’il se méfiait profondément de « l’utilisation de Windows 98 dans un rôle mission critical », Finger a construit lui-même une alternative basée sur Linux
  • Le réseau a ensuite été étendu au niveau suivant
    • 38 postes utilisateurs
    • partages Samba personnels
    • base de données des membres
    • tunnels VPN
    • plusieurs ports RJ-45 gratuits
    • « accès Wi-Fi gratuit » dans tout le parc

Mentorat et conseils pour contribuer au noyau

  • Finger n’est pas seulement resté dans les mémoires comme un développeur ayant permis à davantage de personnes d’utiliser Linux, mais aussi comme un mentor aidant d’autres contributeurs
  • Un commentaire sur LWN.net indique qu’il a mentoré d’autres personnes pour faire entrer du code open source Broadcom dans le noyau, avec un grand succès
  • Sur Quora en 2023, à la question de savoir si une personne ordinaire sans formation formelle en informatique peut apporter une contribution concrète au noyau Linux, Finger a répondu : « Je pense que oui »
  • Il a lié les statistiques du noyau Linux 6.4 et indiqué que son code représentait 172 346 lignes, soit environ 0,5 % du total
  • Il expliquait n’avoir jamais suivi de cursus en informatique, mais avoir accumulé une solide expérience de programmation à une époque où les performances des machines étaient bien plus limitées qu’aujourd’hui, ce qui imposait d’écrire du code efficace
  • À celles et ceux qui veulent commencer à contribuer au noyau, Finger recommandait ceci
    • Commencer par de petits patchs
    • Lire les guidelines en profondeur
    • Envoyer les patchs toujours avec git send-email
    • Les patchs envoyés avec un client mail comme Thunderbird peuvent être rapidement rejetés
    • Repérer les fautes et erreurs dans les commentaires et les chaînes de caractères peut aussi être utile
    • S’attendre aux critiques sur les règles et le format, et continuer à essayer
  • Il disait que le développement de pilotes pour le noyau est un travail à la fois gratifiant et frustrant, et conseillait d’apprendre le C, de commencer par l’analyse de pilotes USB et de consacrer du temps à l’apprentissage du DMA
  • Finger ajoutait qu’il lui avait lui-même fallu environ deux ans avant de pouvoir faire plus qu’indiquer à des experts où se situait un fault système, en concluant : « Ne perdez pas espoir »

1 commentaires

 
GN⁺ 2024-06-28
Commentaires sur Hacker News
  • C’est une nouvelle vraiment triste, pour le monde entier comme à titre personnel. Je regrette soudain profondément de ne pas avoir pris le temps de le remercier plus tôt. Il ne le savait sans doute pas, mais il a été pour moi une sorte de mentor
    Au début des années 2010, j’ai acheté un portable équipé d’une carte RTL 8188 CE qui fonctionnait très mal sous Linux, et après avoir forké son pilote et y avoir apporté plusieurs modifications, j’ai réussi à faire marcher le Wi-Fi parfaitement. J’ai même utilisé des méthodes qui ne pouvaient pas être intégrées en amont à cause de contraintes légales et réglementaires
    Pendant des années, j’ai souvent rebasé mon travail et revu mes changements, et j’ai énormément appris en lisant son code. Il m’a fallu un peu de temps pour m’y habituer, mais j’y ai progressivement trouvé une forme de beauté et de gratitude. Une chose était claire : cet homme faisait énormément pour empêcher l’ensemble de s’effondrer. Rien que maintenir le pilote compilable à chaque sortie du kernel demandait souvent des refactorings non triviaux, et il faisait cela avec constance et talent
    Larry, tu vas nous manquer. Repose en paix. Si vous attendez pour contacter quelqu’un, mieux vaut ne pas trop tarder. Les années passent en un instant, et soudain il peut être trop tard

    • Je comprends que la plupart des contributeurs du kernel sont des bénévoles et peuvent travailler comme ils veulent, et qu’un auteur de pilote non intégré en amont doit suivre le trunk. Malgré tout, ce genre de situation ressemble à un gaspillage de talent humain
      À mon avis, une fois que quelque chose fonctionne, cela ne devrait plus jamais casser. Des décennies de couches successives de complexité superflue n’ont pas vraiment résolu ce problème, et semblent au contraire créer encore plus de travail juste pour rester au même niveau
    • J’ai repéré une petite faute de frappe, mais le texte original ne peut plus être corrigé. Je voulais dire le début des années 2010, pas le début des années 2000
    • Je suis curieux de savoir quelle chose juridiquement non autorisée a été faite pour améliorer le fonctionnement du Wi-Fi
  • Ars Technica a publié un bon article. Il a énormément contribué à améliorer Linux Wi-Fi et tout l’écosystème des pilotes
    https://arstechnica.com/gadgets/2024/06/larry-finger-linux-w...
    Je me souviens de l’époque où je pestais contre ndis wrapper et l’écosystème Wi-Fi de Broadcom ; Larry a aidé à résoudre ce problème et a mentoré beaucoup de gens au passage
    La citation de l’article d’Ars Technica est marquante aussi. En 2023, sur Quora, à la question « Une personne sans formation académique formelle en informatique peut-elle contribuer de manière substantielle à Linux ? », Finger a répondu : « Je pense que c’est ce que j’ai fait », puis a montré que son code représentait 172 346 lignes, soit environ 0,5 % du total, dans les statistiques du kernel 6.4

  • En 2005, quand j’étais un étudiant fauché qui essayait de faire tourner Linux, je pensais à lui environ une fois par semaine à cause de la prise en charge de la carte sans fil Belkin FG… Son pilote fonctionnait mieux que le pilote Windows fourni par Belkin
    Je me suis souvent demandé pourquoi il avait choisi de consacrer son temps libre à ce qui semblait être un travail ingrat sur du matériel. Il n’avait pas de famille ? Si, il en avait une. Et aujourd’hui, cette famille l’a perdu

    • J’avais une image semblable en tête. J’imaginais un quadragénaire salarié, épuisé par des projets d’entreprise bureaucratiques, avec plusieurs jeunes enfants, puis j’ai découvert qu’il est mort à 84 ans
      Cela veut dire qu’il a fait ce travail sur les pilotes après ses 60 ans. À cet âge-là, si je me souviens encore de mon propre nom, ce sera déjà pas mal :-)
    • Il était sans doute le meilleur au monde dans le vaste domaine du développement de pilotes Wi-Fi Linux. C’est une réussite d’une immense valeur. Merci, Larry Finger
    • Sans Larry, je ne serais peut-être toujours pas utilisateur de Linux. C’était vraiment un héros méconnu
  • Je veux laisser ici ces deux phrases pour que tout le monde les voie : « Broadcom ne fournissait absolument aucun code pour son matériel » et « Finger a donc dû dumper et lire manuellement les registres matériels, puis faire de la rétro-ingénierie des spécifications nécessaires ». Il ne faut pas sous-estimer à quel point c’est remarquable
    J’ai moi-même un peu fait ce genre de choses. J’ai fait de la rétro-ingénierie de fonctions sur un portable, écrit moi-même le logiciel libre pour les faire marcher sous Linux, puis envoyé des e-mails au constructeur pour demander la documentation, et en retour je n’ai reçu que des pages d’aide utilisateur. C’était surtout lié à l’USB, donc à l’interface la mieux documentée qu’on puisse imaginer, et malgré cela c’était difficile
    J’ai du mal à imaginer comment il s’y prenait pour faire de la rétro-ingénierie sur le Wi-Fi. C’est une inspiration immense pour moi, et j’aimerais un jour m’approcher de son niveau. Merci sincèrement pour tout ce travail, et repose en paix

  • Son nom seul ne me disait rien, mais dès que j’ai vu le nom d’utilisateur lwfinger dans le commit CREDITS, je l’ai reconnu immédiatement. Ce pseudo, et plus encore « hadess », resteront probablement gravés dans ma mémoire pour toujours
    Compiler le pilote pour la carte RTL8723BS a été ma première vraie expérience à mettre les mains dans le fonctionnement interne de Linux, et j’ai fini par faire tourner Linux presque parfaitement sur un petit convertible Intel Baytrail plutôt médiocre. J’ai ensuite rédigé un tutoriel d’installation Ubuntu sur ce processus, et au vu des 80 étoiles et de la longue discussion en dessous, cela a apparemment aidé pas mal de gens à continuer d’utiliser pendant un temps leurs déchets électroniques sous Windows 8.1

  • En plus de Larry Finger, un autre développeur du kernel Linux est décédé cette semaine : https://lwn.net/Articles/979617/

  • Les gens continuent de se moquer de « l’année du desktop Linux », mais pour moi cette année reste clairement vers 2007, quand le Wi-Fi a commencé à fonctionner sur ThinkPad presque sans douleur

  • Le travail de maintenance par Larry sur plusieurs pilotes vendeurs Realtek sur GitHub a été énorme pour la communauté. Encore aujourd’hui, il arrive souvent que ces forks fonctionnent bien mieux que les pilotes mainline. Il va nous manquer. Comme d’autres l’ont dit, c’était une grande source d’inspiration

  • Repose en paix. Merci pour le travail sur les pilotes Wi-Fi. NDISWrapper était vraiment pénible

  • C’était une figure légendaire. Larry a mené une vie bien remplie, mentoré des centaines de personnes pendant des années, et son héritage continuera de vivre à travers ceux qu’il a formés et inspirés