注目のトレンド

【解説】Code.gov

  • はてなブックマーク
  • follow us in feedly

Code.gov(*1)とは、米国政府が2016年11月に公開した、連邦政府機関のオープンソースプロジェクトをまとめたウェブサイトのことだ。2017年5月現在、アメリカ航空宇宙局(NASA)や運輸省など、25省庁・団体のプロジェクトが公開されている(最多は社会保障局の26プロジェクト)。実際のソースコードを入手するには、オンライン上のソースコード管理サービスであるGitHub(*2)などを利用するほか、メールでの問い合わせが必要になる場合がある。

Code.gov
Code.govのトップページ。コードを探したり、関連団体がどんなコードを公開しているか、GitHubなどから閲覧したりすることができる

Code.govは、オバマ前政権が2016年8月に発表した「Federal Source Code Policy」(*3)に沿った取り組みだ。連邦政府機関によって、または連邦政府機関のために独自に開発されたソースコードを共有あるいは再利用できるようにすることを目的としている。

ソースコードの共有と再利用が進めば、新たなソフトウエア開発の効率化やコスト削減、さらには品質向上が期待できる。

コードを公開し社会に還元する「オープンソースソフトウエア(OSS)」

オープンソースソフトウエア(OSS)とは、ソースコードが公開されているソフトウエアのことを指す。つまり、Code.govは米国政府が独自開発したオープンソフトウエア(OSS)を一元化したものであるといえる。

なお、OSSは単なる状態を表すだけでなく、ソースコードのライセンス(使用権)や著作権も含めたものとして位置づけられており、その点でフリーソフトウエアやパブリックドメインソフトとは区別される。

ソースコードを公開する際、多くのOSSが使用条件としているのが、「再頒布の自由」と「派生ソフトウエアへの同一ライセンス適用」の2つだ。これは、OSSを利用して開発した成果物や派生物は自由に公開でき、同じ使用条件でOSSとして公開しなければならないというものである。言い換えると、OSSの成果はOSSとして世の中に還元する必要があるということだ。

Linuxほか、さまざまなソフトウエアがOSSとして公開

OSの中核ソフトウエアであるLinux(*4)はもっとも有名なOSSの1つであり、スマートフォンOSのAndroidや組み込み機器など、さまざまなシステムで採用されている。ほかにも、開発言語ではPythonやPHP、日本生まれのRuby、データ分析に欠かせないR言語、データベースではMySQLやMongoDBなどが有名だ。また、データ活用に有用なBI(ビジネスインテリジェンス)ツールにも、Jaspersoft、Pentaho、OpenOLAP、Talendなどがあり、あらゆる分野でOSSが存在している。

現在、業界を越えて人工知能(AI)が注目を集めているが、その基盤技術となる機械学習のライブラリにおいてもOSSが主流で、複数のプロジェクトが盛り上がっている。OSSそのものは無償で提供されるため、直接的な利益を得られるわけではない。しかし企業がプロジェクトを主導している場合は、自社が関わるOSSが業界標準になることでのビジネス上のメリットは大きい。

代表的なオープンソースソフトウエアの機械学習ライブラリ
代表的なオープンソースソフトウエアの機械学習ライブラリ。大手IT企業やスタートアップ、大学機関など、幅広い分野がOSSを公開している

実は、国内企業でもオープンソース化の例は多い。たとえば、Yahoo! JAPANではビッグデータ分析のデータ検索技術「NGT」(*5)を公開しており、その狙いを「OSSコミュニティーへの貢献強化や先端研究の発展のため」としている。また、サイバーエージェントもブラウザー向けサウンドライブラリ(*6)などを公開し、OSSへの取り組みをアピールしている。

企業や公共機関によるオープンソース化のメリットとは

企業が自社で開発したソフトウエアをオープンソース化するメリットは、一般ユーザーや開発者にコードを見られたり、利用されたりすることで、ソフトウエアの不具合や脆弱(ぜいじゃく)性の発見や改善がなされ、品質向上につながる可能性があることである。また、優れたソフトウエアであれば、その開発力や技術力の高さを世間にアピールすることでブランディングにもなる。これは、見込みクライアントから高い評価を得られると同時に、優秀なエンジニアの採用にも効果的だ。

しかし、ただソースコードを公開すればよいというわけではない。公開しているコードが注目されなければ上記のメリットは期待できないため、公開後にプロジェクトやコミュニティーが盛り上がるように、継続的に関わる必要がある。実際のコミュニティーでは、エンジニアが自発的に活動している場合も多いが、企業においては少なからず人的リソースが必要となるため、この点も含めて社内の理解が得られることが前提となる。

Code.govのような公共機関によるオープンソース化でも、企業の場合と同様のメリットをもたらす。また、国の予算で独自に開発されたものは、国民の共有財産であるとの考えに基づくと、情報公開(ディスクロージャー)やオープンデータと同様の発想や取り組みともいえる。その点では、透明性を示すことや説明責任を果たすことで信頼を得ることが、公共機関ならではのオープンソース化の意義である。

一方、公共機関における懸念点は、担当者の交代や予算、方針しだいで事業が打ち切りになることだろう。オバマ前政権によって始められたCode.govが、政権が変わった今後も続くかは定かではない。仮にCode.gov自体が終了しても、プロジェクトとして発展していく可能性はある。それこそがOSSの意義ではあるものの、コミュニティーのモチベーションは下がってしまうだろう。オープンソースという文化を単なる先進性や新規性のアピールではなく、公益に資する取り組みとするのなら、やはり継続する仕組みづくりが重要となる。

  • はてなブックマーク
  • follow us in feedly

この記事が気に入ったらいいねしよう!

「いいね」してInsight for Dの最新情報をチェック

マルチビッグデータの活用で潜在顧客の発掘から優良顧客の育成まで! Yahoo! JAPANのデータソリューションを詳しく見る

マルチビッグデータの活用で潜在顧客の発掘から優良顧客の育成まで! Yahoo! JAPANのデータソリューションを詳しく見る

Insight for Dの公式Facebookページ、Twitterでも最新情報や取材の様子を発信中。