始めに
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のライセンスルールに準拠できているか等の確認はなかなか大変そうです。少しずつ理解を進めていきたいと思いました。
最後までご覧いただき、ありがとうございました。
コメント