グーグルはWebブラウザ「Google Chrome」など100種類を超えるオープンソースプロジェクトを社外に公開している。「Google Code」という開発者向けWebサイトでは、ソースコードだけでなく、グーグル社員同士のやり取りや仕事の進め方まで公開されている。そこから垣間見えるグーグル気質を分析する。(日経コンピュータ)

 グーグルのことを、「『世界中の情報を整理する』という大きな野心に向けて突き進むエリート集団」と思っている読者も多いだろう。そのような会社のプログラマであれば、書いたソースコードも厳しい規律に従う秩序だったものに違いない、と思うのが自然だ。

 確かに、グーグルの開発スタイルの厳格さはよく知られている。例えば、グーグル日本法人の鵜飼文敏氏が行った講演を見ると、同社は、デザインドキュメント(コーディングの前に設計情報を文書化するプロセス)、コードレビュー(他のチームメンバーがソースコードの変更を検証し、不具合などを指摘するプロセス)、単体テスト(システム全体ではなく、関数やクラス単位での自動テスト)を必須としている。コードレビューや単体テストは、高品質なソフトウエアを開発するプロセスとして、近年その重要性への認識が高まっているものだ。

 グーグル社内の各種コーディング標準は、Webサイトで公開されている)。例えば開発言語「C++」用の規約は、70項目以上にわたる網羅的なものだ。項目ごとに注記された例外事項が、さらに網羅性を高めている。

Google Codeで社員をウオッチ

 ところが、グーグル社内プログラマが生み出すソースコードやドキュメント、彼らのコードレビューの様子を眺めてみると、彼らの案外気さくな表情も見えてくる。必ずしも規律を重んじるばかりではない。

 グーグル社内プログラマの実態を垣間見られるのが「Google Code」だ。これは、社外の開発者に様々な情報を提供するとともに、オープンソースプロジェクトのホスティングも行うWebサイトだ。開発者(社外の開発者でも構わない)は、Google Codeにソースコードをアップロードすると、グーグルが提供するバージョン管理ツールやバグ追跡システムを使用できる。

 グーグル自身も自社のオープンソースプロジェクトをGoogle Code上で100種類以上公開する(図1)。

図1●グーグルのオープンソースに対する取り組み
グーグルは「Google Code」というオープンソースプロジェクトを管理・公開できるWebサイトを開設している。グーグル社員が開発したソースコードを公開したり、社外のプログラマにも参加してもらうプロジェクトの管理をしている
[画像のクリックで拡大表示]