2013 年 56 巻 6 号 p. 355-362
IT産業において日本発のオープンソースプログラミング言語Rubyの活用が注目されている。2012年4月にはRubyはその言語仕様が国際規格ISO/IEC 30170として承認された。これによってRubyの安定性や信頼性が増すと同時に,Rubyを活用した市場がさらに拡大することが期待される。本稿では,オープンソースがビジネスにつながることを根拠として,RubyおよびRuby on Railsの特徴とこれが注目される背景,そして島根県松江市で始まったオープンソースRubyを活用した地域産業振興の成果と課題について概説する。
Linuxに代表されるオープンソース・ソフトウェアはソフトウェアの設計図であるソースコードが公開されているため,インターネットを通じて自主的に参加する人材が集まり,ソースコードの不断の改良を通じてオープンソース自体やこれを使った新たなソフトウェアやシステムの開発が進められている。また統一した規格や標準化もオープンな場で議論し,決めることが可能である。オープンソースの開発方式に関しては,従来の伽藍(がらん)(Cathedral)型のトップダウンの開発方式,すなわちスケジュールと役割分担を明確にし,高層ビルを建設するように開発が進められる方式に対して,Raymond1)によって提唱されたBazaar型の開発方式,すなわち企業や組織の枠を超えて多くの研究者,開発者,ベンチャー企業などが自発的に開発に参加する方式によって進められているとされてきた。この企業や組織の枠を超えた,オープンソースのエンジニア=開発者による組織は「コミュニティー」と呼ばれている。
このようにコミュニティーで開発されるオープンソースであるが,これを導入する企業側から見た場合,第一の導入理由はコスト削減であり,直接的には導入側の企業の収益を拡大させる。一方,これらの企業に対してオープンソースやこれによって開発したソフトウェアやシステムの供給を行う企業=IT企業にとっては市場全体の縮小につながる可能性がある。そのため,新しい市場(ディストリビューション市場)の開拓が必要になってくる。そこでオープンソース自体は無償でも,オープンソースを使ったシステム構築のほか,導入,サポート,コンサルティング等が新たなビジネスとなり,ここにオープンソースのビジネスモデルが存在する。ただし,このビジネスがそのまま従来の供給側のIT企業に新しい市場をもたらすものではない。供給側の企業がその市場を獲得して,市場競争において優位になるためにはオープンソース自体の知識,開発力が求められることになる。これはIT企業自身がオープンソースを利用するだけでなく,その開発へ参加・貢献することによって可能になる。Linux FoundationによるとLinuxの開発(Linuxの中核部分であるカーネルコードへの参加貢献)において約7割は企業によるもので,そのうちIBM,Intel,Red Hat,Novellの4社が約3割を占めており,Linuxサーバー市場におけるこれらの企業の競争力強化につながっている2)。これは同時に,地方の中小企業であっても,オープンソースの開発へ参加・貢献が進めば,この分野での市場を拡大できる可能性があることも示している。
Ruby(http://www.ruby-lang.org/ja/)は,島根県松江市に在住するエンジニア・まつもとゆきひろ氏により1993年に開発され,1995年に公開されたプログラミング言語であり,オープンソースとしてその設計情報も公開されている。現在では世界で約90名(2013年5月時点)のコミッタ(Ruby自体の開発をしているエンジニア)がインターネットを通じながらRubyの開発・改良を続けている。
Rubyはプログラミング言語のなかでは,PerlやPython,PHPなどと同様にコンパイルを必要としない逐次解釈型のスクリプト言語である。スクリプト言語はプログラムを記述してすぐに実行→結果を確認でき,開発も逐次的に行うことが可能であるが,その分実行速度は遅くなる。しかしながらムーアの法則に象徴されるハードウェア性能の急速な向上によって処理の部分はハードウェアが担うことが可能になる。また,Rubyは他のプログラミング言語に比べて記述量が少なくてすむほか,文法が英語に近く人間のイメージを表現しやすいという利点がある。そこで,素早いリリースと頻繁な変更を求められるWebアプリケーション等の開発においてはRubyの生産性が高く評価されている。
表1は広島のIT企業(中央情報システム株式会社)の協力を得て,プログラミング言語による開発経験が7年のエンジニアがそれぞれ1名ずつRubyとJava,Perlで同機能を有するWebシステムを開発し,それぞれの生産性を比較した結果である3)。
| 使用言語 | Java | Ruby | Perl |
| 行数(コメントを除く) | 177行 | 46行 | 42行 |
| 工数(製造+テストの時間) | 製造:8時間 テスト:1時間 |
製造+テスト:2時間 | 製造+テスト:0.75時間 |
| 読み込みモジュール数 | (require数) 19 |
(require数) 2 |
(use数) 4 |
| 動作条件 | Servletコンテナ必須 | 一般的なHttpサーバー | 一般的なHttpサーバー |
| 動作確認サーバー | Tomcat | Apache Anhttp(他CGI動作可能サーバー) | Apache Anhttp(他CGI動作可能サーバー) |
| 使用言語経験年数 | 7年 | 0年(開発経験は7年) | 5年(開発経験は7年) |
出典:ちゅうごく地域Rubyビジネス活用研究会, “ちゅうごく地域Rubyビジネス活用研究会報告”. 2009, http://www.chugoku.meti.go.jp/topics/denshijyoho/h220409_1.pdf. P.15.
この結果から,Rubyは生産性においてはJavaに比較してコード量,製造時間ともに大きく上回り,製造時間だけみればRubyがJavaの数倍の生産性がある(単純比較すれば4.5倍)ことが実証された。また,同じスクリプト言語であるPerlと比べても,同じ開発経験を持つプログラマーがRubyでの開発が初めてであるにもかかわらず,Perlを5年経験したとほぼ同じソースコード量で製造可能であることが実証された。
2.2 Webアプリケーションフレームワーク Ruby on Railsこのように生産性の高いことが実証されているRubyであるが,公開された当初(1990年代後半)は一部の技術者を除いて,ビジネス分野では爆発的な普及はしなかった。それが,2004年にデンマーク人のプログラマーであるDavid Heinemeier Hanssonによって,Webアプリケーション開発に共通する基本的な機能をあらかじめ準備したプログラムであるRuby on Rails(以下Rails)がリリースされ,これが2000年代半ばから進んだクラウドコンピューティングの流れの中で一気に注目を集めるようになった。まず米国において,TwitterなどWebで迅速なサービスのリリースが必要とされるサイトにおいてRailsが利用されるようになった。Ruby,Railsの普及にともない,Sun Microsystems(後にOracleが買収)やMicrosoft,そしてAppleなどの米国の大手IT企業も,Rubyで作ったプログラムが自社製品で動作するようにその仕様を変え始めた。
このような流れが,2006年ごろから逆に日本でも注目され,まずWebアプリケーション開発においてRailsの導入が進んでいった。楽天株式会社がWebアプリケーションにRailsを採用し,まつもと氏も楽天技術研究所のフェローに(2007年5月),伊藤忠テクノソリューションズ株式会社が社内トレーニングからRuby,Railsの教育ビジネスへと発展(2007年)させるなど,Webサービスの構築にRailsが次々と採用されるという大きな流れがあった。
2.3 Rubyの標準化とRuby, Ruby on Railsの市場拡大Webアプリケーション開発において生産性の高さを実証したRubyは,クラウドコンピューティングの進展とともに活用場面がさらに拡大することが予想される。一方で,Rubyのプログラミング生産性の高さとは反対に,Rubyのエンジニアの数が少ないこと,また開発周辺環境面でのサポート体制,ライブラリーの不足などがネックになっていると考えられる。Rubyはオープンソースであるために,Ruby自体の開発がコミュニティーによって行われており,ライブラリーのメンテナンス,バージョン対応やマルチプラットフォームでの作動などで整備が不十分である。特に,Rubyはプログラミング言語であるがRuby言語自体を規定した標準仕様書は存在していなかった。その結果,異なる仕様を持ったRubyがコミュニティーやIT企業各社で開発されており,これはRubyの市場自体の拡大には妨げにもなる。
そこで,2008年11月にIPA(情報処理推進機構)がRuby言語の標準仕様の整理,標準仕様書作成,標準仕様書をベースにした国内,および国際規格化をスタートさせ,2011年3月に日本工業標準調査会のレビューを経て,JIS規格として制定された。さらに2012年4月にはRubyの言語仕様が国際規格ISO/IEC 30170として承認された。これでRubyによるプログラムの可搬性や外部システムとの相互接続性を高めることができる。また,この規格はRubyで書かれたプログラムを実行するためのサーバー環境等を開発する際の仕様のよりどころとなり,IT企業は安心して開発投資を行うことができる。クラウドコンピューティングの代表企業であるセールスフォース・ドットコム社が2010年にRubyプラットフォームのベンチャーHerokuを2億1,200万ドルで買収したことも象徴的な出来事である。
クラウドコンピューティングが進むことによって,データセンターの集約だけでなくアプリケーションやサービスまでもが東京を中心としたITベンダーに集まることも考えられる。その結果IT産業の一極集中がさらに強まり,地域のIT産業にとってはますます厳しい事態も想定される。しかしながら,企業の基幹業務を主たる目的とする場合にはデータセンターは地域内にあることが心理面でも運用面でも望ましい。また今後は,大規模な省エネデータセンターを電力事情(送電ロス等),ユーザーの利便性,交通事情などに配慮しつつ,機能の一部を分散することを含め,適切な地域に構築することが求められる。
そこで,このようなデータセンター,情報基盤の分散化に合わせて,クラウドコンピューティング,Web上でのアクセスと処理の大規模化への対応が進んでいるRuby,Railsによってシステム構築の市場が拡大する可能性が存在する。また,Ruby,Railsの市場拡大は,それらを使いこなすことができる地域のIT産業の市場拡大をもたらす可能性がある。クラウドコンピューティングの時代を迎え,ITユーザーに近い距離にある地域ITベンダーこそビジネスチャンスの可能性を合わせもっている。
このようにRuby,Railsのビジネス分野での普及,そしてその結果生じる開発の大規模化への対応などが国内外で進む状況の中,Rubyの開発者まつもとゆきひろ氏が在住する島根県の松江市では,IT産業振興のための「地域資源」としてRubyに注目した。オープンソースRubyを活用した地域の情報サービス産業振興政策として,Ruby City MATSUE Projectを2006年度に開始した。
特定のベンダーに依存しないオープンソースの開発方式自体は,地域の情報サービス産業にとってもその技術力を有していれば,新しいビジネス市場の拡大の可能性をもたらす。Rubyはオープンソースのプログラミング言語であるので,どこで誰がRubyを使って開発してもかまわないわけであるが,松江市はまつもと氏が在住することや,まつもと氏が在籍する株式会社ネットワーク応用通信研究所(松江市)を中心にRubyのエンジニアが集積するなどの地理的・技術的優位性を利用して,それをITソリューション市場の拡大,地域の産業振興につなげようとしたのである。そして,2006年9月には松江市の開設した「松江オープンソースラボ」を拠点として,オープンソース・ソフトウェアにかかわる民間企業,技術者,研究者,学生,ユーザーが交流を深めることで技術・競争力の向上と優れた人材の育成を図る組織,「しまねオープンソース・ソフトウェア協議会」も設立された。Rubyは国籍を超えた世界的なコミュニティーに参加する開発者の互恵的な精神によって支えられている技術であるが,松江市において開発者を中心とした地域のオープンソース開発コミュニティーが立ち上がったのである。
3.2 オープンソースと地域産業振興日本のオープンソース導入は,行政機関の情報化・ネットワーク化=電子政府の構築に合わせて,まず中央政府レベルによって進められてきた。しかしながら,オープンソースの導入が行政や企業の効率化という観点だけから進められるならば,オープンソース自体の市場は拡大しても,情報サービス産業のBazaar型への転換,さらに地方の情報サービス産業の市場拡大にはつながらない。例えば中央政府レベルの電子政府・電子自治体の取り組みはIT企業がコンソーシアムを組んで参加・入札する方法で進められているが,実際にはITゼネコンと呼ばれる大手ITベンダーを中心の「企業連合」=カルテルが組まれ受注を競い合っている。
これに対してオープンソースの導入という視点だけでなく,地域のIT産業振興として位置付けている自治体の事例もいくつか存在する。代表的なのは長崎県で,2001年から最高情報責任者(CIO)を採用することによってオープンソースの導入で電子県庁のシステムを大幅に削減することを可能にした。同時に分割発注方式によって地元(長崎県内)の情報サービス企業もシステム開発に参加することが可能になり,その結果,電子県庁のシステムへの地元の情報サービス企業の参入を高めてきた。
自治体の情報システムへのオープンソースの導入によってコストダウンを行い,特定のベンダーへの依存を避け,さらに地域のIT産業の市場拡大を目指すならば,①導入側(自治体)によるCIOの採用や職員がオープンソースに対する知識を持つことによる調達能力の向上,②地域でオープンソースを使ったシステム構築やサポートが可能となる企業・人材の育成,が求められる。長崎県の取り組みは①の面から地域産業振興につなげようとしたものであり,松江市の取り組みはRubyを「地域資源」として活用することによって②を進める地域産業振興であると言えよう。
3.3 Rubyによる地域産業振興の取り組みと成果Ruby City MATSUE Project自体は松江市という行政機関が主導したプロジェクトである。しかし,その主体は松江市内の民間企業や技術者,そして大学の研究者であり,Ruby開発者の存在という優位性を活かしながら,産学官の連携によってオープンソース開発に必要なRubyやオープンソースの技術力を向上させ,これを人材育成や市場拡大につなげようという取り組みである。
Ruby City MATSUE Projectを核とするオープンソースRubyを活用した地域情報サービス産業振興政策は,地域の企業に需要をもたらす点からも,行政(島根県や松江市)による開発発注からスタートした。これらの流れは,行政による地域産業への直接支援=公共事業の側面を持つが,地元のIT企業はこれらの事業・開発を進める中で,Ruby開発の技術力を高めていった。この過程で地元企業や進出企業によるRubyを含めた売上も増大している。一方,地域産業振興のためには市場拡大と同時に,開発を担う人材の育成が必要である。島根県は2007年度から企業エンジニア向けのRuby,Railsのエンジニア育成講座を開設して人材育成事業を進めるほか,地元の教育機関でのオープンソース・ソフトウェアの利活用やRubyの実践教育の導入を進めている。島根大学では2007年度からRuby,Railsの講座を開設した。同様に松江高専・松江商業などの地元の教育機関においてもRuby,Railsの講義・授業などが進められてきた。
これらの取り組みの結果,松江市に70%の開発拠点がある島根県の情報サービス企業全体の売上高や就業人数も,2006年度から2011年度の間に増加した。情報サービス企業の売上高や就業者数の伸びが全国ではリーマンショック等も挟んで乱高下しているのに対し,島根県は平均して10%以上の高い伸びを示している(表2,表3参照。全国は経済産業省特定サービス産業実態調査報告書4)~8),島根県は社団法人島根県情報産業協会アンケート調査報告書9)~11)に基づいて作成)。Rubyを活用した地域産業振興策の成果が数字にも表れているのである。
| 全国 | 伸び率 | 島根県 | 伸び率 | |
| 2006年度 | 13,751,730 | 10,452 | ||
| 2007年度 | 13,409,700 | -2.50% | 12,060 | 15.40% |
| 2008年度 | 14,807,000 | 10.40% | 13,241 | 9.80% |
| 2009年度 | 15,063,600 | 1.70% | 13,543 | 2.30% |
| 2010年度 | 13,210,100 | -12.30% | 16,506 | 21.90% |
| 2011年度 | - | 17,839 | 8.10% |
*経済産業省. 平成18年度~平成22年度「特定サービス産業実態調査報告書」, 2006-2011. 島根県情報産業協会. 平成21年度~平成23年度「ソフト系IT関連従業者数アンケート調査報告書」, 2006-2012から筆者作成。
| 全国 | 伸び率 | 島根県 | 伸び率 | |
| 2006年度 | 567,498 | 1,022 | ||
| 2007年度 | 548,236 | -3.40% | 1,389 | 35.90% |
| 2008年度 | 618,519 | 12.80% | 1,537 | 10.70% |
| 2009年度 | 676,100 | 9.30% | 1,613 | 4.90% |
| 2010年度 | 640,500 | -5.30% | 1,817 | 12.60% |
| 2011年度 | - | 1,888 | 3.90% |
*経済産業省. 平成18年度~平成22年度「特定サービス産業実態調査報告書」, 2006-2011. 島根県情報産業協会. 平成21年度~平成23年度「ソフト系IT関連従業者数アンケート調査報告書」, 2006-2012から筆者作成。
従来の地域産業振興政策は,地域の中小企業群による新製品開発プロジェクト(経済産業省・産業クラスター政策等)や大学等公的研究機関を核とした先端技術開発プロジェクト(文部科学省・知的クラスター政策等)を基礎としていた。これらの政策は,経済のグローバル化などの市場不安定化要因に地域の中小企業の地理的集積で対応し,また知識産業中心の産業構造への転換を図るものであった。しかしながら,これらはその地域が既存の産業や研究開発テーマなどのポテンシャルを有していることを前提としており,その要素が十分に存在しない周辺地域(都市部の近郊に位置しない地方の地域)では効果が得られず,地域産業振興が困難な場合が多かった。
一方,IT技術の発達を背景に企業間,さらに企業組織を超えたネットワーク化が進み,これは地域を超えた企業組織のネットワーク化が進展することも意味する。Chesbroughは,従来の自前主義的な経営戦略=企業が自分でアイデアを発展させ,マーケティングし,サポートし,資金調達をすることをクローズドイノベーションと呼び,このイノベーションの形態では自社内ですべての研究開発活動を行うとする態度が支配的であるとした。そのためには,自らの企業秘密を死守し,独力で新しい事業,新しい製品開発を実施するのが経営の常道となる。一方,①労働力市場の流動化,②従業員の知的レベルの向上,③ベンチャーキャピタルの存在,④市場競争の激化,などの競争環境,研究,開発環境の変化により,クローズドイノベーションの有効性は低下しつつあると考えられる。そこで,知識の流入と流出を自社の目的にかなうように利用して,社内イノベーションを加速するとともに,イノベーションの社外活用を促進し市場を拡大することが求められるようになる。このプロセスがオープンイノベーションと定義される12),13)。特にソースコードを公開して開発を進めるオープンソースの比重が高まりつつあるIT産業はオープンイノベーションの代表例であり,Ruby,Railsによる市場拡大も企業組織や地域の枠を超えてオープン化しながら進んでいると考えられる。
周辺地域の典型である松江市の取り組み,Ruby City MATSUE Projectはこのオープンイノベーションの過程を地域産業振興に結び付けようとしたものであるが,そのためには知識の流入だけでなく流出,およびそのための知識の産出も求められる。すなわちRuby,Railsの開発過程への貢献が必要とされるのである。前述したように,Linux市場で大きなシェアを占めているのはLinuxの開発に貢献している企業である。また筆者が国内のIT企業に対して実施したオープンソース開発のアンケート調査結果によってもLinuxなどのオープンソースを活用している企業の多くがその開発自体に参加・貢献していることが実証されている14)。
そもそも松江市の地域産業振興策は「地域資源」としてのRubyの技術的優位性を利用したものである。Rubyはオープンソースであるので,その技術的知識を持っていれば誰がどこでRubyを使ってビジネスを興してもかまわない。オープンソースであるからこそRubyの利用やRubyを活用したビジネス市場が拡大しているのであるが,この中でRuby,Railsの市場でのシェアを確保していくためには松江市のIT企業が技術的優位性を維持し続けていかなければならない。そのためにはオープンソースRubyを使ったシステム構築やサポートが可能となる企業・人材の育成とともに,Ruby自体の知識を深めることが求められる。これは他のオープンソース同様にRubyの開発自体に貢献することによって獲得できるものである。すでにISO規格になったRubyは今後規格の保守および改訂の作業を継続して行うことになるが,この作業を担当する組織はIPAから松江市に本部を置く一般財団法人Rubyアソシエーションに移行している。RubyアソシエーションはLinux Foundationと同様にRubyでビジネスを行う企業がRuby自体の開発・ビジネス分野への適用を支援する組織であり,国内の大手ITベンダーも参加している。多くのIT企業がこの取り組みに参加することがRubyのさらなる市場拡大につながるのであるが,この市場はそのまま松江市のIT企業の市場シェアにつながるものではない。Ruby City MATSUE Projectの成果を継続していくためには,松江市のIT企業がLinux Foundationの事例と同様にRubyの安定化と信頼性の確保,すなわちオープンソースRuby自体の開発過程に参加・貢献し,その中でRubyに対する知識を継続して深めていかなければならない。