TOMOYO LinuxがUbuntuに受け入れられるまで

TOMOYO LinuxがUbuntuに受け入れられるまで

 ここでは、「TOMOYOがどのようにUbuntuに受け入れられたのか」という経緯について説明します。

 2008年8月に行われた、メインラインに入る前の挑戦では、Kernel Teamから「パッチを取り込むだけの理由は見いだせない。しかもわれわれは強制アクセス制御のために、AppArmorをすでに利用している。乗り換えるだけのメリットはない」(https://lists.ubuntu.com/archives/kernel-team/2008-August/002965.html)と拒否されてしまいました。

 2.6.30におけるTOMOYO Linuxの立ち位置は、「機能としては含まれているが、デフォルトコンフィグでは無効にされている」というものです。つまり、2系(LSM版)をユーザーの手に届けるには、ディストリビューションのカーネルメンテナに、副作用の小ささを納得してもらい、コンフィグレーションを変更してもらう必要があります。

 Ubuntuのカーネルコンフィグは、Kernel Teamと呼ばれる開発グループによって精査されます。一部のコンフィグはリクエストベースで変更されることもありますが、ほとんどは各リリース時に1回行われる開発会議、UDS(Ubuntu Developer Summit)で議論されます。2009年5月末に行われたUDSの参加者や、TOMOYOに興味を示していた人たちに依頼してKernel Teamとディスカッションしてもらい、ついに「LSMとして実装されているなら、おかしな副作用が発生することもないのでOKだろう」という裁定を得ることができました。

 また、Kernel Teamでも「2.6.30でせっかく入った機能なので、有効にしてもいいだろう」という思惑でいた上に、Ubuntuのセキュリティ関連機能の実装担当者もTOMOYO Linuxに興味を示していたことから、かなりあっさりと有効化に成功しました。

 こうして、TOMOYO LinuxはUbuntuに受け入れられるようになったのです。

Linuxを「調理」して提供されるディストリビューション

 Linuxカーネルの開発は、Linux開発者の集うメーリングリスト「LKML(Linux Kernel Mailing List)」上で、Linus Torvalds氏を中心に行われています。ここで開発されるのが「メインライン」と呼ばれるものです。
 
 LKMLで開発されたカーネルを「素材」として用い、独自の調整を加え、さらにユーザランドを追加して一式にまとめたものがRed HatやDebian GNU/Linux、Ubuntuなどの「ディストリビューション」です。各ディストリビューションではメインラインにないパッチを追加することもあるので、コンパイル時に各設定の有効・無効を調整するといった「調理」を行った上でユーザーに提供します(図3-1)。

 メインラインカーネルに含まれている機能でも、この段階で無効にされれば、ユーザーが利用することはできません。言い換えれば、ユーザーに機能が提供されるためには、以下のどちらかが必要です。

・「素材」としてメインラインに機能が含まれ、なおかつそれが活かされたまま「調理」されている

・「調理」の段階で独自に「改造」される

 TOMOYO Linuxの場合、2系(LSM版)が前者、1系(非LSM版)が後者に相当します。

 「改造」は、品質保証の問題や、心理的な抵抗感のある大変な作業です。メインラインに受け入れられていない1系は、パッチ(=「改造」)を受け入れてもらうことは困難でした。強い説得力があれば話は別ですが、現状のTOMOYOは強い理由になるものを獲得できていません。

 逆に、メインラインにLSMとして含まれた2系は、コンフィグレーションの変更をメンテナに納得させるだけ、という状態です(図 3-2)。

 Ubuntuでの実例は、「メインラインに取り込まれる」ことで、TOMOYOが各ディストリビューションで使われるようになる可能性を、端的に示したものだと筆者は考えています。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30