あなたが普段何気なく使っているパソコンやスマホですが、様々なソフトウェアが頑張ってくれています。
ソフトウェアという言葉はとても広い種類があるのですが、その中で「OSS」と呼ばれる大きなカテゴリがあります。
今回はそのOSSに関して、詳しく解説していきます!
OSSとは?
OSS(Open Source Software:オープンソースソフトウェア)とは、「ソースコードが公開されており、誰でも自由に改変、再配布が可能なソフトウェアのこと」です。
もうちょっと別の視点で言うと「低コストで高品質な開発をみんなで行うことができるソフトウェア」といった感じでしょうか。
OSSのお陰でソフトウェアの発展に繋がっていることは確かですね。
代表的なOSS
ソフトウェアと言えばOSやミドルウェアが思い浮かぶかと思いますが、WindowsやMacOSはOSSでないです。では、OSSと言えばどんなものがあるのでしょうか?
いくつか挙げてみましょう。
- Linux:UNIX系OS。様々なディストリビューション(パッケージ)がある
- PHP:プログラム言語。Perl,Python,Rubyなど様々ある
- Apache:Webサーバを提供する。Nginxも有名
- Postfix:メールサーバを提供する
- BIND:DNSサービスを提供する
- MySQL:データベースサービス(RDBMS)を提供する。PostgreSQLも有名
バリバリ、現在のコンピュータやシステムで使われているソフトウェアであることが分かるかと思います。
OSSの定義
さて、ここまでで、OSSが何であるか掴めてきたと思いますが、OSSを正しく理解するために、OSS定義に関して理解しましょう。
オープンソースを推進するOSI(Open Source Initiative)という団体があり、ここでオープンソースライセンスの条件として、以下の10の定義を挙げてます。
ここで、大事な言葉として「頒布(はんぷ)」が出てきます。配布ではなく、頒布です。
配布は無料で配ることですが、頒布は有料で配ることもある、ということで、この言葉からもOSSは「無料とは限らない」ということが分かると思います。
- 自由に再頒布できること(有料で販売する場合も含む)
- ソースコードを公開すること
- 派生物の作成と、それを同じライセンスで頒布することを許可すること
- 基本ソースとパッチ(差分情報)というかたちで頒布することを義務づけてもかまわない
- 個人やグループに対する差別をしないこと
- 利用する分野に対する差別をしないこと
- ライセンス分配に追加ライセンスを必要としないこと
- 特定製品でのみ有効なライセンスにしないこと
- 他のソフトウェアを制限するライセンスにしないこと
- ライセンスは技術的な中立を保つこと
OSSのライセンスの種類
OSSのライセンスには多様な形態があります。
その形態の中からどのライセンスを採用するかをOSSの原作者が自由に決めることができます。
では、その形態を見てみましょう!
①コピーレフト
著作権を保持したまま、二次的著作物も含めて、すべての人が著作物を利用・改変・再頒布できなければならないという考え方
②デュアルライセンス
一つのソフトウェアを異なる2種類以上のライセンスで配布する形態。利用者は、そのうちの一つのライセンスを選ぶ
③GPL(General Public License)
OSSのライセンス体系の一つで、コピーレフトの考え方に基づく。GPLのソフトを再配布する場合にはGPLライセンスを踏襲する必要がある
④BSD(Berkeley Software Distribution)ライセンス
OSSのライセンス体系の一つで、GPLに比べて制限の少ないライセンス。無保証であることの明記と、著作権およびライセンス条文を表示する以外は自由である
GPLという言葉もたまに出てきますので、覚えておきましょう。
OSS以外の種類は?
では、OSS以外のソフトウェアの種類は何があるのでしょうか?
ポイントは「著作権の有無」、「有料 or 無料」といったところになるかと思います。
シェアウェアやパブリックドメインソフトウェア、といった言葉があるのですが、簡単に図にまとめてみました。
WindowsやOracleのデータベース、Adobeのソフトなどのようにソースコード、仕様、規格、構造などが公開されていない状態でいかにも有料なものを「プロプライエタリ(独占的な)」と呼びますが、定義が難しいですね。
まとめ
今回はソフトウェアの形態であるOSSに関して解説しました。
- OSSとはソースコードが公開されており、誰でも自由に改変、再配布が可能なソフトウェアのこと
- 無料とは限らず有料のものもある
- 10の定義がある
- いくつかのライセンス形態がある
- シェアウェアやパブリックドメインソフトウェアなどの種類と比較できる
OSSは私たちが使うコンピュータやシステムにおいて非常に役に立っているソフトウェアで、導入において低コストであることもメリットですね。
ただ、サポートや品質の担保は弱いので、用途によって有料のソフトウェアとの使い分けが必要ですね。
ソフトウェアの利用は見極めが肝心ですね。
ちなみにソフトウェアの販売者と購入者の間で取り交わされるEULA(使用許諾契約書)という言葉もOSS勉強しているとたまに出てきますね。
以上です!