開発エピソードや運営の裏話

SCSKとOSS

OSS Radar Scopeはこうして生まれた 2人のキーマンが語るその存在価値と開発秘話

  • PART1 開発エピソードや運営の裏話
  • PART2 レーティング方法や活用技術
  • PART3 活用方法や社外の評価

PART1 開発エピソードや運営の秘話

日本でもOSS(オープンソース・ソフトウェア)の利用率が年々増加しています。特に中堅クラス以上の企業規模で導入が活発になっており、OSSの活用に積極的な企業ほど業績も拡大する傾向が見て取れます。OS層はもちろん、今ではWebサーバーやアプリケーションサーバー、データベースでのOSS活用は常識となり、その勢いはアプリケーション領域にまで広がっています。

しかしOSSを活用するにあたり、どのような方法で情報を収集し、選定しているのでしょうか。個人の限られた知識や経験、不十分な検証で選択し利用を決めた場合、後にトラブルやリスクを抱える可能性は高まります。とはいえ、世界に60万以上もあるというOSSを全てチェックすることも不可能です。

このような状況を踏まえ、一般的なビジネスユーザーのOSS選定をサポートすることを目的に開発したのがSCSKの「OSS Radar Scope®」(オーエスエス・レーダー・スコープ)です。選択肢が多く、情報収集の敷居が高いOSSの選定に対して、OSSの成熟度/品質/サービスなど客観的な情報をWebなどから収集・蓄積し、透明性の高い基準で評価した上で、わかりやすい形に可視化しています。

今回は、主に開発を担当したR&Dセンター OSS戦略企画室 OSS技術第一課 ITスペシャリスト 鰈崎 義之(かれざき よしゆき)と、運営やプロモーションを担うR&Dセンター OSS戦略企画室 OSS技術第一課 プロフェッショナル ビジネスクリエータ 湯川栄治(ゆかわ えいじ)に、OSS Radar Scope®開発のエピソードや運営の裏話などについて存分に語ってもらいました。

よりよいOSSが簡単に見つけられる“物差し”があれば失敗を回避できる

―最初にうかがいます。SCSKがOSS Radar Scope®を開発した目的はなんでしょうか?

鰈崎:そうですね。まず企業がOSSを活用する動機を考えてみましょう。OSSを利用するメリットはいくつかあります。一般には商用ソフトウェアを導入するよりもコストを削減することができるからという動機が多いようですが、他にも、ベンダー依存を排除できるとか、ソフトウェアの選択肢が広がる、自社で修正や改変を行うことができる、最先端の技術を利用することができる、競合他社との差別化を図ることができるといった理由も多いのです。

では、初めてOSSを使った開発に取り組む企業の担当者はどのように目的のOSSを選んでいるのでしょうか? まずは、必要な機能の条件をネットで検索し、比較的出現頻度が多いOSSを、とりあえず試してみるというケースが少なくないでしょう。しかしその場合、表面的な情報でOSSを選んだがために、想定していないトラブルに遭遇することが多いように感じます。例えば、通常の利用では特に問題が起こらなかったのに、多くの人が同時にアクセスすることでトラブルが発生したり、カスタマイズしたことによってバグが顕在化したりするなどのリスクもOSSにはあるのです。過去、当社でもそうしたトラブルの相談が私の所属部門に何度か寄せられたこともありました。

そうした経験から、個人レベルの少ない知識による判断や、限られた経験の範囲内での属人的な選択などで失敗してしまうのは、時間的・労力的にも非常にもったいないと思うのです。その1度のつまずきで担当者や企業がOSSの利用を避けるようになるのは大きな損失につながります。かといって、国内外に存在する全てのOSSを比較することは、大変な労力と時間を要します。

情報や知識が少なくても、また誰が使っても、その企業やビジネスにとってよりよいOSSが簡単に見つけられる“物差し”のようなツールがあれば、無駄な失敗を回避できるばかりか、OSSを効率的に活用できるのではないか。そうした“物差し”が世の中にないのなら作ってしまおうという思いからOSS Radar Scope®の開発が始まりました。それにより、OSSのコミュニティへの還元ができればオープンソース全体への貢献になると考えたのです。

図1 OSS Radar Scope®の構造(2015年9月現在)
OSS Radar Scope®はあまり奇を衒わず、長く継続できるものを目指した

―OSSの活用がこれだけ叫ばれている中で、OSSを比較した情報がこれまでなかったのも意外です。

湯川:実はないわけではないのです。過去にあるIT企業がOSS をレーティングした資料を何度か公開したことがありましたが、対象OSSの数は限られており、2008年8月の公開を最後に更新されていません。

また、ブラック・ダック・ソフトウェア社が運営しているOSS開発コミュニティサイト「Black Duck Open HUB」というものがあり、OSSソースコードの検索や情報収集・共有の場として多くの開発者に活用されています。情報は非常に豊富ですが、表記が英語であり一定レベルの開発者向けで、OSS初心者には少し敷居が高いようです。

―それらを踏まえて、誰もが簡単に、最新の情報を基に最適なOSSを選択できるようにしたのがOSS Radar Scope®というわけですね。

湯川:もちろん、OSS Radar Scope®がオープンソースの完璧な選択基準を提供するわけではありません。しかし、これまでは参考になる指標もなく、個人レベルでは収集できる範囲も限られていた中で、自分が選んだOSSが一定の基準で容易に比較でき、似たようなカテゴリ内でどのレベルにあるのか客観的に対比できるようになることは、とても重要な意味があるのです。

選択肢が多く、情報収集にコツがいるOSSの選定において、Webで公開されているOSSの成熟度、品質、サービスなどの一般情報を集積し、SCSKの知見に基づいた透明性の高い基準で評価して、わかりやすい形で提示するため、OSS Radar Scope®はあまり奇を衒わず、長く継続できるもの、変化に対応できるものを目指しました。というのも、OSSは日々新しい技術が生まれ、既存のOSSもまた成長しており、そうした変化を常に取り入れて、差分情報を更新していかなければ、“物差し”としての利用価値が失われてしまうからです。

社員が有志でデザイン開発を担当し、ユーザーエクスペリエンスを大幅に改善

―実際の開発の経緯を教えて下さい。

鰈崎:OSS Radar Scope®は2012年の夏頃から開発がスタートし、同年12月のクリスマスに初めて公開しました。当初対象としていたOSSの数は102本でしたが、月日を追うごとに増え、2015年9月末時点では159本となっています。

その間、機能追加も行っています。月指定でのレーダースコープ表示機能や、Black Duck Open HUBとの連携機能、カテゴリ別表示への変更、スコアの推移表示機能、ジャンルごとのランキング推移表示機能、OSS詳細画面に同一ジャンルOSSのランキング推移を表示する機能などです。

図2 「ジャンルごとのランキング推移表示」

そんな中、世界的に普及している日本発のプログラミング言語『Ruby』(ルビー)の生みの親で、言語設計者のまつもとゆきひろさんからtwitterで「Ruby本体はないみたい」とのご指摘もありました。当時は、Rubyで書かれているWebアプリケーションフレームワークの『Ruby on Rails』(ルビー・オン・レイルズ)は対象になってましたが、Ruby本体は対象になっていませんでした。内部で検討した上で、「言語処理系」カテゴリを追加し、Rubyなど11本のOSSを対象として加えたというエピソードもありました(笑)。

―それだけ、多くの開発者の方々にも注目されているということですね。変化の激しいOSSなので、見直しなどの苦労も多いのでは?

湯川:特に大きなものは、2014年1月に行ったレーティング基準の見直しでしょうか。その他にも、一部あいまいだったルールの明確化や、カテゴリとジャンルの見直しなどを行ってきました。

また、2014年7月に大幅なデザイン変更を行っています。スタート当初はUIのデザインにはあまり手をかけていない部分もありましたが、それを見かねた当社の女性社員が有志でデザイン開発を買って出てくれたのです。その社員は個人的にWebデザインを学んでいて、OSS Radar Scope®がいい題材になると言ってくれました(笑)。そのおかげでわかりづらかった機能が直感的に使えるようになり、UX(ユーザーエクスペリエンス) が大幅に改善されたことは大きな成果でした。

鰈崎:さらに、社内への影響という点ではOSS開発の気風が育ちつつあるということが挙げられるでしょう。社内の有志社員によるJava勉強会において、2014年の下期にOSS Radar Scope®を使って開発実習を行ったことがありました。20名弱が4チームに別れて、業務時間外や自宅で機能追加やデザインの改善に取り組んだ結果、便利な機能や楽しいデザインのアイデアがたくさん生まれ、D3を利用した大胆なビジュアライゼーションの改良や、React.jsライブラリを使ったGUIの大幅な改善、Wikipediaリンクなど実際に本番サイトに取り入れた成果もあったのです。OSS Radar Scope®を題材として、OSSの開発手法に触れるきっかけになったのではないかと思っています。
( D3( D3.js ) はデータにもとづいてドキュメントを操作するためのJavaScriptライブラリです。モダンで高機能な視覚化コンポーネントを多数備えています。)

(Part2へ続く)

(インタビュー実施時期:2015年10月)

  • PART1 開発エピソードや運営の裏話
  • PART2 レーティング方法や活用技術
  • PART3 活用方法や社外の評価