※当サイトではアフィリエイト広告を利用しています
「オープンソース」という言葉を聞いて、すぐに説明ができますか?
分かるようで分からない、しかも次々と登場していくIT用語。
新入社員や文系出身者、勉強し始めたばかり!という方にも分かりやすいようにまとめました。
これで「オープンソース?聞いたことはあるけどよく知らない」から卒業しましょう!
今回は、オープンソースについて解説したいと思います。
目次
オープンオースとは
ソフトウェアの製作者が著作権を保持したままソースコードを無償で公開し、誰でも改良や再頒布が行える自由を認める概念の事を言います。
オープンソースソフトウェア(OSS)
オープンソースの概念に基づき開発・公開されたソフトウェアを「オープンソースソフトウェア:Open Source Software(OSS)」と言います。
代表的なOSSには、OSであるLinux、RDBMSのMySQL、プログラミング言語のJavaやPython、WebブラウザのFirefoxなどがあります。
プロプライエタリソフトウェア
OSSとは反対に、ソースコードへのアクセスや改変が制限されているソフトウェアを「プロプライエタリソフトウェア」といいます。
一般的にソフトウェアのソースコードは知的財産となるため、ライセンス料を徴収して販売されています。
多くの商用ソフトウェアは、プロプライエタリソフトウェアのため、ソースコードの改変はできません。
OSSの10個の定義
OSSの定義は以下の10項目が定められおり、これらに準拠したライセンスを持つソフトウェアがOSSとして認定されます。
- 再配布を自由に認めること
- ソースコードを無償で配布すること
- 派生ソフトウェアの配布を許可すること
- ソースコードのどの部分が、作者オリジナルのコードかわかるようにすること(作者コードの完全性)
- 個人やグループに対する差別をしないこと
- 使用分野に対する差別をしないこと
- プログラムに付随する権利はすべての再頒布者に平等に与えられること(ライセンスの分配)
- 特定の製品だけに限定したライセンスにしないこと
- 他のソフトウェアを制限するライセンスにしないこと
- ライセンスは技術的に中立であること
OSSを利用するメリット
信頼性がある
ソースコードが公開されていることにより、不正なプログラムや脆弱性などを常に確認できるため、信頼性があります。
また、脆弱性が発見されても、プログラマなら誰でも修正できる環境にあるため、修正が早いのが特徴です。
安定性が高い
プロプライエタリソフトウェアではサポート打ち切りなどによるアップ グレードを余儀なくされますが、ソースコードが公開されているOSSではメンテナンスを継続する事ができます。
監査が可能
公開されないソースコードではどのようなプログラムが動作をしているのか監査をする事はできません。
それにバグ・脆弱性があったとしても開発したベンダーでしか確認及び修正を行う事ができません。
OSSの場合は第三者機関に監査を依頼するなど様々な選択を行うことができます。
コスト削減が可能
OSSはライセンス費用が無償なので、統合的なコスト削減が期待できます。
初期費用だけでなく、導入後のライセンス管理や定期的なリプレース費用なども削減できるため、コスト削減効果は大きなメリットとなります。
使用時の注意点
ライセンスに準拠する必要がある
OSSを導入する際は、対象となるライセンス形態を確認することが重要です。
OSSは、ソフトウェアごとに個別にライセンスが宣言されています。
利用する際には、ライセンスに準拠した利用が求められるため、使用する前には必ずOSSのライセンスを確認しましょう。
ひと言でライセンスと言ってもその形態はさまざまで、70種類以上あるともいわれています。
例えば、
- ソフトウェアを再配布する際に、ソースコードの公開を義務付けるかどうか
- ソースコードの変更を行った旨を示すかどうか
などソフトウェアによって違いがあります。
ライセンスの中には、「研究目的なら無償、商用利用であれば有償」という形で使用目的を限定するものもあります。
ライセンス内容を把握して準拠しているかどうか確認を行うことが重要です。
「無償=OSS」ではない
OSSは無償で公開されていますが、無償で入手できるすべてのソフトウェアがOSSというわけではなく、特に「OSS」と明示されていない限りOSSではありません。
OSSでなければ、無償であっても自由に改変や再配布することはできないため、利用する際は十分に注意しましょう。
派生物もOSSとなる
OSSを改良・再配布した二次的著作物を「派生物」と呼びます。
OSSのライセンス形態の中で特に注意しなくてはいけないのが、「コピーレフト型」と呼ばれるライセンスです。
コピーレフトとは、「著作権は保持しつつも、二次的な著作物も含めて、すべての人が利用、改変、再配布できるべきである」という考え方を表す言葉です。
代表的なコピーレフト型ライセンスとしては、GPL、LGPL 、CPLなどが知られています。
コピーレフト型のOSSライセンスでは、「改良・再配布された派生物も元の著作物と同じ条件で配布しなければならない」とされています。
例えば、ある開発者がOSSを元にソフトウェアを改良した場合でも、自由にほかのライセンスや条件に変えることはできません。
また、コピーレフト型ライセンスを持つOSSを改変した場合には、ソースコードを公開することが義務付けられています。