こんにちは、吉田行男です。最近、さまざまなところで講演する時に『そもそもOSSとは?』というテーマでお話をすることがあり、その内容への評判が良いので、ドキュメントにまとめた方が良いという意見を頂いたので、書いてみることにしました。もちろん、当事者でない部分が多くありますので、Web上の情報や伝聞によるところがありますので、『間違っている』というご指摘を受けることを覚悟して、書き始めたいと思います。
GNUプロジェクト発足
1969年にAT&Tベル研究所で開発されたUNIXは、緩い条件で大学や企業で利用されてきました。その結果、世界中の大学や企業の技術者が多大なる貢献をしてきました。ところが、AT&Tが1982年に独占禁止法違反で七つに分割され、IT市場でビジネス化することが認められ、このUNIXの製品化が可能になり、ライセンスビジネスを開始し、ライセンス許可なしに使用することができなくなりました。この状況に反発したマサチューセッツ工科大学(MIT)のリチャード・ストールマンを中心にユーザーたちが、GNUプロジェクトを設立しました。
GNUプロジェクトでの目標は、完全に「フリーソフトウェア」で構成されるオペレーティングシステムを実現することで、リチャード・ストールマンは1960年代や1970年代のコンピュータユーザーのように、ユーザーを自由にしたいと考えていました。この考え方は、1985年に「GNU宣言(*1)」として公開されています。このGNUに必要なソフトウェアの開発のために規定したのが、GNU General Public Licenseで、一般的にはGPLと呼ばれています。GPLでは、著作物の利用者はそれを実行し、複製し、修正し、再配布できますが、その再配布物のライセンスに制限を加えることは許されません。この思想はコピーレフトと呼ばれています。
その後、1991年にフィンランドの大学生であったリーナス・トーバルスによって、Linuxの開発が開始され、1994年にLinux1.0がリリースされました、その後、GNUプロジェクトの中でこのLinuxは中心的な存在になってきます。
ブラウザ戦争
インターネットは世界中のコンピュータネットワークをつなげたグローバルなネットワークで、起源は1969年に米国国防総省高等研究計画局(ARPA:Advanced Research Project Agency)が軍事目的で開始したARPAnetであるとされています。その後、紆余曲折があり、日本では1993年に商用利用が開始されました。インターネットを閲覧するためのソフトウェアである『ブラウザ』は、それまでもありましたが、1993年に米国イリノイ大学のNCSA(National Center for Supercomputing Applications)で開発された「Mosaic」が状況を一変させました。それまでの『ブラウザ』は学術的な情報がメインであったため、文字情報しか扱えませんでしたが、この「Mosaic」は画像を表示することができたことで、Webでの表現力が飛躍的に向上し、普及していきました。その後、このNCSAに所属していたマーク・アンドリーセンらがNetscape Communicationsを起業し、このMosaicをベースにブラウザ「Netscape Navigator」を開発し、1994年にリリースしました。このブラウザが瞬く間に支持を集め、最盛期には9割ものシェアを獲得することが出来ました。これに対抗するために、MicrosoftがInternet Explorer(IE)を開発し、これをWindowsに同梱することで、Webブラウザのシェアを急拡大してきました。
こうして、Microsoftに追い上げられていたNetscapeは、打開策として「伽藍とバザール」(*2)を参考にソースコードを公開し、コミュニティの力を借りることで、開発リソースを補いシェアの回復を図ろうとしていました。
「オープンソース」誕生
1998年4月にパロアルトで開催された会議に「フリーソフトウェア」運動の関係者が集まりました。その時の話題の一つが「フリーソフトウェア」という言葉に関するもので、リチャード・ストールマンによる「フリーソフトウェア」運動によると、すべてのソフトウェアは、ソースコードを自由に提供されなければならないという過激な提案をしており、多くの敵を生み出していました。そのために、それに代替する用語として「オープンソース」という言葉を使うことを発表しました。
その後、エリック・レイモンドとブルース・ぺレンズによって設立されたオープンソースイニシアティブ(OSI)が、1997年に発表されたDebianのフリーソフトウェアガイドライン(*3)に基づいて、「オープンソースの定義」が作成し発表しました。このように「オープンソース」という言葉は、Netscape社がWebブラウザ”Mozilla”のソースコードを公開するにあたって、考え出されたマーケティング的な要素の用語でしたが、はからずも、6/16にサポートが終了したMicrosoftのIEによって、「オープンソース」という用語が、引き起こされたといっても良いかもしれません。その後長くMicrosoftは、Linuxやオープンソースに敵対的な態度をとってきましたが、最高経営責任者(CEO)がSatya Nadella氏に変わってから、方向転換したこと皆さんもよくご存じのことだと思います。
「オープンソースの定義」
では、この「オープンソースの定義」にはどのようなことが書かれているのでしょうか?
定義は下記のようになっています。
オープンソースの定義
- 自由な再頒布が出来ること
- ソースコードを入手できること
- 派生物が存在でき、派生物に同じライセンスを適用できること
- 差分情報の配布を認める場合には、同一性の保持を要求してもかまわない
- 個人やグループを差別しないこと
- 適用領域に対する差別をしないこと
- 再配布において追加ライセンスを必要としないこと
- 特定製品に依存しないこと
- 同じ媒体で配布される他のソフトウェアを制限しないこと
- 技術的な中立を保っていること
このオープンソースの定義は、大きく2つに分けることができ、前半の①から③は、「オープンソースの権利」について、後半の④から⑩は、「オープンソースライセンスが備える条件」について記述されていると考えることができます。
ここで、一番重要なことは、「オープンソース」は単にソースコードが入手できるということだけではないということです。「オープンソース」とは、ここに記したすべての条項を順守するものでなければいけないのです。
この『オープンソースの定義』に基づいて、OSIではライセンスのレビューを実施しており、現在100以上のライセンスを認定しています。OSIでは、多くのライセンスを認証した結果、ライセンスが乱立するライセンスの氾濫という事態を引き起こしたため、現在では、既存のライセンスの利用を推奨しています。
リチャード・ストールマンの考え方
このオープンソースを理解する上で欠かせないないのは、「コピーレフト」という考え方です。リチャード・ストールマンがフリーソフトウェア運動の中で、熱心に普及を推進している考え方です。リチャード・ストールマン自身は、「オープンソース」という用語には、必ずしも賛同していませんので、「フリーソフト」と「オープンソース」を使い分けなければいけません。この「コピーレフト」という考え方が「オープンソース」に深く関係するので、ご紹介したいと思います。
コピーレフトの定義(*4)をまとめると下記のようになります。
- 著作物の利用、コピー、再配布、翻案を制限しない
- 改変したもの(二次的著作物)の再配布を制限しない
- 二次的著作物の利用、コピー、再配布、翻案を制限してはならない
- コピー、再配布の際には、その後の利用と翻案に制限が無いよう、全ての情報を含める必要がある(ソフトウェアではソースコード含む)
- 翻案が制限されない反面、原著作物の二次的著作物にも同一のコピーレフトのライセンスを適用し、これを明記しなければならない
一般的には、コピーレフトという表現は、コピーライトの反対の用語ということで、パブリックドメインのように著作権を放棄しているように誤解される可能性もありますが、決して、そうではなくあくまでも著作権は保持した状態になります。著作権を保持したままにすることにより、そのソフトウェアが自由(フリー)な状態を維持できるという考え方です。
この考え方を具体的に実装したのが、GPL(GNU Public License)ということになります。
まとめ
このようにいま私たちが使っている「オープンソース」という言葉もその成り立ちを見ると複雑にさまざまな企業の戦略が絡み合って誕生しています。来年には25年を迎えるこの「オープンソース」活動が活発に推進されることを祈って、本記事を終了したいと思います。
※本文中記載の会社名、商品名、ロゴは各社の商標、または登録商標です。
(*1)https://www.gnu.org/gnu/manifesto.ja.html
(*2) http://www.catb.org/~esr/writings/cathedral-bazaar/
(*3)https://www.debian.org/social_contract.ja.html#guidelines
(*4)https://www.gnu.org/licenses/copyleft.ja.html
著者:
吉田 行男
2000年ごろからメーカー系SIerにて、Linux/OSSのビジネス推進、技術検証、OSS全般の活用を目指したビジネスの立ち上げに従事。社内外でOSS活用に関する講演、執筆活動を行ってきた。2019年から独立し、さまざまな会社や団体の顧問として活動。OSSの活用やコンプライアンス管理などを支援している。