Linuxの無線ネットワークを実現したラリー・フィンガーを追悼
(arstechnica.com)- 2000年代のLinuxでは、インストール直後にWi-Fiがきちんと動作することは難しく、Larry Fingerは無線ドライバの改善によってデスクトップLinuxの使い勝手を引き上げた開発者だった
- FingerはLinux kernel 2.6.16以降、少なくとも94回のカーネルリリースと1,464件のコミットに貢献し、2024年6月21日に84歳で逝去した
- Broadcomが機器向けコードを提供していなかった時期、彼はBroadcom BCM43XXやRealtekドライバの作業に参加し、ハードウェアレジスタを自ら解析して必要な仕様をリバースエンジニアリングした
- 正式なコンピュータサイエンス教育を受けずにFortran、PDP-11、VAX、Unix/Linuxの経験を積み、2023年にはLinux 6.4カーネルに自身のコードが172,346行含まれていると明かした
- 小さなパッチから始めて
git send-emailを使い、批判に耐えるべきだという助言を残し、Broadcomのオープンソースコードがカーネルに入るよう他の開発者をメンタリングした人物として記憶されている
Linuxの無線対応に残した足跡
- Larry Fingerの妻Denise Fingerは、Linux kernel mailing listに、2024年6月21日にFingerが亡くなったことを知らせる短いメッセージを残した
- LWN.netによれば、FingerはLinux kernelがgitで変更追跡を始めたkernel 2.6.16以降、少なくとも94回のリリースに貢献した
- 総コミット数は1,464件
- Fingerは正式なコンピュータ教育を受けておらず、自分を科学者だと考えていた
- Linuxのような巨大プロジェクトでも、1人の継続的な貢献がユーザー体験とエコシステムに長く残り得ることを示す事例である
2000年代のLinux Wi-Fiの難しさ
- Fingerが貢献を始めた当時のLinux Wi-Fiは、インストール直後にハードウェアが認識・有効化されて正常動作する可能性が低かった
- 対応していない無線チップセットを使うユーザーは、Windowsドライバと接続する迂回ツールNDISwrapperに頼らざるを得なかった
- Linuxのインストールが、より閉じた方式に依存することになっていた
- 導入と保守の負担も残り続けていた
- FingerはBroadcom BCM43XX driversの作業によって、この問題の改善を始めた
- Broadcomが機器向けコードを提供しなかったため、彼はハードウェアレジスタを手動でダンプして読み取り、必要な仕様をリバースエンジニアリングすることに貢献した
- 複数のRealtekドライバも提供しており、ブログや掲示板のコメントには、現在でも自分のシステムがFingerのコードの一部を使っているという反応が残っている
科学機器からUnix/Linuxへ
- FingerのWeb上の足跡は、数百件のカーネルコミット以外にはあまり多くない
- 個人ドメインには、結晶構造図を作成するオープンソースソフトウェアDRAWxtlのページがある
- Quoraに回答を投稿しており、GitHubプロフィールには2024年に100件を超えるプロジェクト貢献が表示されている
- 2005年のLinux Journalの3部作“Linux in a Windows Workstation Environment”で、Fingerは自身の経歴を振り返っている
- 1963年にFortranプログラマとして開始
- 1970年代にPDP-11と科学機器インターフェースの作業
- 1980年代初頭にVAX-11/780の作業
- その後Unix/Linuxシステムに従事
- 1999年にワシントンD.C.のCarnegie Institution for Scienceを退職
- 非常に希少な鉱物であるFingeriteは、Fingerの名にちなんで命名された
- 結晶学研究は彼を北バイエルンのフェローシップへ導き、彼はAutobahnに関するQuora回答でそのことに触れている
引退後にRVリゾートのネットワークを構築
- Fingerは引退後、「寒い気候を避けることに専念する」フルタイムのRV居住者になったとLinux Journalに書いている
- Fingerと妻Deniseは、アリゾナ州メサの55歳以上向けRVコミュニティに到着し、彼はそこのコンピュータクラブに参加した
- 当時クラブでは、DSL接続を共有するWindows PCが増えており、1台のシステムがWinGateでそれを管理していた
- 新しいRVリゾートのオーナーはワークステーションを22台に増やしたいと考えていたが、WinGateのライセンス費用はクラブには高すぎた
- Fingerは「ミッションクリティカルな役割にWindows 98を使うことをまったく信用していない」として、Linuxベースの代替システムを自ら構築した
- その後ネットワークは次の規模まで拡張された
- ユーザーステーション38台
- 個別のSamba共有
- 会員データベース
- VPNトンネル
- 複数の無料RJ-45ポート
- 公園全体での「無料Wi-Fiアクセス」
メンタリングとカーネル貢献の助言
- FingerはLinuxをより多くの人が使えるようにした開発者であるだけでなく、他の貢献者を助けるメンターとしても記憶されている
- LWN.netのあるコメントでは、FingerがBroadcomのオープンソースコードをカーネルに入れるために他の人々をメンタリングし、それが大きな成功だったと述べられている
- 2023年、Quoraで「コンピュータサイエンスの正式教育を受けていない普通の人でもLinux kernelに実質的な貢献はできるか」という質問に対し、Fingerは「できると思う」と答えた
- 彼はLinux 6.4 kernel statisticsをリンクし、自身のコードが172,346行、全体の約0.5%を占めると示した
- コンピュータサイエンスの授業を受けたことはなかったが、現在よりはるかにコンピュータ性能が低かった時代に効率的なコードを書く必要があったため、かなりのコーディング経験があったと明かしている
- カーネルへの貢献を始めたい人に対して、Fingerは次のように勧めている
- 小さなパッチから始める
- ガイドラインを深く読む
- パッチは常に
git send-emailで送る - Thunderbirdのようなメーラーで送ったパッチはすぐに拒否される可能性がある
- コメントや文字列の誤字・誤りを見つけることも役に立つ
- ルールや形式に関する批判を予想し、それでも続けて挑戦する
- カーネルドライバ開発はやりがいも大きいが挫折も多い作業だとして、Cを学び、USBドライバの解析から始め、DMAの学習に時間をかけるよう助言した
- Fingerは、自分も専門家にシステムのfault箇所を伝える以上のことができるようになるまでに約2年かかったとして、「希望を失わないでほしい」と残している
1件のコメント
Hacker Newsのコメント
世界全体にとっても、個人的にも本当に悲しい知らせ。先延ばしにせず感謝を伝えておくべきだったと、突然深く後悔している。彼は知らなかっただろうけれど、私にとってはある意味でメンターのような人だった
2010年代初めに、Linuxではひどい動作しかしないRTL 8188 CEカードを搭載したノートPCを買い、彼のドライバーをフォークしていくつも変更を加えた末に、Wi-Fiがとてもよく動くようにした。法規制上の制限のため、アップストリームには入れられない方法も使った
数年にわたって頻繁にリベースし、変更点を見直しながら、彼のコードから多くを学んだ。慣れるまで少し時間はかかったが、次第にそこにある種の美しさと感謝の気持ちが生まれた。ひとつは明らかで、この人は全体が崩れないよう支える仕事をたくさんしていた。カーネルのリリースごとにドライバーがコンパイルできる状態を保つだけでも、ちょっとしたものではないリファクタリングが必要になることが多く、彼はそれを着実に、そしてうまくやり遂げていた
Larry、寂しくなるよ。安らかに。誰かに連絡しようと思って先延ばしにしているなら、あまり長く待たないほうがいい。年月はあっという間に過ぎ、気づけば手遅れになっていることがある
一度動いたものは二度と壊れるべきではないと思う。何十年も積み重ねられてきたいくつもの余計な層は、この種の問題をあまり解決できておらず、むしろ現状維持のためにさらに多くの作業を生んでいるように見える
Ars Technicaに良い記事が出ている。彼はLinux Wi-Fiとドライバーのエコシステムをはるかに良くするために多くの仕事をした
https://arstechnica.com/gadgets/2024/06/larry-finger-linux-w...
昔、ndis wrapperやBroadcom Wi-Fiのエコシステムに文句を言っていた記憶があるが、Larryはその問題を直すのを助け、その過程で多くの人をメンタリングした
Ars Technicaの記事の引用も印象的だ。2023年にQuoraで「コンピュータサイエンスの正式な教育を受けていない人がLinuxに実質的な貢献をできるのか」と聞かれたとき、Fingerは「私はそうしたと思う」と答え、6.4カーネルの統計で自分のコードが172,346行、全体の約0.5%であることを示した
2005年、金のない大学生としてLinuxを動かそうとしていた頃、Belkinの無線カードFG…のサポートのおかげで、週に一度くらいは彼のことを思い出していた。彼のドライバーは、Belkinが提供していたWindowsドライバーよりもよく動いた
なぜ退勤後の時間を使って、こんな取るに足らないように見えるハードウェアの仕事をボランティアでやっていたのだろう、とよく考えた。家族はいなかったのか? 家族はいた。そして今日、その家族は彼を失った
ということは、そのドライバー作業は60代以降に行ったことになる。その年齢で自分の名前でも覚えていられたら御の字だと思う :-)
「Broadcomは自社機器向けのコードをまったく提供しなかった」と「そこでFingerはハードウェアレジスタを手作業でダンプして読み取り、必要な仕様をリバースエンジニアリングした」という文を、皆に見てほしくて残しておく。この行為のすごさは過小評価すべきではない
私も似たようなことを少しやったことがある。ノートPCの機能をリバースエンジニアリングし、Linux上で動かす自由ソフトウェアを自分で書き、メーカーにドキュメントを求めるメールを送ったら、ユーザーヘルプのページだけが返ってきたことがある。ほとんどはUSB関連で、想像し得る中でも最もよく文書化されたインターフェイスだったのに、それでも難しかった
彼がWi-Fiをどうやってリバースエンジニアリングしたのかは、まったく想像もつかない。私にとっては大きなインスピレーションで、いつか彼のレベルに近づけたらと思う。これまでの仕事に心から感謝し、安らかに眠ってほしい
名前だけでは思い出せなかったが、CREDITSのコミットでユーザー名lwfingerを見てすぐに分かった。そのユーザー名と、さらに言えば「hadess」は、私の記憶に永遠に残りそうだ
RTL8723BSカード用のドライバーをコンパイルしたことが、Linuxの内部動作に初めて本格的に触れた経験だった。そして最終的には、ひどく非力な小さなIntel BaytrailコンバーチブルでLinuxがほぼ完璧に動くようになった。その過程をまとめてUbuntuのインストールチュートリアルを公開したが、星80個と下の長い議論を見ると、かなり多くの人がWindows 8.1の電子ゴミをしばらく使い続ける助けになったようだ
Larry Finger以外にも、今週もう一人のLinuxカーネル開発者が亡くなった: https://lwn.net/Articles/979617/
人々は今でも「Linuxデスクトップの年」をネタにし続けているが、私にとってその年は、ThinkPadでWi-Fiがほとんど苦労なく動き始めた2007年頃としてはっきり記憶に残っている
LarryがGitHubで複数のRealtekベンダードライバーをメンテナンスしていたことは、コミュニティにとって非常に大きかった。今でもそれらのフォークがメインラインのドライバーよりずっとよく動くことが多い。彼がいなくなるのは寂しい。他の人たちが言うように、大きなインスピレーションだった
安らかに。Wi-Fiドライバーの仕事に感謝します。NDISWrapperは本当に苦痛だった
伝説的な人物だ。Larryは充実した人生を送り、長年にわたって何百人もの人をメンタリングし、彼が教え、刺激を与えた人々の中で彼のレガシーは生き続ける