オープンソースソフトウェアとは、プロプライエタリ・ソフトウェアとは異なり、ソースコードが公開されており、閲覧者が自由に改変や配布が可能なソフトウェアのこと。
ソースコードとはつまりそのソフトウェアの「設計図」。設計図が公開されているということは、それを見た他人が自由に、真似して作ったり改良してソフトウェアを作り直すことができるということ。オープンソースソフトウェアの代表的な例が、「Linux」です。
※本ページにはPRが含まれます。
目次
なぜソースを公開するのか?
ソフトウェアとは本来開発者本人の持つ著作物。多くの場合、外に漏らすことはありません。どうして、一部のソフトウェアは外部に公開して、自由に改良できるよう設定されているのか。
その理由を調べてみることにしましょう。
世界中のエンジニアに改良してもらう
オープンソースソフトウェアを開発した会社を、A社とします。
AB社は当然、自社のソフトウェアを改良、改善していきたいと思っています。自社の努力のみでソフトウェアを改良できるれば、それに越したことは無いのですが、そこには大きなコスト、多くの時間がかかってしまいます。
しかし、オープンソースソフトウェアならその心配がありません。公開されたソフトウェアを見たエンジニアが、自分の力のみでソフトウェアを改良します。あらゆるエンジニアが改良を行うので、A社は自社の努力なしで、あらゆるパターンの改良を行うことができるのです。
改良コストと時間を減らすことができる
上で述べた事柄と似ているのですが、改良コストを減らすことができるのは大きなメリットです。
Linuxなんかでは、ソフトウェアの改良を行った場合改良データの情報開示を求められます。
オープンソースソフトウェアを利用するメリット
続いて、オープンソースソフトウェアを利用する、利用者側のメリットを見ていきましょう。
コスト削減
多くのオープンソースソフトウェアは、利用者に無償配布されています。Linux、FreeSAD等のOSが無料配布されており、Apacheなどのサーバーも無料でダウンロードが可能です。
追加料金なども一切かからないため、利用者にとってこの「コストがかからない」のはかなり大きなメリットです。
ソフトウェアへの安心感
ソースが公開されているということは、ソースコード内の脆弱性などを発見しやすいということで、「ソフトウェアへの信頼性・安全性」が高まるのも大きなメリットです。
自分の好きなタイミングでメンテナンスできるというメリットも忘れてはいけません。
ソフトウェアの柔軟性・拡張性
オープンソースソフトウェアはプラグイン開発も容易なので、「ソフトウェアの拡張性、柔軟性が高い」のは大きなメリットです。信頼感を持ってソフトウェアと接することができるか、それは、エンジニアにとって大きなファクターなのです。
オープンソースソフトウェアのライセンス
オープンソースソフトウェアは、実行社が自由に書き換えて世間に再配布も可能なソフトウェア。しかしまったく何のルールも課せられていないかというとそうでもありません。
「オープンソースライセンス」と呼ばれるライセンスに基づいて公開されるのが一般的です。非営利団体、「Open Source Initiative」略してOSIが定める、10か条ほどのライセンスに基づいてソフトウェアを公開することになります。
GPL
GPL系のソフトウェアは、利用者が自由に複製しても、改変しても怒られません。主に、LinuxなどがGPL系のソフトウェアに含まれます。
BSD
BSDはオープンソースソフトウェアのライセンスの中でも、制限が少なく緩いライセンスだと言われています。BSDライセンスを他のプログラムに組み込むことができますし、再配布時のライセンス条件にも制限を受けません。
MPL
Firefoxなどが含まれるMPL系ライセンス。BSDと基本概念はほとんど同じですが、再配布時にMPLライセンスにのっとって公開する必要があります。
フリーウェアと何が違う?
オープンソースソフトウェアと似たものに「フリーウェア」がありますが、オープンソースソフトウェアとフリーウェアは何が違うのか、そこを考えていきましょう。
やはり一番違うのは、「ソースコードが公開されていないことが多い」ことでしょうか。また、ソースコードが公開されていたとしても再配布が禁止されていることも多く、オープンソースソフトウェアと比べ自由度が低いという弱点があります。
まとめ
オープンソースソフトウェアとは、無料でソースコードが公開されており、改良や再配布が自由なソフトウェア。
利用者がソフトウェアを導入する際のコストダウン、ソフトウェア開発者のソフトウェア改良におけるコストダウンも狙うことができます。
オープンソースソフトウェアを利用する歳、再配布する際には、オープンソースライセンスに気をつけておいてください。