2012-07-12

Debianはどこまでいくのか

Debianは非常に懐の広いディストロだ。まず、サポートしているアーキテクチャが広い。LinuxカーネルとGNU tool setがサポートしている環境ならすべてに対応することを目指している。

そればかりではない。Debianでは、ひとつのカーネルに依存しない試みもある。Linuxカーネルの他に、FreeBSDカーネルとGNU Hurdカーネルも利用可能だ。Debian GNU/kFreeBSDは、FreeBSDカーネルを利用したもので、だいぶ実用的に動く。ただし、FreeBSDは様々な点で、Linuxに遅れている。たとえば、Kernel Mode Settingの実装も、いまだ頑張っている最中なので、グラフィックドライバーも、ものすごく古いものを使わなければならない。Debian GNU/Hurdは、GNU Hurdカーネルを利用したもので、これは・・・お世辞に言ってもハードウェアのサポートが貧弱すぎるので、今のところ、QEMU環境でしかまともに動かない。

[Phoronix] Test Driving GNU Hurd, With Benchmarks Against Linux

Debianはさらに、コンパイラー依存からの脱却もはかっている。GNU/Linuxベースのシステムといえば、コンパイラーにはGCCを使うのが普通だ。というより、今までそれ以外に選択肢はなかった。ところが、最近Clangが興隆してきて、まだGCCには及ばない部分もあるものの、規格準拠度やわかりやすいエラーメッセージなどの点で優れている部分もある。DebianはコンパイラーをClangに置き換えることができるよう、作業を進めている。

すでに、FreeBSDはClangを使い、GCCをdeprecated扱いしている。これは、技術的な理由と言うよりも、FreeBSDの思想の問題である。特にFreeBSDはGPLが嫌いなのだ。結局、FreeBSDを必要とする人間は、GPLを毛嫌いしている浅はかな人種なのだから、そういう人種の期待に答えるためにも、GCCから離れたいのだろう。

Debianはそういった思想上の理由でClangへの対応を進めているのではない。複数のコンパイラーでコンパイルできるコードは、より移植性や規格準拠度が高い優れたコードである。

Build of the Debian archive with clang

No comments: