オープンソースソフトウェア (OSS)

オープンソースソフトウェア(OSS)とは

オープンソースソフトウェア(OSS)とは、ソースコードが公開され、ライセンスに記載の一定の条件のもとで誰でも自由に利用できるソフトウェアのこと。

OSSの定義

OSSライセンスが持つべき10つの条項がOpen Source Initiativeという機関で定められている。
OSSの定義:英語版】【日本語版

(1) 頒布の自由

  • 再頒布時に無料か有料で販売するかは利用者の自由とすること
  • 利用者が販売する際に、開発者は報酬や印税を要求してはならない
:ソフトウェアを第三者へ提供すること
:誰かが頒布したそソフトウェアを入手し、別の場所で頒布すること
 

(2) ソースコード

  • OSS利用者がソースコードを入手できるようにすこと
 

(3) 派生ソフトウェア

  • 派生ソフトウェア(他のソフトウェアを引用や改変して作られたソフトウェア)の作成を許可すること
  • 派生ソフトウェアを元と同じライセンスで配布することを許可すること
 

(4) 作者のソースコードの完全性

  • OSS名やバージョンの変更を認めても良い
  • 「元のソースコード + 修正パッチ」の形式で再頒布を認める場合、元のOSSを変更して再頒布することを禁止しても良い。

(5) 個人やグループに対する差別の禁止

  • 特定の個人やグループに対する差別はしないこと

(6) 利用する分野に対する差別の禁止

  • 利用する分野を制限しないこと

(7) ライセンスの配分

  • 元のOSSを変更を加えずそのまま頒布する場合、ライセンスの変更や追加を禁止する

(8) 特定製品でのみ有効なライセンスの禁止

  • 他のソフトウェアの一部となっても、OSSライセンスは有効であること

(9) 他のソフトウェアを制限するライセンスの禁止

  • 一緒に頒布するソフトウェアに関して制限しないこと

(10) ライセンスは技術中立的でなければならない

  • どんな環境の利用者でも、ライセンスの内容に同意を示せること

OSSの特徴と利点

クローズドソース・ソフトウェアと比較したOSSの特徴

※ クローズドソース・ソフトウェア:ソースコードが非公開のソフトウェアのこと。
OSSクローズドソース・ソフトウェア
開発手法ボトムアップ開発(バザール式)トップダウン開発(伽藍式)
リリース早めに頻繁にリリースある程度まとまった形になってから外部公開
バグに対する考え方バグは利用者の誰かが発見してくれる 都度直せば良いものバグはあってはならない 人員と時間を掛けて排除すべき
開発者興味のある人(利用者)が自発的に開発にも参加特定メンバーのみで開発
人員追加時自発的な参加によるコストの抑制コミュニケーションの手間・人員コストが増え、開発効率はあまり上がらない

OSSを利用する利点

OSS利用者のとっての利点
  • ライセンスコストの削減
  • 特定ベンダーによる技術独占がなく、適正価格でサポートが受けられる
  • サポートが打ち切られた場合も他者がサポート継続可能
 
OSS開発者にとっての利点
  • OSSコミュニティ内の方から技術を学べる
  • 自分の技術を宣伝できる
  • OSSコミュニティを促進させ、自身もより安心してそのOSSを利用可能になる

OSSライセンス

OSSライセンスの概要と分類

通常、著作権者の許可無しに著作物を複製・改変・配布すると、著作権利違反となる。
OSSライセンスとは、OSSを著作権者の許可無しに利用できる条件を明記したもの。
 
OSSライセンスは、コピーレフトの対象(派生ソフトウェア)と見なす範囲の違いによって主に3分類される。
  •  :ソースコードの公開が必要
  • :改変部分のソースコードの公開が必要
  • :ソースコードの公開が不要
 

コピーレフトとは

コピーレフトとは、派生ソフトウェアは元のソフトウェアと同じライセンスで公開するという制限。
ライセンスに追加で制限を加えることを禁止する制限。
コピーレフト ・著作権者の権利:制限 🚫 ・利用者の自由 :保証 ✅
コピーライト ・著作権者の権利:保証 ✅ ・利用者の自由 :制限 🚫

主なOSSライセンス一覧