こんにちは。テスト終わって解放されたnakasyouです。 今回は、「オープンソース」について解説したいと思います。
前提知識
コンピューターのソフトは、プログラムで動いています。 プログラムを作るのは、時間がかかります。 プログラムには、著作権で保護がかかります。
オープンソース?何それ美味しいの?
一般的のプログラムは、公開されていません。 企業独自で開発したり、独占使用したりしています。 プログラムを有料で買ったり、プログラムから作られたソフトを買ったり、もらったりします。
そのような、価値のあるプログラムを、無料で、誰でも見られる状態にする考え方は、オープンソースの考え方です。 「オープンソース」とは、そのような考え方のもとで、公開されているプログラムのことです。
「オープン」は、公開された、「ソース」は、素になるものという意味があります。
オープンソースって開発者にとって不利じゃん
理由は次の通りかもしれません。
- 売れるプログラムを無料で見れるようにしたら、儲からないし、時間の無駄
- みんながそのプログラムを見て、真似するかもしれない
しかし、それ以上のメリットがある場合があるのです。
バグや脆弱性が見つかりやすい
プログラムが公開されているので、一般の人がバグや脆弱性を報告することが容易になります。
そのプログラムの質が良くなります。
安心されることができる
プログラムを公開すると、ウイルスが仕組まれてることがすぐにわかります。 企業にデータを送っていることもバレます。
そのため、オープンソースのソフトウェアは、安心されることができるのです。
みんなの力を借りられる
オープンソースのプロジェクトの一部は、一般人にコードを書いてもらうのを許可しているものがあります。
オープンソースのプロジェクトの開発が捗ったりするのです。
このような、オープンソースのメリットがあります。
「オープンソースライセンス」について
オープンソースにして、プログラムを公開するからといって、プログラムの著作権が守られないことはありません。
一般的な著作権は、作ったものの使用を禁止することが多いです。
しかし、オープンソースのプロジェクトのほとんどが、著作権を緩くしているのです。 著作権の条文を作るのは大変です。あらかじめ誰かが作った、オープンソースのための著作権の条文を、「オープンソースライセンス」と言います。
以下に、オープンソースライセンスの例をあげます。
MIT LICENSE
MIT LICENSEは、世界でもっとも使われてると言われるライセンスです。1
また、MIT LICENSEは、比較的ゆるーいライセンスです。
こんな感じです。
内容 | ✅/❌ |
---|---|
出典を明記しない | ❌ |
再配布 | ✅ |
加工 | ✅ |
作者が責任を負う | ❌ |
商標利用 | ✅ |
加工して再配布した時に、ソースコード公開義務 | ❌ |
加工した作品にライセンスを受け継がせる義務 | ❌ |
GPL LICENSE
こんな感じです。
内容 | ✅/❌ |
---|---|
出典を明記しない | ❌ |
再配布 | ✅ |
加工 | ✅ |
作者が責任を負う | ❌ |
商標利用 | ✅ |
加工して再配布した時に、ソースコード公開義務 | ✅ |
加工した作品にライセンスを受け継がせる義務 | ✅ |
CC0 LICENSE
CC0は、「パブリックドメイン」という状態にするライセンスです。 「パブリックドメイン」とは、著作権を完全に放棄し、「何やってもいいよ」の状態です。 こんな感じです。
内容 | ✅/❌ |
---|---|
出典を明記しない | ✅ |
再配布 | ✅ |
加工 | ✅ |
作者が責任を負う | ❌ |
商標利用 | ✅ |
加工して再配布した時に、ソースコード公開義務 | ❌ |
加工した作品にライセンスを受け継がせる義務 | ❌ |
まとめ
「オープンソース」は、開発者や利用者のための仕組み!
免責事項
この記事による一切の責任について、nakasyou及びLiberlunaは負いません。 ライセンスについては、よく確認することを推奨します。
出典/注釈
Footnotes
-
世界で広く使われている、オープンソースの共有サービス、「GitHub」で最も使われている。 ↩