グーグルはWebブラウザ「Google Chrome」など100種類を超えるオープンソースプロジェクトを社外に公開している。「Google Code」という開発者向けWebサイトでは、ソースコードだけでなく、グーグル社員同士のやり取りや仕事の進め方まで公開されている。そこから垣間見えるグーグル気質を分析する。(日経コンピュータ)
グーグルのことを、「『世界中の情報を整理する』という大きな野心に向けて突き進むエリート集団」と思っている読者も多いだろう。そのような会社のプログラマであれば、書いたソースコードも厳しい規律に従う秩序だったものに違いない、と思うのが自然だ。
確かに、グーグルの開発スタイルの厳格さはよく知られている。例えば、グーグル日本法人の鵜飼文敏氏が行った講演を見ると、同社は、デザインドキュメント(コーディングの前に設計情報を文書化するプロセス)、コードレビュー(他のチームメンバーがソースコードの変更を検証し、不具合などを指摘するプロセス)、単体テスト(システム全体ではなく、関数やクラス単位での自動テスト)を必須としている。コードレビューや単体テストは、高品質なソフトウエアを開発するプロセスとして、近年その重要性への認識が高まっているものだ。
グーグル社内の各種コーディング標準は、Webサイトで公開されている)。例えば開発言語「C++」用の規約は、70項目以上にわたる網羅的なものだ。項目ごとに注記された例外事項が、さらに網羅性を高めている。
Google Codeで社員をウオッチ
ところが、グーグル社内プログラマが生み出すソースコードやドキュメント、彼らのコードレビューの様子を眺めてみると、彼らの案外気さくな表情も見えてくる。必ずしも規律を重んじるばかりではない。
グーグル社内プログラマの実態を垣間見られるのが「Google Code」だ。これは、社外の開発者に様々な情報を提供するとともに、オープンソースプロジェクトのホスティングも行うWebサイトだ。開発者(社外の開発者でも構わない)は、Google Codeにソースコードをアップロードすると、グーグルが提供するバージョン管理ツールやバグ追跡システムを使用できる。
グーグル自身も自社のオープンソースプロジェクトをGoogle Code上で100種類以上公開する(図1)。