オープンソースソフトウェア:完全Wiredガイド

オープンソースソフトウェア:完全Wiredガイド

新しいスマートフォンを購入する際、多くの人がカメラのスペックや画面サイズ、ストレージ容量などに目が行きがちです。しかし、これらの洗練された消費者向けガジェットの最も基本的な要素の一つであるオペレーティングシステムを見落としがちです。世界で最も人気のあるモバイルオペレーティングシステムは、GoogleのAndroidです。世界中のスマートフォンの86%以上がAndroidを搭載しています。さらに注目すべきは、AndroidがオープンソースのLinuxオペレーティングシステムをベースとしていることです。

つまり、ほとんどのスマートフォンの心臓部であるコードを誰でも閲覧し、変更し、そして何よりも重要なことに、誰とでも共有できるということです。このオープン性こそが、コラボレーションを可能にするのです。例えば、単一の企業によって開発・保守されているMicrosoft Windowsとは異なり、Linuxは世界中の15,000人以上のプログラマーによって開発・保守されています。これらのプログラマーは、互いに競合する企業に勤めている場合もあれば、ボランティアとして新しいものを開発し、それを無料で提供する場合もあります。無償です。

奇妙に聞こえるかもしれないが、オープンソースのソフトウェア構築方法は、オープンソース企業のRed Hatに340億ドルを支払う予定のIBM、コードホスティングおよびコラボレーションプラットフォームのGitHubを75億ドルで買収したMicrosoft、独自のオープンソースソフトウェアをリリースしたWalmartなどの企業に現在採用されている。

オープンソースは、テクノロジーの次のイテレーションであるAIにも応用されつつあります。Googleは2015年に人工知能エンジンTensorFlowをオープンソース化し、企業や研究者が、写真検索、音声認識、言語翻訳ツールの開発に使用したのと同じソフトウェアの一部を使ってアプリケーションを構築できるようにしました。それ以来、Dropboxはスキャンした文書や写真内のテキスト認識にTensorFlowを使用し、Airbnbはリスティングの写真分類にTensorFlowを活用し、Connecterraという企業は酪農家の牛の健康状態分析にTensorFlowを活用しています。

Googleはなぜ、自社のビジネスにとってこれほど重要なものを無償で提供するのでしょうか?それは、外部の開発者が自らのニーズに合わせてソフトウェアを改良していくことを期待したからです。そして、その期待は現実のものとなりました。Googleによると、TensorFlowの開発には1,300人以上の外部開発者が携わっています。オープンソース化によって、GoogleはTensorFlowをAIアプリケーション開発の標準フレームワークの一つに押し上げ、クラウドベースのAIサービスを強化することができました。プロジェクトへの外部からの支援に加え、オープンソースは貴重なマーケティング効果をもたらし、企業が優秀な技術者を引きつけ、維持する上でも役立ちます。

GoogleはAIアプリケーションの基盤となるデータを無償で提供していないことを覚えておいてください。TensorFlowを使うだけでは、Googleに匹敵する検索エンジンや広告ビジネスを魔法のように構築できるわけではありません。

つまり、Googleは利益を得る立場にあるわけですが、なぜ外部の企業がTensorFlowの改善に貢献するのでしょうか?ある企業が独自の要素を含むTensorFlowのバージョンを作成し、その要素を非公開にしているとします。GoogleがTensorFlowに独自の変更を加えるにつれて、その企業がその変更を公式バージョンに統合することが難しくなる可能性があります。また、その企業は他者が貢献した改善を見逃してしまうことになります。

つまり、オープンソースは、企業が相互に利益のあるテクノロジーで協力する手段を提供します。

Open Source Software The Complete Wired Guide

オープンソースの台頭

オープンソースソフトウェア運動は、関連性はあるものの、別の「フリーソフトウェア」運動から生まれました。1983年、当時MIT人工知能研究所のプログラマーだったリチャード・ストールマンは、当時AT&Tが所有していたUnixオペレーティングシステムに代わるフリーな代替ソフトウェアを開発すると宣言しました。ストールマンは、この代替ソフトウェアを「GNUはUnixではない」の再帰的な頭字語であるGNUと名付けました。

ストールマンにとって、「フリー」ソフトウェアの理念は、単にソフトウェアを無料で配布する以上の意味を持っていました。ユーザーがソフトウェアを自由に利用し、ソースコードを自由に研究し、独自の目的のために改変し、そして他者と共有できることを保証することでした。ストールマンは、ユーザーにこれら4つのソフトウェアの自由を保証するGNUパブリック・ライセンス(GPL)と呼ばれるライセンスの下でコードをリリースしました。GPLは「バイラル」ライセンスであり、GPLでライセンスされたコードに基づいてソフトウェアを作成した人は誰でも、派生コードもGPLライセンスの下でリリースしなければなりません。

重要なのは、このライセンスは企業によるGNUソフトウェアのコピーの販売を禁じていないということです。顧客にコードを共有させている限り、ソフトウェアに好きなだけ価格を付けることができます。この一見矛盾する状況を説明するために、「フリーとは言論の自由であって、ビールが無料で飲めるという意味ではない」という表現がよく使われます。

他のプログラマーたちもすぐにストールマンの例に倣いました。中でも最も重要な人物の一人は、1991年にLinuxオペレーティングシステムを開発した、フィンランド出身の辛辣なプログラマー、リーナス・トーバルズです。Linuxは「カーネル」、つまりオペレーティングシステムの中核であり、ハードウェアと通信し、キーボード、マウス、タッチスクリーンからの基本入力をソフトウェアが理解できる形式に変換します。当時、GNUには完成したカーネルがなかったため、多くのGNUユーザーがGNUとLinuxを組み合わせて、機能的なオペレーティングシステムを開発しました。GNUオペレーティングシステム、Linuxカーネル、その他のツールをバンドルしたものは、GNU/Linuxディストリビューションとして知られるようになりました。純粋主義者の中には、今でもLinuxベースのオペレーティングシステムを「GNU/Linux」と呼ぶ人もいます。間もなく、Red Hatのような企業がLinuxのようなオープンソース技術のサポートを販売して収益を上げるようになりました。

Linux(あるいはGNU/Linux)は、Webサーバーの実行に特に人気を博し、W3Techsがまとめたデータによると、現在ではWebサーバーの69.4%で稼働しています。LinuxとWebの台頭に伴い、Apache Webサーバー、MySQLデータベース、PerlやPHPといったプログラミング言語など、様々な無料ツールが登場しました。多くの企業がGPLライセンスを採用していましたが、GPLとは異なり、企業がコードを使用して独自の製品を作成することを許可する、より寛容なライセンスを採用した企業もありました。

やがて、倫理的な理由からすべてのソフトウェアはフリーであるべきだと考えるストールマンのような人々と、コードを自由に共有することはソフトウェア開発のより良い方法だが倫理的な義務ではないと考える、よりビジネス志向の開発者たちの間で緊張が高まっていった。1998年、コード共有とオープンなコラボレーションという考え方をどのように推進するかを議論するグループが集まった。「フリーソフトウェア」という用語とストールマンのより絶対主義的な哲学が、コードの一部を独占的に保持したい企業にとって彼らの考えを受け入れにくくするのではないかと懸念したグループは、その目的を明確にするために、クリスティン・ピーターソンが作った「オープンソース」という名称を採用した。

2000年代には、オープンソースが真に主流となりました。2004年、プログラマーのデイビッド・ハイネマイヤー・ハンソン氏は、Webアプリケーションプログラミングフレームワーク「Ruby on Rails」をリリースしました。これは瞬く間に世界で最も重要なWeb開発ツールの一つとなり、TwitterやKickstarterといったサービスの基盤にもなりました。一方、Yahoo!はオープンソースのデータ処理システム「Hadoop」の開発に資金提供していました。2006年のリリース後、Facebook、Twitter、eBayといった企業がHadoopプロジェクトへの貢献を開始し、企業間コラボレーションの価値を実証しました。2008年には、サン・マイクロシステムズが10億ドルでMySQLを買収したことで、オープンソースが大きなビジネスになり得ることが証明されました。同年、Googleは初のAndroidスマートフォンをリリースし、オープンソースはサーバーからポケットへと移行しました。

今やオープンソースは事実上どこにでもあります。ウォルマートは開発プラットフォームNodeのようなオープンソースソフトウェアを採用しており、クラウド管理ツールOneOpsと開発プラットフォームElectrodeのコードを公開しています。JPモルガン・チェースはブロックチェーンプラットフォームQuorumをオープンソース化し、従業員はプライバシー重視のビットコイン代替通貨Zcashの開発元と共同作業を行いました。かつて元CEOがLinuxを「ガン」と呼んだマイクロソフトでさえ、今では人気の高い.NETプログラミングフレームワークなどのオープンソースソフトウェアを活用し、リリースしています。クラウドサービスAzureの一部にもLinuxを採用し、独自のLinuxツールをコミュニティと共有しています。

オープンソースはもはやカウンターカルチャーではない。それは体制なのだ。

Open Source Software The Complete Wired Guide

オープンソースの未来

オープンソースの台頭には、問題がなかったわけではありません。企業がオープンソースソフトウェアを受け入れているにもかかわらず、多くの独立系プロジェクトやスタートアップ企業は、いまだに収益を上げる方法を見つけられていません。大企業に広く利用されているソフトウェアの開発者でさえ、コストを賄ったり、人材を雇用したりするための資金調達に苦労することがあります。これは深刻な結果をもたらす可能性があります。

例えば、2014年には、セキュリティ研究者が2つの重要なオープンソースプロジェクト、OpenSSLとBashに深刻な脆弱性を発見しました。これらのプロジェクトは、多くの主要オペレーティングシステムに組み込まれています。潜在的なセキュリティ問題のないソフトウェアは存在しませんが、これらの問題が長きにわたって検出されなかったという事実は、オープンソースの大きな問題を浮き彫りにしました。多くの有名なオープンソースプロジェクトは、問題解決にほとんど時間をかけられず、セキュリティ監査人を雇う資金もないボランティアによって運営されている、あまり知られていないオープンソースコンポーネントに依存しているのです。

オープンソース製品を中心に事業を展開してきた企業の中には、物議を醸す新たなライセンススキームを導入しているところもあります。クラウドコンピューティングサービスが自社のコードに基づいて競合サービスを販売するのを防ぐため、MongoDBは2018年に新たなライセンスを作成し、他社によるMongoDB Community Serverの利用方法に制限を設けました。他のオープンソース企業は、従業員15名以上の企業に対し、このライセンスを採用したソフトウェアの利用料を義務付けるフェアソースライセンスや、企業がソフトウェアを商用化する方法を制限した新しいコモンズ条項を採用しています。これらのライセンスでリリースされたソフトウェアのソースコードを閲覧することは可能ですが、ユーザーがコードを自由に利用できるようにするという、フリーソフトウェアおよびオープンソースソフトウェアの伝統に反するものです。

一方、スタートアップ企業はオープンソースで収益を上げるための斬新な方法を模索しています。Red Hatはオープンソース製品のサポート販売で収益を上げていますが、これはすべてのオープンソースプロジェクトで実現可能というわけではありません。Tideliftという企業は、オープンソースプロジェクトのパッケージに対して単一のサブスクリプション料金でサポートを販売することを目指しています。いわば「オープンソース版Netflix」と言えるでしょう。

こうした資金調達問題の解決は、オープンソースの将来にとって極めて重要です。しかし、問題は資金だけではありません。GitHubが2017年に実施した調査によると、オープンソースの労働力は、テクノロジー業界全体よりもさらに多様性に欠けています。回答者の半数は、失礼な態度、中傷、ハラスメントなどの不適切な行為を目撃したことがあり、特定のプロジェクトやコミュニティから遠ざかる理由になったと述べています。また、回答者の約18%が、そのような不適切な行為を直接経験したことがあると回答しています。これは問題です。なぜなら、オープンソースプロジェクトへの参加は、今やテクノロジー業界での就職において重要な要素となっているからです。女性やマイノリティがオープンソースから締め出されれば、テクノロジー業界全体の多様性はさらに低下するでしょう。

多くのオープンソースプロジェクトがこの問題に対処しようとしている方法の一つが、「貢献者誓約」と呼ばれる行動規範です。これは、参加者に対し、個人攻撃、ハラスメント、あるいは「職業上の状況において不適切と合理的に判断される可能性のあるその他の行為」を戒めるものです。これらのガイドラインは常識的に聞こえるかもしれませんが、プロ意識の有無ではなく、コードのみで評価されることに慣れているオープンソースのコーディング者の間では物議を醸しています。貢献者誓約の著者は、今でも定期的にハラスメントを受けています。

それでも、進展の兆しはあります。Linuxコミュニティに有害な環境を作り出したとして長らく非難されてきたトーバルズ氏は、2018年に過去の行動について謝罪し、Linuxプロジェクトは貢献者規約を採択しました。

インクルージョンはオープンソースにとって単なる倫理的な問題ではありません。多様性のあるチームはより良い製品を生み出します。そして、より良いソフトウェアを作ることこそがオープンソースの真髄なのです。

Open Source Software The Complete Wired Guide

もっと詳しく知る

  • ストールマンは行き詰まっているのか?
    WIRED は 1993 年の創刊号でリチャード・ストールマンとフリーソフトウェア運動のプロフィールを取り上げました。
  • Googleは、自社の人工知能エンジン「TensorFlow」をオープンソース化しました。Google
    は長年にわたり、自社のソフトウェア帝国を支えるAIコードを含むオープンソースコードを公開してきました。これは完全に利他的な決断ではありませんでした。Googleは、他の企業がAIの発展に貢献することで利益を得ることを期待しているのです。
  • MicrosoftはLinuxへの愛を公言している。そして今、ついにそれを証明した。Microsoft
    は、開発者中心の主力製品の一つをオープンソースとしてリリースすることで、プロプライエタリソフトウェアの象徴からオープンソースの推進者へと転身した。
  • インターネットは壊れており、Shellshock は私たちの苦悩の始まりに過ぎません。MacOS
    やほとんどの Linux ベースのオペレーティング システムに含まれているオープン ソース プログラム Bash で、Shellshock と呼ばれる大規模なセキュリティ バグが 20 年以上も発見されずにいた理由と、それがインターネットにとってなぜ重要なのかを説明します。
  • オープンソースの勝利。次は?
    Red Hatは毎年数十億ドルの収益を上げているが、他の多くのオープンソース企業は苦戦している。一方で、ボランティア開発者は疲弊し、深刻なバグは放置されている。
  • 開発者の死後もオープンソースプロジェクトを生き返らせる オープンソースプロジェクト
    の開発者が亡くなったり、燃え尽きたりすると、その開発者のコ​​ードに依存する多くのプロジェクトに波及効果をもたらす可能性があります。コミュニティがこうした状況にどのように対処しているかをご紹介します。
  • オープンソース プロジェクトに礼儀正しさをもたらした女性、
    エイダ コラライン氏は 2014 年にオープンソース プロジェクトの行動規範である貢献者誓約を作成しました。彼女はそれ以来ずっと嫌がらせを受けてきましたが、大規模なオープンソース プロジェクトの多くが彼女の誓約、または同様の行動規範を採用しています。

最終更新日:2019年4月23日。

この詳細な解説は気に入っていただけましたか? WIREDガイドをもっとご覧ください