ソースアベイラブル
ソフトウェア(source-available software)は、その名の通り、
ソースコードが一般に公開され、閲覧可能な状態にある
ソフトウェアのことです。このタイプの
ソフトウェアでは、ユーザーはプログラムの内部構造を理解し、場合によっては修正を加えることも可能です。しかし、ここで重要なのは、
ソースコードが公開されているからといって、必ずしもオープンソースソフトウェア(open source software)と同義ではないということです。
オープンソースとの違い
オープンソースソフトウェアは、
ソースコードの公開だけでなく、その利用、修正、配布に関する自由が保証されている必要があります。具体的には、オープンソース・イニシアティブ(OSI)によって定義された10項目の
オープンソースの定義を満たす必要があります。これらの定義には、無償での再配布、
ソースコードの利用、改変、派生物の作成などが含まれています。
一方、ソースアベイラブル
ソフトウェアは、
ソースコードは公開されているものの、その利用や改変に制限が加えられている場合があります。例えば、以下のようなケースが考えられます。
商用利用の制限:
ソースコードの閲覧や個人的な利用は許可されているものの、商用目的での利用には制限やライセンス料が発生する場合。
改変の制限:
ソースコードの改変は許可されているものの、その改変結果を再配布することが禁止されている場合。
非営利目的での利用制限: 非営利目的での利用は許可されているものの、営利目的での利用には制限がある場合。
これらの制限により、ソースアベイラブル
ソフトウェアは
オープンソースソフトウェアとは区別されます。
ソースアベイラブル
ソフトウェアの具体例としては、以下のようなものがあげられます。
Red Hat Enterprise Linux (RHEL): Red Hat社が提供するエンタープライズ向けの
Linuxディストリビューションです。RHELの
ソースコードは公開されていますが、商用利用にはRed Hat社のサブスクリプションが必要となります。
MongoDB: 人気のNoSQLデータベースです。コミュニティ版の
ソースコードは公開されていますが、エンタープライズ版には独自のライセンスが付与されており、利用条件が異なります。
Vagrant: 仮想環境の構築を支援するツールです。
ソースコードは公開されていますが、特定の利用条件が設定されています。
クリエイティブ・コモンズ・ライセンスの中には、非営利(NC)や改変禁止(ND)の条項を含むものがあります。これらの条項が適用されたライセンスで公開された
ソフトウェアは、
ソースコードが公開されていても、オープンソースとはみなされません。これは、非営利条項が商用利用を制限し、改変禁止条項が修正や派生物の作成を制限するためです。このような場合、その
ソフトウェアはソースアベイラブル
ソフトウェアに分類されます。
ソースアベイラブルソフトウェアのメリットとデメリット
メリット
透明性:
ソフトウェアの内部構造を理解し、セキュリティ上の脆弱性やバグを早期に発見できる可能性があります。
学習機会: プログラミングの学習者にとって、他者の書いたコードを読むことは、技術力を向上させる上で非常に役立ちます。
柔軟性: 場合によっては、特定の用途に合わせてコードをカスタマイズできます。
デメリット
利用制限:
オープンソースソフトウェアに比べて、利用や改変に制限があるため、自由度が低い場合があります。
*
ライセンスの複雑さ: ライセンスの種類によっては、利用条件を理解することが難しい場合があります。
まとめ
ソースアベイラブル
ソフトウェアは、
ソースコードが公開されているという点で、
オープンソースソフトウェアと共通する部分がありますが、利用や改変に関する制限の有無が大きな違いとなります。
ソフトウェアを利用する際には、ライセンスの内容をよく理解し、自分の目的に合った
ソフトウェアを選択することが重要です。関連用語として、自由
ソフトウェア、プロプライエタリ
ソフトウェア、
シェアードソースなどを合わせて理解することで、
ソフトウェアのライセンス形態についての知識を深めることができます。