有志の集まりのもとOSSとして開発を進めている理由
E2D3は磐石の開発体制のもと成り立っているように見えますが、実態は有志のコミュニティで形成され、オープンソースソフトウェア(以下、OSS)として進めており、コラボレーションやハッカソンも積極的に行っています。この体制や活動を選択している理由は大きく2つあります。
1つめは、E2D3がテーマとしているデータビジュアライゼーションの実現には、統計やデザイン、エンジニアリングなどさまざまな分野のスキルを有する人材が必要と捉えています。OSSにはさまざまな人間がひとつのプロダクトを共創するという側面があることから知恵を結集し、コンスタントに反映すべくこの動きをとっています。現在、37名のコントリビュータがおり、リリースやアップデートに尽力しています。
2つめは、ユーザと開発者との接点の場を設けることでニーズや課題抽出につなげやすいという点です。E2D3チームの開発者だけでは顕在する課題を網羅することは難しいため、グラフの多様性を確保するために、さまざまな人間が多様なグラフを共創できるハッカソンなどのイベントを繰り返し行っています。
2014年1月リリース以降、数々のイベントとコラボレーションしていますが、代表的な例のひとつに、今年1~3月に行われた「Yahoo!みんなの政治」主催の「社会課題アイデアソン」があります。全国の高校生が考えた「選挙で争点にしてほしい社会問題をグラフ化」するというテーマにおいて、E2D3はプログラミングによるデータビジュアライゼーションを担当しました。こうした活動が功を奏したのか、今年4月に総務省統計局・統計研修所及び独立行政法人統計センターが主催した「STAT DASHグランプリ2016」のデータ利活用啓発部門において総務大臣賞という名誉ある賞を受賞しました。ダウンロード数も10月現在で3万以上にのぼります。
有志ゆえコミュニティの継続はE2D3も課題としてありますが、ver.0.9まで保てている秘訣があるとすると、役割分担を都度見直し、最適化している点でしょうか。プロジェクトリーダーをはじめ、エバンジェリストチーム、クオリティコントロールチーム等に分け、定期的にSkypeでミーティングしたり、もくもく会で顔を合わせたりして進捗状況の確認やすり合せを行っています。ある程度の裁量は個人に委ねているところも大きいかもしれません。
プログラムに集中できるよう考慮したE2D3の開発形態
E2D3はバージョン管理ツールの「GitHub」を用いて開発しています。コントリビュータはGitHub上からE2D3の開発環境を取得し、自分が必要とするグラフを作成します。その後、自身が作成したグラフのソースコードのプルリクエストを送ることで、すべてのE2D3ユーザがExcelのアドインとして使えるようになります。E2D3を開発するための環境構築の方法はGitHub Wikiの「E2D3-Getting Started」を参考にしていただければと思います。
通常、ウェブサービスやアプリケーションを開発するには、サーバサイドやクライアントサイドの複数の言語の知識が必要な場合が多いと思いますが、E2D3の開発においては、JavaScript、特にデータビジュアライゼーションライブラリ「D3(Data Driven Document).js」を用いるだけで開発できるようになっています。
読者の皆さんはご存知かと思いますが、D3.jsは、データを制御する関数や描画の関数が多く含まれており、自由な表現が実現できます。グラフ描画のライブラリは他にも数多く存在しますが、多様な形式のデータに合った自由度の高い表現を行えるという点でD3.jsが優れているとメンバー間で捉えています。ただ近年、D3.js以外のデータビジュアライゼーションライブラリなども増えてきており、テンプレート作成の際にはD3.js以外のライブラリも利用することもできます。
E2D3は、ver.0.3から、オープンソースのライセンスの中でもApache 2.0ライセンスを利用しています。理由として、商標利用の際に開発者の要求に応じてのソースコードの開示が必須ではなく、企業が使いやすいという点が挙げられます。
課題の数だけテンプレートが作られる
E2D3の開発にはプログラミングを行うコントリビュータだけでなく、ユーザも参加できます。新たな機能の追加が必要な場合やバグを発見した際、「イシュー」としてGitHubに登録することができます。イシューはすべてのコントリビュータが閲覧でき、改修したソースコードのプルリクエストを送ることができます。したがって、多くの方からのフィードバックやナマの声を歓迎しています。「E2D3のここでつまづいている」「こんなことを実現できるグラフはある?」といった質問のほか、「こんなグラフを作ってほしい」「一緒にハッカソンをやりたい」「ハンズオンセミナーを開催してほしい」などの要望・相談も随時受け付けています。「企業という垣根を超えて面白いことをしたい!」「日本発のOSSを世の中に広げたい」といったコントリビュータも常時募集中です。
次回は「E2D3における、OSSコントリビュータを増やす仕組みを支えるシステム設計」についてご紹介します。