Forge Your Future with Open Source(邦題:『オープンソースで未来を築こう』) は、OSS(オープンソースソフトウェア)への参加を志すすべての人に向けた、まっすぐな入門書。原著者はVM (Vicky) Brasseur氏、翻訳は角征典氏。一言で言うと、(いい意味で、)面白かった。
技術的に重い(咀嚼に時間を要する)箇所もほぼなく、流し読みであれば1時間+αで読めるボリューム。
ネタバレに関しては大きな注意を払っていませんので「読むのを楽しみ」にしている方は、この先はご遠慮ください。
OSS参加を「山登り」に例えてみる
本書は、まるで登山の入門書のようだ。
- 山に登るなら、仲間をつくろう、山岳クラブに入ろう
- 山岳クラブでいい感じにやるには・・・
- 体力が心配?でも大丈夫・・・
- 山岳クラブを作るってのもありね!
山登り未経験者からすると、それはとても誠実な態度だと思う。
話をOSSに戻す。OSSの世界も外から見れば、少し難解で排他的で、しばしば技術エリートの遊び場にすら見える。そこに向けて「コードが書けなくても貢献できるんだよ」「まずは関わってみよう」と背中を押してくれるこの本の価値は大きい。
しかし、OSSの参加者は、山岳クラブの人だけじゃない
本書では、OSSへの関わり方を二つに分類している(私が理解した範囲では):
- 誰かが創立したOSSプロジェクトに参加・貢献する
- 自分でOSSプロジェクトを立ち上げ、コミュニティ化する
どちらも正しい。けど、そのどちらでもない人もいる。
例えば私も、ちょっとしたソースコードをGitHubに公開してはいる。OSIが承認したMITライセンスで。
誰かが使ってくれたり、コメントをくれたら嬉しい。でも正直、Issue対応をする気はあまりないし、コミュニティ化するつもりもない。
ドキュメントは一応書くつもりだけど、積極的に布教したいわけでもない。
私のソースコードは、高尾山周辺を歩き回って、登山道も標識もつけずにログだけ残したようなものだ。
そういうOSSとの関わり方――静かな徘徊――について、本書ではほとんど触れられていない。
それでもこの本に価値はある
この本の強みは、 「OSS文化に参加するとはどういうことか?」 を丁寧に言語化している点にある。
例えば、CONTRIBUTING.md ファイルの意義。 Contributor License Agreement への接し方。
そして例えば、貢献という言葉。
あとがきで訳者は、「contribute」という単語に「貢献」という日本語をあてることに若干の違和感を示していた。
たしかに英語の “contribute” には「ちょっと手を貸す」くらいのライトさがあるが、「貢献」と訳すと日本語ではぐっと重くなる。
OSS初心者に「貢献して」と言うと、相当なプレッシャーに感じる人も多いだろう。
けれども、本書を読み終えたとき、私は「貢献」という言葉の広がりを見直したくなった。
貢献とは必ずしもP/R(Pull Request)ではない。
- 再現性のあるバグ報告
- 誤字脱字の修正
- 試してみた感想、設計方針への問いかけ――
- ドキュメンテーションやテストに対する寄与
そのどれもが「自分の余剰を切り出して、他者と何かを共有する行為」だとするなら、確かにそれは「プライスレス」な貢献なのかもしれない。
最初のOSSは、社内にあるかもしれない
個人的には、本書で紹介される「非コード貢献」や「コミュニティとの協調」を、まずは社内プロジェクトで実践してみるのが良いと思っている。
- 社内のライブラリでREADMEを整える
- テスト結果を見やすくする
- 小さなスクリプトを共有する
- 社内の文化・慣例慣習を言語化して「新入り」さんと共有する
これらは全部、OSSにおける貢献と本質的に同じ構造を持っている。そして、GitHubの向こうに出る前に、言ってみれば「社内OSSごっこ」で成功体験を積むことは、未来のForgeにとって、とても健やかな出発になる。そして逆に言えば、「本物のOSS」で揉まれた若者・学生は、入社してからも強い のであろう。
本書があえて深入りしなかった“OSSライセンスの深い沼”へ
本書は「OSSに参加してみたい初心者」にとって、非常に優しい構成になっている。
そのため、オープンソースライセンスに関する記述は、(おそらく)意図的に簡略化されており、深掘りはされていない。
だが、読み終えた後に少しでもOSSの外側を意識したいと思った読者には、以下のようなトピックを “自主学習の探検課題” として強くおすすめしたい1:
- 「オープンソース(Open Source)」という言葉が実はOSIの登録商標であること
- OSI(Open Source Initiative)の米国法人/日本支部が、その商標や定義をどう運用しているか
- 著者が、「OSIが承認していないライセンスでリリースされたソフトウェアは、『オープンソース』とは呼べない」と記しているのは、何を根拠としているのか
- GPLが「互恵(コピーレフト)」ライセンスと呼ばれる理由と、他のライセンスとの根本的な違い(MIT, Apache, BSD など)ー 本書にも記述はあるが、復習を兼ねて
これらは一見“法的な細かい話”に見えるかもしれないが、実際にはOSSの文化的・政治的・倫理的背景を理解する上で欠かせない要素だと思う。
とくに「なぜGPLは避けられたり、逆に熱烈に支持されたりするのか?」という問いは、OSSに“関わる”つもりがあるなら一度は向き合っておく価値がありそうに思える。
最後に:黙ってるOSSも、開かれている
本書は、OSSに関わることの意味を丁寧に説いた良書だ。
だがその描く世界は、共同体中心で、参加を前提としたOSS観で貫かれている。それはそれで真実だが、同時に、黙って(場合によってはREADMEやソースコードのコメント付きで)開かれている公開ソースコードもまた存在する。
設計思想とコードをただ差し出して、そこに反応があるかを見守るスタイル。本書には登場しないそのようなソースコードたちも、確かに未来をForgeしているのだ。
読むべき人:
- OSSに初めて関わってみたい人
- コード以外での貢献方法に興味がある人
- キャリア戦略としてOSSを捉え直したい人
読んでも合わないかもしれない人:
- 自作OSSをそっと公開してニヤニヤしてる“孤高型開発者”
- 「文化よりコード」派
- 謎に高尾山徘徊へのこだわりがある人
まとめ
OSSとは「誰と登るか」の問題だけではない。時には「どんな道を切り拓いて、誰のために道標を残すか」という問題でもある。その全体像を考える上で、この本はとても良い起点になると思う。
おしまい
-
「オープンソースの定義とは何か」という議論に3日間くらい使ったことがある方は、そっ閉じしてください。本記事の筆者は法律専門家でもなく、深入りするつもりも今のところありません。そのため、ライセンスや「オープンソース」の定義に関してコメントいただいても対応できません。すみません。 ↩