SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

「Developers[Social Enterprise]Summit 2012」レポート(AD)

【夏サミ2012】B-4セッションレポート
グリーが実践する、GitHub Enterpriseによるソーシャルコーディング

  • このエントリーをはてなブックマークに追加

 OSSの世界で一大ムーブメントとなっているソーシャルコーディング。400人以上のエンジニアを擁するグリーでも、さまざまな開発課題への対策として2012年よりGitHubを採用し、ソーシャルコーディングを実践している。本セッションでは、同社でGitHub導入を推進してきた開発本部 CTO室の大場光一郎氏が、ソーシャルコーディングの企業導入にあたっての課題や留意点、グリーで実際に得られた効果などを紹介した。

  • このエントリーをはてなブックマークに追加

グリー株式会社 開発本部 CTO室 大場 光一郎 氏
グリー株式会社 開発本部 CTO室 大場 光一郎 氏

誰もが自由にプログラムを変更・公開し、開発元へ還元できる!

 大場氏はまず、GitHub導入以前にグリーが抱えていた開発の課題として、「急激な増員」「業種の増加」「国際化」の3つを挙げた。

 急成長する企業の宿命ともいえるが、2010年には200人程度だった社員数が毎月50人のペースで増え続け、2012年には約1400人の規模にまで拡大。グリーでは以前から社内でスカイプのチャットなどをよく活用していたが、エンジニアの人数がスカイプの1チャットルームに参加できる最大人数である300人をはるかに上回り、開発時の情報共有に支障をきたすようになったという。

 また、以前はWeb系のエンジニアとデザイナーがいればほとんどのプロジェクトがまわったが、スマートフォン対応や3Dなどのリッチコンテンツ開発も増え、1つのプロジェクトに多様な業種のスタッフが関わるようになってきた。さらに、海外9拠点でビジネスを展開するようになり、現地採用のエンジニアはもちろん、日本の開発チーム内にも外国のエンジニアが増えるなど、国際化も進んだ。

 こうした背景から、多数のエンジニアが円滑にコミュニケーションを図りながら開発生産性を向上するために、開発環境の見直しが強く求められるようになった。そこでグリーが着目したのがGitおよびGitHubである。

 「ちょうどその頃、開発環境の動向としては、ソースコード管理(バージョン管理)の主流がSubversion(SVN)からGitに変わりつつあり、多くのOSSプロジェクトでGitへの移行が進んでいた」(大場氏)

 SVNが単一リポジトリで中央集約型のバージョン管理システムであるのに対し、分散型リポジトリのGitは開発者一人一人が自分のPCなどにそれぞれリポジトリを持てるのが大きな特徴だ。そのため、ネットワークに接続していない状態でも、プログラムを変更してリポジトリにコミットすることができる。そして、このGitを使ってプロジェクトをホスティングできるサービスがGitHubだ。

 「GitHubとは、ひと言でいえばプロジェクト管理にソーシャル機能をビルトインしたもの」と大場氏は語り、「GitHubの素晴らしいところ」としてforkとpull requestの機能を挙げた。forkは、他人のプロジェクト(リポジトリ)のコピーを自分のリポジトリに作成できる機能で、書き込み権限のないプロジェクトでもforkで自分の手元に持ってくれば自由に変更できるようになる。変更したものはそのまま公開することも可能だ。また、forkで自分が加えた変更を開発元のリポジトリに還元するための機能がpull requestで、pull requestを受け取った開発元はその内容をレビューして必要と判断すれば、merge機能で容易に自分のプロジェクトに統合できる。

 「GitHubがなかった時代は、ソースコードを修正してプロジェクトを変更できるコミッターがソフトウェア開発における『特権階級』であり、それ以外の人はメインストリームの変更が行えなかった。それがGitHubの登場により、誰もがソースコードを変更してそれを公開し、さらには開発元へ還元できるという環境が実現した。この変化は非常に画期的なことで、これを『コードの民主革命』と表現する人もいるほど」(大場氏)

 例えば、SourceForgeなどの従来のプロジェクトホスティングサービスでは、「プロジェクトに人がぶらさがる」ようなイメージで、あくまでもプロジェクト中心に管理されていた。それに対して、GitHubは「その人がどのプロジェクトに参加したのか」などがひと目で分かるUIとなっており、ソーシャル機能を提供することで、プロジェクト中心ではなく人間中心の管理となっているのも特徴だ。

従来のプロジェクトホスティングサービスが「プロジェクト」中心であるのに対し、GitHubでは「人間」が中心となる
従来のプロジェクトホスティングサービスが「プロジェクト」中心であるのに対し、GitHubでは「人間」が中心となる

次のページ
企業導入ではGitHubをオンプレミスで使うという選択肢も

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
「Developers[Social Enterprise]Summit 2012」レポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6715 2012/09/11 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング