イベント
LinuxCon JapanにLinus氏登場、Linuxカーネルの最新動向に関する解説も
(2014/5/22 06:00)
Linuxに関する世界的な技術カンファレンス「LinuxCon Japan 2014/CloudOpen Japan 2014」が、5月20日から22日まで開催されている。主催はLinuxカーネルの開発を支援する団体「The Linux Foundation」。
2日目の21日の基調講演にはLinuxの生みの親であるLinus Torvalds氏が登場した。また、James Bottomley氏によりLinuxカーネルの最新動向に関する解説も行われた。
Linus Tovalds氏「移り変わっていく世界は、計画するより面白い」
Linus Tovalds氏(以下Linus氏)の基調講演「Linux: Where Are We Going」は、Intel社のChief Linux and Open Source TechnologistであるDirk Hohndel氏(以下Hohndel氏)との対談の形式をとった。Linus氏が冒頭で「講演するのはあまり好きじゃないけど、みんなと話すのは好きなので、途中でどんどん質問して」と会場に呼びかけ、Hohndel氏も含めた会場中とLinus氏との対話の形で進められた。
最初にHohndel氏が、最近何をしているかと質問した。Linus氏は、ここ何年かは自分でカーネルのコードを書くのではなくマネージャーの役割をしていると説明。3か月程度の間隔で頻繁にリリースして、「いい感じで進んでいる」と語った。
会場から著名カーネルメンテナーのJames Bottomley氏が、メンテナーがパッチを書くことについて質問すると、Linus氏は「メンテナーにパッチを書いてもらいたいとは思っていない。パッチを書く人はたくさんいるが、そうした元気な人たち何十人をまとめ、パッチをレビューしてコメントしマージしてくれる人も重要。メンテナーが階層的に組織化されているから、Linuxカーネルの信頼を維持できている」と回答。Hohndel氏も、「もし何千人ものカーネル開発者がLinus氏に直接パッチを送っていたら大変なことになる。カーネル開発経験者がもっとメンテナーになっていい」と補足した。
また、カーネル開発メーリングリスト(ML)上で時に大人げないともいえる強い態度に出ることが知られているLinus氏に、Hohndel氏が「もっと優しくなったら?」と話を振ると、Linus氏は「優しいよ」と苦笑。オープンソースコミュニティは会社で仕事しているのに比べるとかかわる人が多いことを挙げ、「みんなで仲良くというけれど、Greg(著名カーネルメンテナーのGreg Kroah-Hartman氏)のように優しい人もいれば、私のように皮肉っぽい人もいる――私だけじゃないよ(笑)。私を好きじゃない人もいる。コミュニティは人間のネットワークだからそれが当然」と回答して、「Linuxカーネル開発は、突然おかしな変更を加えたりしないと信頼されている。ノーと言うのは大事」と語った。
さらにHohndel氏が「娘さんが独立するぐらいの年になったら引退は?」と尋ねると、「カーネル開発をやっていないと退屈してしまう。今のところ引退する予定はない」と笑って答えた。
会場から「高品質なソフトを作るのに重要なことは?」という質問も出た。Linus氏は「それに答えるのは難しい」としながら、アーキテクチャ的な考えをできることと、それと同時にその自分の考えたモデルより実世界は複雑であることを認識していることの両方が必要で、そうした“テイスト”や“センス”は必ずしも教えられるものではないと説明した。さらに、「もう一つ、そういう人を見つけるという方法もある」として、バージョン管理ツールのgitは自分が最初に考えたが、開発を引き継いだJunio Hamano(濱野純)氏のおかげで成功をおさめたと語った。
Linuxシステム検証のプロジェクト「Linux Test Project(LTP)」について教えてほしいという会場からの質問には、カーネルを中心にカーネル以外も含めたテストであると説明。「ただし、本当にテストが必要なのは、何千ものさまざまなハードウェアプラットフォームでの動作で、それは実際にハードウェアのある人に検証してもらうしかない」と語った。Hohndel氏も「ハードウェアベンダーが検証することも多い。古くなっているプラットフォームや、Cellプロセッサのようにまれなものもあり、物がないと手が出せない」と説明した。
また、「Linux以外のOSのソースを触ることはあるか」と会場から尋ねられると、「自分ではやっていない。ほかのOSのソースを読んでも苦しいだけであまり役には立たない」と答え、「パフォーマンスの比較でも、ほかのOSではなく、前のバージョンのカーネルと比較する」と語った。
Hohndel氏は、自身が気にしている問題として、潤沢なリソースを持った組織による盗聴行為、つまり国家組織による盗聴行為のリスクについても質問した。Linus氏も厳しい表情で、「国家がLinuxカーネルにバックドアを入れることを受け入れてはいけない」とし、ただしバグは常に入り込むので、カーネルの中から外までさまざまな階層でセキュリティを担保する必要があると答えた。また、オープンソースでないソフトでは隠されても手が出ないが、オープンソースでは隠し切るのは難しいため、Linuxは健全なエコシステムにあると語った。この問題については、Linus氏はHohndel氏ほど気にしていないという話や、電子フロンティア財団(EFF)が技術から訴訟まで積極的に活動していることなども語られた。
そのほか、Linus氏が“クローズド”なことを一度批判したNVIDIA社のGPU用コードがメインラインにマージされたことや、Raspberry PiやGalileoなどの個人向けマイコンボードの話題、両氏が中心となって開発しているダイビングの記録ツール「Subsurface」にgitインターフェイスが付いた話、2038年問題の質問に対して心配いらないという話、LinuxデスクトップとLinuxによるゲームOS「SteamOS」の話など、さまざまな話が会場との間でなされた。
最後にHohndel氏が、「セッションタイトルにあるように、Linuxで次に何が起きる?」と質問。Linus氏は少し考え込んだあと、「基本的にそういうことはあまり考えないんだよね」と答え、「新しいハードが次々と出てくる。ARMはずっとサポートしていたが、ここまで重要になって、LinuxでIntelアーキテクチャに次ぐアーキテクチャになるとは思っていなかった。この移り変わっていく世界は、計画するより面白い」と語って、対談を締めくくった。
カーネル開発の最新動向を解説
この日のもう一つの基調講演としては、James Bottomley氏(Parallels社 CTO of Server Virtualization)が、「Linux Kernel Report」と題して、Linuxカーネルの最新動向について解説した。Linuxカーネル関連のカンファレンスでは、このテーマについてJohn Corbet氏が解説するのが恒例になっているが、今回はBottomley氏が登壇。開口一番「私はJohn Corbetとは別人です」と発言するなど、終始ジョークをまじえた講演となった。
まず開発コミュニティの状況を紹介。去年のLinuxCon Japanのときにバージョン3.9だったLinuxカーネルは現在3.14。この間、73,076の変更が3,632人の開発者によってなされ、「今もうまくスケールできている」とBottomley氏は語った。また、staging(実験段階)のドライバや、カーネルのソースに含まれる開発ツールを除いた数字なども紹介し、「大半の人はカーネル本体のコードに参加している」と結論づけた。
ここで、1か月あたりのコミット数でOpenStackがLinuxを上回ったというOhloの調査結果を紹介したあと、実はそのあとまた再逆転したとオチをつけた。
分野別のトピックとしては、まずセキュリティについて紹介。3月の時点で「大きな脆弱性はない」とレポートしていたら、その後、OpenSSLの「Heartbleedバグ」の問題と、ttyドライバによるカーネルの権限昇格の問題が明らかになった。「どちらも、脆弱性でよくあるバッファオーバーフローで、もう大丈夫だろうと思っていたらダメだった。経験を積んでいても問題が起きてしまう。油断せずきちんと対応していく」とBottomley氏は苦笑まじりに説明した。
次のトピックはコンテナ技術。これまで、Bottomley氏が勤務するParallels社のVirtuozzo/OpenVZをはじめ、複数の会社が独自のLinuxのコンテナ技術を持っていたが、現在ではほぼLinuxカーネルにマージされ、残る「kernel memory accounting」もバージョン3.16ごろにマージされるだろうという。そして「Linuxのコンテナは成功している。Solarisのコンテナが有名だが、それより優れている」とBottomleyは主張した。
また、コンテナ技術でデバイスをコンテナにどう見せるかが問題になっていると解説した。特に、コンテナではポリシーをコンテナ外から与えるのがシンプルな方法であり、コンテナ内にポリシーを持たせて仮想化すると大変なことになるが、過去に戻ってやりなおすことはできないと語った。
次のトピックは、カーネルのコンフィグレーションでのCONFIG_HOTPLUGの廃止。多数のセクションがあり、メンテナーにかなりの手間をかけていたが、その手間がなくなったという。
その次に紹介されたのは、動作中のカーネルにパッチを当てるKernel Patching(ライブパッチ)の分野で、これはまだ正式に採用されていない。この分野ではかつて「ksplice」という技術があったが、それに代わるものとして、SUSEの「kGraft」と、Red Hatの「kpatch」が現在出されて注目されている。Bottomley氏はさらに、3つ目の技術としてParallels社の「Rebootless Kernel Updates」を紹介し、kexecを使うもので、パッチを作るのが一番容易で、カーネルのメジャーアップデートもできると主張した。これについては、会場からのツッコミも受けていたようだ。
そのほか紹介されたトピックに、ファイルシステムをユーザー空間で実装する「FUSE」のパフォーマンス改善がある。従来はFUSEでページキャッシュが利用できなかったが、ライトバックキャッシュなどがサポートされたという。Bottomley氏は、最近のクラウドストレージはほとんどがFUSEで実装されており、FUSEを高速化することでそれらの性能が改善されると説明した。
最後のトピックは、UEFIでのブート。現在では、ほぼ普通にLinuxが動くようになった。ただし、セキュアブートについては議論が続いており、セキュアで、Microsoftとの間で問題が起きず、Microsoftに服従するような形にもならない妥協点が求められているという。
Bottomley氏はまとめとして、「Linuxは意味のあるイノベーションでは世界最先端」と論じ、「Linux開発は、前の車(OS)のテールランプを追いかけている」という声に対して、「ほかがLinuxの後を追っている」と主張して講演を終えた。