OSS(Open Source Software)雑記

IT雑記
この記事は約3分で読めます。
記事内に広告が含まれています。

始めに

OSS(Open Source Software)に関する雑記です。OSSに関する超初心者的なところを学んだつもりで書いていきます。

ほぼ備忘録ページです。適宜修正します。

OSSについて

OSSとは

OSSとはOpen Source Softwareの略称です。ソフトウェアの設計図にあたるソースコードが自由に利用できる状態(複製・改変・再配布)で公開されたソフトウェアです。

OSSは様々な製品に利用されています。スマホ、カーナビ、テレビ、Webシステム・・・。AWS等の仮想化技術にもOSS(KVM)が使われています。

OSSの目的

ソースコードが公開されるため、有志の開発者から追加開発・修正が行われます。これにより、継続的にソフトウェアの機能や品質を向上していくことが目的となります。

なお、開発や不具合報告の場のような集まりは「オープンソースコミュニティ」と呼ばれています。集まりの場はインターネット上で、OSSによって活発度は様々です。

オープンソースコミュニティの例

OSSのメリット・デメリット

メリット
  • ソースコードの入手による開発コスト低減。
  • 不具合発生時にソースコードを修正出来る。
  • ソースコードは消失しない。(企業でなない)
デメリット
  • 品質保証や損害補償がない。
  • サポート体制、日本語ドキュメントは不十分。
  • 開発停止がありえる。
  • ソースコード開示義務がある。(不要なライセンスもある)

OSSのライセンスの種類

OSSは著作物のため、OSSライセンスは守らないと著作権侵害になります。ただし「使用」であれば必ずしも守る必要はありません。

区分概要ライセンス
使用自分や社内で使う(公にしない)。特にない(改変もOK)。
利用複製・再配布・改変。
OSS活用製品の販売など。
ライセンスに許諾する必要がある。

OSSのライセンス種類について

ライセンス区分ソースコード開示の必要性ライセンス例OSSの例
コピーレフト型
(GPL類)
必要
・改変部分
・他ソースと組合せた場合は全体
AGPL
GPL
・・・
MongoDB
Linux Kernel
Redmine
MySQL
・・・
準コピーレフト型
(MPL類)
必要
・改変部分
LGPL
MPL
EPL
・・・
Cygwin
・・・
非コピーレフト型
(BSD類)
不要BSD License
MIT License
Apache 2.0 License
Python License
・・・
JQuery
Nginx
Jenkins
Apache http server
・・・
何れも複製・再頒布可能、改変可能は違いなし。

ライセンスは結構膨大な数があります。一番厳しいのはAGPLであって、Webシステムでのサービス提供であっても、ソースコードを全体公開する必要がある。(GPLは無条件公開ではなく、利用者に対して公開義務。)

表では大きく3区分に分けてますが、ライセンスによって内容が複雑です。ライセンス内容が後日更新されることもあります。利用する際は有識者や専門部門に確認しないと正直追いきれない気がします・・・。(後からライセンス違反になって急いでソースコードを公開したり、販売停止になることもあるようです)

(参考) フリーソフトは?

フリーウェアはOSSと異なり、商用利用が禁止されていたり、ソースコードが公開されていなかったりする場合があります。

  • ソースコードは非公開なことが多い。
  • 改変は認められていないことも多い。
  • 商用利用禁止のことも多い。

まとめ

OSSに関して、自分の理解を兼ねて、超基本的なところをまとめてみました。OSSを使うことで開発コストは低減できますが、OSSのライセンスルールに準拠できているか等の確認はなかなか大変そうです。少しずつ理解を進めていきたいと思いました。

最後までご覧いただき、ありがとうございました。

コメント

Top
タイトルとURLをコピーしました