--- title: レジュメ tags: 科学技術史,オープンソース --- # Open Source文化の歴史についての調査 5J19 坂本惇一郎 2019/09/03 #### はじめに  現在ソフトウェアの開発者界隈ではソースコードがフリーで公開されているものや、サービスが無料であるにもかかわらず、持続的に開発されているものやマネタイズされたサービスとして成立しているものが少なくない。このようなOSSのソフトウェアに興味を持ったと同時にこのような開発、ビジネススタイルはここ2,30年で登場したもので、製造業や、コンピュータ登場初期にはないものだと感じどういった時代背景でどのような困難を克服したことで一般に普及し覇権を握るに至ったのかについて調べたいと思った。 #### 目次 * OSS(オープンソースソフトウェア)とはなにか * オープンソースソフトウェアの歴史 * Eric Steven Raymond氏について * OSSの開発スタイルに関して * オープンソースソフトウェアのビジネスモデル * 終わりに #### OSS(オープンソースソフトウェア)とはなにか  ソフトウェアのソースコードが無償で公開され、改良や再配布を行うことが誰に対しても許可されているソフトウェアのこと。似たような意味で使われるフリーソフトウェアは開発、編集、再配布などの利用者の権利が主張されているのに対して、オープンソースソフトウェアでは改変したソフトウェアを共有することで、不特定多数で同一のソフトウェアを改良していくプロセスを重視している。またアクセスや改変を制限して、ソフトウェアを販売したりライセンス料を徴収しているソフトウェアはプロプライエタリソフトウェアと呼ばれている。代表的なオープンソースソフトウェアとしてサーバーでよく使われているLinux,プログラミング言語であるPython,JavaScript,Web browserであるFirefoxなどがあげられる。LinuxはOSSでも特に初期に登場したものでEric Steven Raymond氏に寄って開発プロセスなどのモデルとして「伽藍とバザール」という論文の中で紹介されている。OSSには収益化しているものとされていないものがあり、今回はそれぞれのビジネスモデルや、開発モデルについても明らかにしていきたいと考えている。 #### オープンソースソフトウェアの歴史  OSSが一般的になる以前のソフトウェアのビジネスモデルとしてはプロプライエタリソフトウェアが代表的であった。また開発スタイルに関しては「伽藍」モデルと「バザール」モデルと呼ばれるものがある。以下でそれぞれに関して詳細を説明する。  プロプライエタリソフトウェアではソフトウェアは商用目的での利用、修正、頒布などを認めないなどライセンス上の制約を設けたり、配布するソフトウェアもコンパイル済みのバイナリである。  「伽藍」モデルとはFSFやGNU Emacsなどの開発で行われていた、絞り込まれた少人数によって厳重に開発する従来のスタイルである。 対して「バザール」モデルとは不特定多数の開発者によって変更リクエストが大本のソースに対して送られ、改良されることが特徴としてあげられる。この開発スタイルはLinuxと呼ばれるサーバーなどでよく使われているOSで行われおり、新しいスタイルとして当時一躍有名になった。 当時GNU Emacsなどの開発に携わっていたEric Steven Raymond氏は実際に当時LInuxを知り、影響を受けて実際に自身もfetchmailというツールを「バザール」モデルで開発した。その後「伽藍とバザール」というOSSの開発スタイルを分析した論文を発表した。 #### Eric Steven Raymond氏について  前章で紹介したEric Steven Raymond氏は実際にOSS開発が一般的になる時期に実際にプログラマとして従来式のclosedな開発に携わっていた人物。Linuxの開発手法を目の当たりにすると自身もOSSでfetchmailというツールを1976年に開発。その後1997年に「伽藍とバザール」という論文で開発スタイルに関する考察を発表。「魔法のお鍋」という論文でOSSの経済的側面に関しての考察を発表。その後もMicrosoftのOSS、特にLinuxに対する対抗戦略やネガティブキャンペーンなどの企業戦略に関する「ハロウィーン文書」をリークして公開するなど活動もしている。また現在ChromeやIEに対抗するウェブブラウザとして名高いFirefoxが非OSSとして開発されていたNetscape時代にはOSS化しmozilla.orgというOSSを支援する財団を立ち上げることに関わった。この活動は現在のブラウザの独裁状態を防いだとされている。 #### OSSの開発スタイルに関して  OSSの開発では従業員を雇わなかったり、ソフトウェア工学で有名な「人月の神話」(プロジェクトに人員を追加するとコミュニケーションコストや教育コストが増大するためプロジェクトは更に混乱する)といった原則に矛盾しているにもかかわらず、世界的なソフトウェアが生まれるなど不思議なところが多い。ここでは以下にしてOSSが開発スタイルとして成立しているのか、どのような点が他の開発スタイルに対して優位に働いているのか、成立させるための条件などを「伽藍とバザール」の中でESR氏が述べていることについて引用する。  まずバザールモデルの優位性としてユーザーでもある開発者が自身でバグの発見から修正まで行えることが挙げられる。巨大なソフトウェアではバグの発見とそれに対して早急に修正することが大事になる。このとき一般的にユーザーが多いほど見つかるバグも見つかると言われている。この点でOSSの仕組みでは見つけたユーザーが報告するだけでなく、場合によっては修正までしてしまうことができる。これは「目玉の数さえあれば、どんなバグも深刻ではない」という「リーナスの法則」とも呼ばれている。特にこの仕組みは、自身で学習し、自身で修正までできる人がプロジェクトに貢献することができるので「人月の神話」も克服しているように思える。  OSSにすることでセキュリティ上の懸念があるかも知れない、しかし実際にはプロジェクトを秘密裏に開発すると十分なピアレビューがもらえないなどの問題があることを指摘している。またセキュリティ上の問題はソースの秘匿によってではなくアルゴリズムによって担保されるべきであり、公開することでより早く細かく懸念に関する指摘、修正が行われることが良いとしている。  現在、Linuxの開発者であるLinus氏やOSSのプログラミング言語のPythonの開発者であるguido van rossum氏といった巨大なOSSを牽引してきたリーダーは「優しい終身の独裁者」とよばれ、実際にコードを書くことよりもソフトウェアに対するリクエストの取捨選択、レビュー、コミュニティ内での議論、論争の最終的な仲裁を行うことをメインに行っている人も多い。このようにOSSのプロジェクトでは実際にコードを書くよりもコアとなるデータ設計とアイディアをソースコードとして表現し、実現性を自身で証明することが大事である。 #### オープンソースソフトウェアのビジネスモデル  OSSはソースコードの利用料などの徴収を行っていないので収益化を前提としていないものが多い。しかし中にはLinuxやPythonと財団としての収益を上げているものや、サービスとして提供することで企業としての収益を上げているものなども多い。ここではそういったOSSのビジネスモデルについてESR氏が「魔法のお鍋(1999年発表)」という論文の中で提案したものと、2019年現在で新しく登場したビッグデータに価値をおいて収益化するモデルについて紹介する。  まず、ソフトウェアの価値は消費財として商品として販売したときの販売価値と、中間財として、それを利用したとき効果による価値である利用価値の二つに分けられる。ソフトウェアの利用者は販売したときの価値だけでなく、その後サポート、カスタマイズを通して得られる価値も享受している。そのため、サービス契約やサブスクリプションモデルなど、ベンダと顧客の価値交換が継続的に行われるサービス業のような価格モデルになっていく。対してクローズドなソフトウェアを販売したときには、販売後に特権的な立場を保つことが難しく、また販売価値を補足するために設定されたライセンスではソフトウェアをフォークして改良したりピア・レビューすることができなくなってしまうと言った問題がある。そこで販売価値を補足するよなモデルではソフトウェア自体ではなく、間接的な付加価値によるモデルを構築したほうがいいと指摘している。  利用価値としての価値提供によるマネタイズではコストシェアリングとリスク分散を負荷価値としたものがメジャーである。現在でもかなりメジャーな方法でホスティングサービスなどと呼ばれることが多い。たとえばgoogle photoなどサービス自体は従来のストレージサーバーの便利にしたくらいで自分のサーバーでも動作できるものを共有のサーバー上でホスティングし、そのサーバーの稼働などの信頼性を担保することによって生まれる付加価値を提供し、利用した時間や専有したストレージ量、機能などに応じて課金してもらう方法である。またRedHatを代表として、ソフトウェアのサービス自体を価値とせずに、サポートやコンサルタントといった技術的支援によるマネタイズをする会社も存在する。  販売価値による価値提供による間接的なマネタイズの方法では、ドライバやアドオンなど無料で提供されているソフトウェアに付属するソフトウェアとしての販売、ソフトウェアのブランドによってカンファレンスの開催やグッズの販売、学習用の参考書などの販売による収益などがある。  ESR氏が論文を執筆した1999年ではサービスの利用価値としての付加価値はホスティングするサーバーの利用料やサポートなど基本的な技術による価値に重きをおいていたが、現在googleなどでは更に発展させて、ソフトウェア自体ではなく、サービスに蓄積されたビッグデータを価値として提供するものがある。たとえばgoogle photoでは、匿名化された画像データを機械学習の教師データにし、画像の人物認識や物体検出などのクラスタリングをする機能を提供したサービスをし、データの量によって認識精度を向上させ、競合となるストレージサービスとの差別化を図りユーザーを増やし収益を上げている。 #### 終わりに  自分が興味のあったOSSについて登場した経緯について実際の時代背景なども絡めて調べることができて満足できた。また実際にESR氏の論文を読む中でOSSの普及には経済的な面と開発スタイルの面での二つのブレイクスルーがあったことが理解できてよかった。今後は自分で開発するときや話題のソフトウェアについて調べるときにも今回調べたビジネスモデルや開発スタイルを意識していきたい。 参考文献 [1] 伽藍とバザール Eric Steven Raymon著 山形浩生訳 https://cruel.org/freeware/cathedral.html [2] 魔法のおなべ Eric Steven Raymon著 山形浩生訳 https://cruel.org/freeware/magicpot.html [3] ハロウィーン文書 Eric Steven Raymon著 山形浩生訳 https://cruel.org/freeware/halloween.html ---   * cloud service * gitlab https://about.gitlab.com/2018/11/09/monetizing-and-being-open-source/ https://about.gitlab.com/company/stewardship/ 財団 教育、サポート RedHat   事例 * Linux * firefox OSSのメリット 営利化を目的としないもの python linux netscape 営利化を目的とするもの gitlab 参考文献 [weblio オープンソースソフトウェア](https://www.weblio.jp/content/オープンソースソフトウェア) 販売価値 販売できる商品とみなしたときの価値、消費財としての価値 利用価値 ツールとして使うときの経済的価値、中間財としての価値 ソフトウェアの利用者は販売したとき価値だけでなく、その後サポート、カスタマイズを通して得られる価値も享受している。そのため、サービス契約やサブスクリプションモデルなど、ベンダと顧客の価値好感が継続的に行われるサービス業のような価格モデルになっていく。対してクローズドなソフトウェアを販売したときには、販売後に特権的な立場を保つことが難しく、また販売価値を補足するために設定されたライセンスではソフトウェアをフォークして改良したりピア・レビューすることができなくなってしまうと言った問題がある。そこで販売価値を補足するよなモデルではソフトウェア自体ではなく、間接的な付加価値によるモデルを構築したほうがいいと指摘している。 利用価値による開発費手当としてのモデル コストシェアリング リスク分散