GCCという非常に重要なプログラミングツールのオーバーホールが計画されているが、これがすべて順調に進めば、オープンソースソフトウェア全体のパフォーマンスが一気に上がる可能性がある。
オープンソースソフトウェアは、そのほぼすべてがGCCという「コンパイラ」を使って開発されている。コンパイラとは、人間がCなどの高級言語で書いたコマンドの集まりであるプログラムのソースコードを、コンピュータに理解できるバイナリ命令に変換するためのもの。GCC 4のリリースマネージャで、CodeSourceryという小さな企業で「ソース開発最高責任者」として働くMark Mitchellによると、近日中に登場するGCC 4.0には、この変換処理を大幅に洗練させる新しい基盤技術が搭載されるという。
「GCC 4.0の主な目的は、コンパイラが格段に優れたコードを生成できるようにする最適化されたインフラを構築することだった」(Mitchell)
コンパイラはソフトウェア開発コミュニティの外ではほとんど注目されないが、GCCの重要性は多岐にはわたる。まず、GCCが改善されれば、LinuxやFirefoxからOpenOffice.orgやApacheなど、あらゆるオープンソースソフトウェアのパフォーマンスも向上する。これらのソフトウェアは、それぞれMicrosoftやIBMなどの各ベンダーが投入する市販の競合製品と競合している。
また、GCCは協調的なソフトウェア開発という理念の基盤となっている。出版の自由が民主主義にとって重要な役割を果たしているように、GCCはフリー/オープンソースプログラミングムーブメントの中心的な存在になっていると言っても過言ではない。
GCC(GNU Compiler Collection)は、Gnu's Not Unix(GNU)が最初に手がけたプロジェクトの1つだ。Richard Stallmanは1980年代に、GNUとそれに付随するFree Software Foundationを立ち上げ、営利目的のライセンスが課す制約を一切受けないUnixクローンを作り出した。
GCCの初めてのバージョンは1987年にリリースされ、2001年にはGCC 3.0がリリースされた。1999年にLinuxベンダーのRed Hatが買収したCygnus Solutionsは、オープンソースビジネスの草分けとなった会社だが、GCCの開発費用の大半は同社が提供したものだった。
しかし、Evans DataアナリストのNicholas Petreleyによると、GCCの改良作業は容易ではないという。GCC 3.3から3.4へのバージョンアップでは、上位互換性を犠牲にしてパフォーマンスが改善された。Petreleyによると、このために3.3で問題なくコンパイルされていた一部のソフトウェアが、3.4ではコンパイルできなくなってしまったという。
RedMonkアナリストのStephen O'Gradyは、GCCのアップデートによって、同ソフトウェアのある機能が損なわれるべきではないと付け加えた。その機能とは、さまざまなタイプのプロセッサに対応するソフトウェアを生成できる、というものだ。
「クロスプラットフォームの互換性ならびに上位互換性を損わないというこの目標は、きわめて困難なものだが、もしGCCの開発プロジェクトがこの目標を達成でき、さらに大幅にパフォーマンスを向上させる最適化を実現できれば、新しいコンパイラは非常に大きな影響を及ぼすことになろう」(O'Grady)
この記事は海外CNET Networks発のニュースをCNET Japanが日本向けに編集したものです。
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス