そもそもオープンソースソフトウェアって何だ?

オープンソースソフトウェアって何? OSSライセンス
※このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。
香奈枝
香奈枝

「オープンソース」とは、ソフトウェアの改変や再配布が自由に行えるというライセンス方式を持つソフトウェアのことを指します。

このライセンスに基づいて、ソフトウェアのソースコード(プログラムの設計や作り方を記述したもの)が公開されており、ユーザーはそのソースコードを自由に改変したり、再配布することができます。

オープンソースソフトウェア(Open Source Software:OSS)は、多くの人々が協力して開発・改善することができるので、高品質かつ安定したソフトウェアが生まれることが多いとされています。また、オープンソースソフトウェアは通常無料で提供されており、誰でも利用することができます。

代表的なオープンソースソフトウェア

  1. OS: Linux(Ubuntu,CentOS含む⁠)⁠,Android
  2. プログラミング言語: Ruby,Perl,Python,PHP
  3. Webサーバ: Apache HTTP Server,nginx
  4. アプリケーションサーバ: Apache Tomcat,JBoss,GlassFish
  5. 仮想化環境: KVM,Xen
  6. 統合開発環境(IDE): Eclipse,NetBeans
  7. データベースサーバ: MySQL,MariaDB,PostgreSQL
  8. データ処理: Hadoop
  9. ファイルサーバ: Samba

オープンソースが使われる場面が増えるのに、「オープンソースって何だかよくわからない」と考えている人たちも増えています。

ソースコードを公開しているソフトウェアは、すべて OSS である?

オープンソースは、ソースコードを公開しているだけではありません。誰でも自由に利用 (複製、配布、改良) できるという条件を備えています。

たとえば、Web サイトにサンプルコードが公開されていても再利用できなければ、それはオープンソースではありません。オープンソースの普及団体である「The Open Source Initiative」(OSI) では、OSS のライセンスが備えるべき条件について、「オープンソースの定義」(The Open Source Definition) で定めています。
(C) 2011-2013 Yutaka Kachi, some rights reserverd.

OSS は、必ず無料で配布しなければならない?

OSS は、無料で配布しても良いし、有料で販売しても構いません。サポートや手数料を取ることもできます。販売相手は、入手したソースコードを自由に複製・配布・修正できます。

実際、オープンソースを入手する方法には、無料と有料の両方がありますよね。たとえば、Linux はインターネットで無料でダウンロードすることもできますし、Red Hat の「Red Hat Enterprise Linux」をサポート付き製品として有料で購入することもできます。
(C) 2011-2013 Yutaka Kachi, some rights reserverd.

OSS は、すべてボランティアが開発している?

これは、ボランティアとは何かというイメージと関係しています。OSS の開発は、いくつかのパターンがあります。単なる個人プロジェクトもあれば、企業や団体が、自分たちの成果をそのままオープンソースとして公開している場合もあります。

また、開かれたプロジェクトでは、個人と企業の参加者が混ざっている場合もあります。企業から参加している人は、給料をもらいながら、仕事の一部としてオープンソースに関わっているのです。

あなたはボランティアというと、どのようなイメージを思い浮かべるでしょうか。被災地に出かけて片づけ仕事を手伝う人たちの姿でしょうか。赤い羽根共同募金とかで「よろしくお願いしまーす!」と大きな声を張り上げている姿でしょうか。

広辞苑で”ボランティア”という言葉を引いてみると「自ら進んで社会事業などに無償で参加する人」と説明してあります。この一文の”社会事業に無償で参加する人”というのが、一般的なボランティアについてのイメージではないでしょうか。

オープンソースのボランティアというのは、”社会事業に無償”というより、”自ら進んで、見返りを求めることなく活動する”という面が強くなっていると思います。
(C) 2011-2013 Yutaka Kachi, some rights reserverd.

OSS の改良版は、必ず OSS にしなければならない?

OSS の改良版は、必ず OSS になるとは限りません。確かに「GPL」(後述) のように、”
必ず、○○○○しなければならない”という条件を持っているオープンソースライセンス
もあります。一方、「修正 BSD ライセンス」では、改良版のライセンスを自由に変更でき
ます。
前述の「オープンソースの定義」では、”OSS の改良版を OSS にしてもいい”(改良版
を OSS にすることを許可する) としており、”絶対に”とは書いてありません。
(C) 2011-2013 Yutaka Kachi, some rights reserverd.

OSSの特徴のまとめ

オープンソースの特徴を書き直してみると、次のようになります。

  • OSS は、ソースコードを公開するだけでなく、一定の条件のもとで誰でも自由に
  • 利用できる。その条件は、オープンソースの定義に従っている。
  • OSS は、無料でも有料でも配布できる。
  • OSS の開発には、個人や企業の社員などが参加している。
  • OSS の改良版は、オープンソースにしなくても良い場合がある。

何だか微妙であいまいです。そこで、あらためてオープンソースとは何か、筆者なりに整理すると、次のようになります。

オープンソースソフトウェアとは、ソースコードを公開して、一定の条件のもとで誰でも自由に利用できるソフトウェア。その条件は、オープンソースの定義に従っている。

とりあえずは、これだけ。先ほど整理した特徴リストの 1 番目と、ほぼ同じです。無料なのか有料なのか、ここには出てきません。どのような立場の人が開発しているかも、関係ありません。

OSS の改良版を OSS にしなくてはならないと限定もされていません。
オープンソースの決め手は、「誰でも自由に利用できる」という利用条件にあります。どのように利用できるかは、各 OSS の利用許可で決められています。
(C) 2011-2013 Yutaka Kachi, some rights reserverd.

OSSのライセンスとは?

OSS (Open Source Software) のライセンスとは、OSS のソフトウェアを使用、再配布、改変することに関する法的制限を定めたものです。OSS のライセンスは、OSS のコミュニティによって作成され、修正されることがあります。

OSS のライセンスの目的は、OSS のソフトウェアを開発、利用することができる環境を整えることです。また、OSS のソフトウェアを使用する上での著作権者の権利や使用者の義務を明確にすることも目的となります。

代表的な OSS のライセンスには、GPL (GNU General Public License)、MIT ライセンス、Apache ライセンスなどがあります。これらのライセンスによっては、OSS のソフトウェアを再配布する際に、ソースコードの公開や同等のライセンスの採用が義務付けられることもあります。

OSS のライセンスを選択する際には、利用目的や利用上の条件などに合った適切なライセンスを選択することが重要です。また、ライセンスの適用範囲や条件に関しては法律専門家に相談することも推奨されます。

代表的なOSSライセンス

オープンソースライセンスは、数多く存在しますが、一部の代表的なものを以下に示します。

  1. MITライセンス: 簡潔かつ広い範囲での利用が可能なライセンスです。
  2. Apacheライセンス 2.0: 世界中で広く使用されているオープンソースライセンスです。
  3. GPLv3: フリーソフトウェアの保護に特化したライセンスです。
  4. BSDライセンス: ソフトウェアの再配布や改変を許可するライセンスです。
  5. Mozilla Public License 2.0: ウェブ関連の技術に特化したライセンスです。

これらはあくまで一例であり、適切なライセンスの選択は、特定のソフトウェアやプロジェクトの目的や利用方法に応じて異なります。詳細な情報は各ライセンスのサイトや専門家に問い合わせることをお勧めします。

一部の文章に「知る、読む、使う! オープンソースライセンス」より抜粋した所があります。
(C) 2011-2013 Yutaka Kachi, some rights reserverd.