開発者向けの自動コードレビューサービス「SideCI」を運営するアクトキャットが今日、ベンチャーユナイテッドとYJキャピタルから数千万円規模の資金調達をしたと発表した。SideCIは日本発としては珍しい開発プラットフォーム上に統合されたサービスで、GitHub上にあるソースコードを自動でレビューしてくれる。
オープンソース活動のデファクトとなっただけでなく、企業がソースコードを置く場所として広く使われているGitHub上には、SideCIのようなGitHub統合型のサービスが多く存在していて、特にCI(Continuous Integration:継続的インテグレーション)と呼ばれるソースコードに変更が加わるたびに機能が壊れていないかをチェックするようなサービスは広く利用されている。ただ、SideCIは名前こそCIだが、コーディングスタイルや文法的な統一性をチェックする、いわゆる「リンター」系のサービスだ。RubyやPHP、JavaScript、Python、Goなどの複数言語に対応していて、一部の言語ではレビューでの指摘内容を自動修正する機能や、より高度な統計指標、ベストプラクティスのアドバイス提示なども提供する。以下が機能の一覧だ。
SideCIのローンチは2014年4月。これまで約1年半で約1200社がサインアップしているそうだ。パブリックレポジトリでの利用は無償だが、非公開のプライベートなレポジトリで利用するのは有料となっている。
セキュリティーホールを発見するとか自動テストをサーバサイドで随時実行するCIと違って、文法チェックをするものに価値はあるのだろうか? 自分でローカルにツールを入れれば良いだけでは? という気もしたのだけど、会社やチーム単位でコーディングスタイルを統一することは、実際にはコストのかかることだとアクトキャット創業者でCEOの角幸一郎氏はいう。「うちの会社ではこのルールでやろうと言うとき、実際にツールを入れて自分からルールを守る人というのは、どこの会社でも20%くらいしかいない」(角CEO)そうだ。新規に開発者が加わるとか、新卒が入るなどで、教育や意思統一は大変なものだという。確かに、単なる「決め」の問題なのに各人が好みによってコーディングスタイルで延々と議論する、いわゆる「バイクシェッドな議論」なんてスピード感の必要な現場でやってらないよね(Go言語の標準ツールチェーンにフォーマッターが含まれているのも、まさにこの辺が理由だろう)。
アクトキャットでは今後、新たに調達した資金で独自エンジンの開発を進めるそう。今後はスキルマネジメント的なサービスへと進化させていくといい、「こういう指導をしたらいいのでは」というチーム開発に寄り沿うようなものを考えているという。何かバグを作り込んだ場合には、その人のコードと行動履歴からスキルを上げる施策を提案するようなことだ。複雑なコードを書いてると「やめましょう」とアドバイスをする、というようなことだそうだ。
今のところSideCIの利用は9割が日本国内。ただ、GitHubの公式ページにサービスの1つとして紹介されていることから、今後は北米顧客獲得のための仮説検証にも力を入れていきたいという。GitHub上の開発者向けクラウドサービスといえばデプロイやCIが主流だったものが品質管理サービスにまで広がっていくのかもしれない。このジャンルの競合としては、Code ClimateやCodacyといったサービスがある。