米Googleは,自社で開発したツール「Protocol Buffers」をオープンソース・ソフトウエアとして公開した。さまざまな構造化データをネットワーク上でやりとりするために社内で使用していたもので,ほぼすべてのフォーマットをエンコードできるとしている。

 Protocol Buffersは,シンプルにデータを定義し,コンパイルする。いずれの言語でも判別可能なクラスを生成し,コードサイズは「きわめて小さい」(同社)という。GoogleのWebサイトを通じてダウンロード可能。Apache License 2.0を適用する。

 同社では,サーバー間のメッセージ,リポジトリ内のインデックス記録,空間的データセットなど多数のデータ・フォーマットを扱っている。新しいサーバーを導入しても,古いサーバーのデータを読み取ったり,古いサーバーから新しいサーバーで作成したデータにアクセスする必要がある。このような状況を背景として,Protocol Buffersを開発したという。ソフトウエア・エンジニアリング・チームのKenton Varda氏によれば,これらのエンコード手段として,XMLは拡張性やコストなどの問題があり,IDLは複雑すぎた。また,一部にはJavaやPythonを使って記述したコードもあるため,言語に依存しないことが重要だった。

[発表資料へ]