1. ホーム
  2. コース一覧
  3. LinuC Level1 v10.0 対策コース(パート2)
  4. オープンソースの特徴と定義

LinuC Level1 v10.0 対策コース(パート2)28/29

オープンソースの特徴と定義

こちらの記事ではオープンソースの特徴と定義について解説します。

オープンソースとは

ソフトウェアの「ソースコード」を公開し、かつ自由な複製、改良、再配布を許容しようという概念です。

OSSとは

OSS(オープンソースソフトウェア)とは、Open-Source Softwareの略で、ソースコードが誰でも自由に複製、改良、再配布が可能なソフトウェアのことを指します。 「オープンソース」はあくまで概念であり、実際にその概念に基づいて提供されているソフトウェアを「OSS」と呼びます。

オープンソースの定義とは

「オープンソース」の定義は、米国の公益法人であるOpen Source Initiative (OSI)によって、Open Source Definition(オープンソースの定義)という文書にまとめられ、大きく10項目に分けて説明されています。簡単にオープンソースの定義10項目を紹介しますが、詳しくは公式ページをご覧ください。

  1. 再分布の自由
  2. ソースコード
  3. 派生ソフトウェア
  4. 作者のソースコードの完全性
  5. 個人やグループに対する差別の禁止
  6. 利用する分野に対する差別の禁止
  7. ライセンスの分配
  8. 特定製品でのみ有効なライセンスの禁止
  9. 他のソフトウェアを制限するライセンスの禁止
  10. ライセンスは技術的中立でなければならない

オープンソースの特徴

これまでオープンソースの説明で、「誰でも自由に複製、改良、再配布ができる」と説明しましたが、注意すべき点もあるのでご紹介します。

著作権の所在

誰でも自由に複製、改良、再配布ができますが、著作権を明言して放棄していない限り 著作権は放棄されていない ことを留意しておきましょう。

免責条項

多くのOSSライセンスは 「著作権者は、対象ソフトウェアの動作に対して保証せず、発生した結果について一切の責任を負わない」とする免責条項を設けています。利用者がOSSを利用する際、万が一予期せぬトラブルに見舞われたり、損害が発生しても、著作者は一切の責任を負わないということを理解しておく必要があります。

例えば、OSSはソースコードが公開されているため、脆弱性が見つかることがあります。しかし著作者には脆弱性の修正や不具合の更新などの義務はありません。また、脆弱なOSSが狙われ個人情報の漏えい事故が発生した際も、責任は利用者にあります。

ライセンスの種類

OSSには多くのライセンスが存在しており、大きく3つのグループに分けられます。

コピーレフト型

コピーレフト型のライセンスで提供されているOSSを利用した場合、元のOSSと同じ条件で配布する必要があります。第三者がソースコード(改良後のソースコードも含める)を入手できるよう公開されていなければならず、ソフトウェアの一部を使用して開発されたソフトウェアも当該ソフトウェアの派生とみなすなど、最も制約が厳しいライセンス条件です。

代表的なライセンス形態

ライセンス名商用利用著作者による保証著作権・ライセンス表示特徴
GPL Free Software Foundationが制定したライセンス。「コピーレフト型」でも、よく普及しているライセンスです。
AGPLGPL をベースにしつつ、ネットワーク経由での利用についての条件が追加されている点が特徴です。

準コピーレフト型

コピーレフト型よりも制約が緩いライセンスです。ソースコードを再利用した場合のみ、元のOSSと同じ条件で配布する必要があります。ライブラリとしての利用やネットワーク経由での利用はコピーレフトの対象となりません。

代表的なライセンス形態

ライセンス名商用利用著作者による保証著作権・ライセンス表示特徴
LGPLGPL をベースに、GPLのコピーレフト性を少し弱めたライセンスです。

非コピーレフト型

OSSを利用した際は、元のOSSと同じ条件で配布する必要はありません。 ただし、再配布の際には元のライセンス本文、著作権表示、免責条項を含める必要があります。

代表的なライセンス形態

ライセンス名商用利用著作者による保証著作権・ライセンス表示特徴
MIT Licenseマサチューセッツ工科大学で作成されたライセンスです。
Apache LicenseApache Software Foundationで作成されたライセンスです。
BSDカリフォルニア大学バークリー校で作成されたライセンスです。

各ライセンスによって細かな条件が異なりますので、それらを理解した上でOSSを活用してください。

まとめ

オープンソースの特徴と定義について解説しました。 オープンソースという概念を把握し、ライセンス違反を避けるためにOSSライセンスを理解した上で利用しましょう。

記事の内容は理解できましたか?