見出し画像

オープンソースの教科書を読んだ

一昨日発売されたこの本を読んだ。改めてオープンソースって良いなぁと思ったので,さっとまとめてみる.

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

オープンソース(ソフトウェア)で世の中は溢れている.東京都新型コロナウイルス対策サイトも,接触確認アプリCOCOAも,オープンソースとなっている.iPhoneの中にもオープンソースは使われているし,機械学習の分野ならTensorFlowやPyTorchなどもオープンソースだ.もちろん,多くのプログラミング言語(Python, Java, etc)もオープンソースだ.Web開発をするにあたっても,データベース(MySQL, PostgreSQL, etc)やフロントエンドのフレームワーク(Vue.js, React, etc)など,オープンソースをたくさん利用しているはずだ.そして欠かせないのはやはりLinuxだろう.オープンソースの火付け役として,歴史や広まったわけなども本書では紹介されている.

オープンソースへの貢献

オープンソースへの貢献は機能開発だけではない.見つけたバグをイシューをとして発行したり,何かを提案するだけでも良いと思う.API等のドキュメント化や英語ドキュメントの翻訳も立派な貢献だ.貢献をするには,GitHubでforkしてcloneして〜〜ということに加え,コミュニティがあるなら積極的に参加するのも大切だ.GitHubのREADME.mdにContributionsのセクションがあればまずはそれを読もう.

オープンソースライセンス

開発したプログラムには,著作権が発生する.ライセンスがなければ,開発者以外誰も勝手に利用等をしてはいけなくなる.なので,ライセンスはより自由な世界のために必要だ.ライセンスには種類がいくつかある.有名なライセンスとして,

MIT ライセンス
BSD ライセンス
GNU GPL(General Public License)

の3つがある.このサイトにはライセンスの人気ランクが掲載されている.非常にシンプルなMITライセンスがトップだ.MITライセンスの原文はここから読めるが,以下の一文をしっかり守れば良いこととなる.

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

この英文におけるshallは,「〜するもとのする」という意味だ.日本語訳は.「上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。」(参考)となる.より詳しくは調べてみると良いだろう(ref).GitHubでレポジトリを作成する際にはライセンスを選択できるので楽だ.

感想

表紙にあるように、「概要」がよくわかる本だ。綺麗にまとまっており、数時間程度で読み切れるので、初めの教科書として素晴らしい本だと言える。読みながら出てくる疑問に丁寧に答えている本ではないため,その都度自分で調べるとより深い知識となるだろう.

その他読んでおきたい記事

オープンソースを使ったり作ったりする開発者は(そういえば,使用と利用の違いも大切だ)、ライセンスを特に意識する必要がある。以下が参考になって良いと思う。

ライセンスをつけないとどうなるの?
https://qiita.com/Tatamo/items/ae7bf4878abcf0584291

OSSのライセンスを理解する(「使用」と「利用」の違い、知っていますか?)
https://qiita.com/bremen/items/c5aa9446e73aa4bc1de0

公開ライセンスの話
https://qiita.com/lovee/items/484ae3fc038314a64ee2



この記事が気に入ったらサポートをしてみませんか?