OSS(オープンソースソフトウェア)とは
オープンソースソフトウェア(Open Source Software. 以下OSSと表記)とは、利用者の目的を問わず、ソースコードの利用・改変・再配布などが自由に認められているソフトウェアの総称です。OSSとは逆に、ソースコードが公開されていない、あるいは再配布に制限があるソフトウェアは「プロプライエタリソフトウェア」と呼ばれます。
代表的なOSS
OS
・Linux
歴史的経緯からプロプライエタリソフトウェアになった「Unix」に対して「UNIXライクな」ものを目指したオープンソースOS(およびカーネル)です。
・Android
Googleが開発した携帯端末向けOSです。
開発言語
・PHP
・Perl
・Java
・Python
データベース
・MySQL
※商用にプロプライエタリライセンス版もあります。
・MariaDB
MySQLからフォーク(派生)したデータベース。
CMS
・WordPress
おそらく現在最も広く利用されているCMS
サーバーソフトウェア
・Apache HTTP Server
ウェブサーバー
・BIND
DNSサーバー
・Postfix
メールサーバー
デスクトップアプリ
・Google Chrome
Googleが開発したWebブラウザ
・Mozilla Firefox
Mozilla Foundation/ Mozilla Corporation開発のWebブラウザ。
・Mozilla Thunderbird
Mozilla Foundation/ Mozilla Corporation開発の電子メールクライアント
・FFFTP
FTPクライアント。2011年に原作者による開発が終了すると同時に、ソースコードが公開され、以後、有志によるOSSとして公開されている。
・LAMP
これは、単一のOSSでなく、以下に挙げる複数のOSS
OS : Linux
Webサーバー : Apache
データベース : MySQLまたはMariaDB
プログラム言語 : PHP/Perl/Python
を組み合わせた、動的なWebサイトの構築環境を指す言葉です。
OSSの定義
オープンソース・イニシアティブ(OSI)により、オープンソースを名乗るソフトウェアが満たすべき条件は以下のように定義されています。
- 自由な再配布ができること
- ソースコードが無償で入手できること
- 派生ソフトウェアの配布を許可すること
- 作者のソースコードの完全性(ソースコードのどの部分が、作者オリジナルのコードかわかるようにすること)
- 個人やグループを差別しないこと
- 利用する分野を差別しないこと(例:兵器への利用を禁じてはいけない)
- ライセンスの権利配分(プログラムに付随する権利はすべての再頒布者に平等に与えられること)
- 特定製品に限定したライセンスにしない
- 他のソフトウェアを制限するライセンスにしない
- ライセンスは技術中立的であること
OSSとフリーウェアとの違い
フリーウェア(フリーソフト/フリーソフトウェア)は、元々は「自由なソフトウェア」という意味で、OSSに (厳密には違うものの)類似した概念でしたが、今日では単に無料(=フリー)で配布されているソフトウェアを指す場合があります。
無料ソフトウェアであっても、ソースコードの公開・再配布は行われないケースも多々あります。
OSSのライセンス
OSSのライセンスには複数の種類があります。代表的なライセンスに以下が挙げられます。
・GPL(GNU General Public License)
・BSD(Berkeley Software Distribution)
・MIT License
・Apache License
ほとんどのライセンスに共通しているのは
・自己責任で利用できる
・商用利用できる
・修正・再配布できる
であり、違いがあるのは、おおむね「このOSSから派生ソフトウェアを作成して配布したり、ネットワークを介して利用させたりした場合、そのソフトウェアにもソースコードの公開を義務付けるか」についてです。
例えばあるOSSを使ったソフトウェアを作成し、クライアントに納品した場合、元となるOSSのライセンスによっては、クライアントが求めるならば、そのソースコードを(一部または全部)開示しなければならない、ということがあり得ます
これらについては条件や例外が細かく定められているため、OSSの派生ソフトウェアを作成して配布することを想定している場合、元となるOSSのライセンスを熟読ください。