目次
1.はじめに
以下の書籍を読んで感銘を受けたので、
特に心に刺さった箇所や得た知見を、忘れないようにまとめていきます。
※同内容のドキュメントも GitHub にて公開されています。
GitHub: これでできる! はじめてのOSSフィードバックガイド ~ #駆け出しエンジニアと繋がりたい と言ってた私が野生のつよいエンジニアとつながるのに必要だったこと~
OSS にコントリビュートしたいけどどうすればよいの?
という方の背中を押してくれる書籍です。
2.OSS とは
普段何気なくOSS と言っていますが、
Open Source Initiative という団体が「OSS とされるもの」についての条件を記載しており、
それが OSS についての標準的な解釈だと考えられます。
定義の原文はこちらにあります。
Open Source Initiative: The Open Source Definition
Open Source Group Japan という非営利団体が日本語訳を公開しているので、
そちらを参照するのもよさそうです。
OSG-JP: オープンソースとは? その定義とは?
ちなみに、OSS (オープンソースソフトウェア) という言い方は日本独自のようで、
海外では一般的には Open Source と呼ばれるようです。
(Software の部分が余分…)
Shuji Sado: OSSという日本でしか通用しない三文字略語について
3.OSS のライセンス
OSS と言えばライセンスです。
Open Source Initiative はまた、
「OSSであると認められるライセンス」の一覧を公開しています。
Open Source Initiative: Licenses by Name
ここに存在しないライセンスを付与されているソースコードはOSS ではない、
と言っても間違いではないのかなと思います。
とは言え、かの有名な GPL なども列挙されていますし、
リストに記載があったとしてもライセンスの内容は確認した方がよさそうです。
4.OSS に貢献する際の行動規範
Contributor Covenant というサイトにて、
OSS に関わる(= コントリビュートする)際の行動規範が文書化されています。
英語や日本語訳は以下から閲覧できます。
Contributor Covenant: Contributor Covenant Translations
こちらを読んで、コントリビューターはどう振る舞うべきかを
把握しておくとよさそうです。
また、行動規範というとパッと見は堅苦しいものに見えますが、
そこまで深刻なものではないかと思います。
行動の例として以下のようなことが挙げられています(一部抜粋)。
– 他人への共感と優しさを示す
Contributor Covenant: コントリビューター行動規範 (CC BY 4.0 License)
– 異なる意見、視点、経験を尊重する
イチ開発者として誠実で建設的であるならば、
大きな問題はないのかなと思います。
5.最初の取っ掛かり
無数にあるOSS の中からどうすれば貢献の取っ掛かりを見つけられるのか…。
一つの方法として、GitHub で good first issue ラベルが付いた issue から探す、
というのがありそうです。
この good first issue というのは、
「初めてのコントリビュートにちょうどよい issue」に付けられるラベルです。
そのリポジトリでの初心者向けの issue なので、
敷居が低いんじゃないかなと思います。
正直、上記の Github の検索結果から探すのはきついと思いますが、
以下のサイトではプログラミング言語毎にカテゴライズされているので、
まずはそちらから探してみるのもよさそうです 🙌
good first issue
6.OSS に関わる際の心構え
4.OSSに貢献する際の行動規範 の前段の話にはなりますが。
書籍では「イシュートラッカーに関わる時の心構え」として以下の記述がありました。
そこに関わるときは、開発に関わる仲間としての振る舞いが求められることに注意が必要です。
これでできる! はじめてのOSSフィードバックガイド ~ #駆け出しエンジニアと繋がりたい と言ってた私が野生のつよいエンジニアとつながるのに必要だったこと~: イシュートラッカーに「お客さま」として関わって起こる不幸 (著作者: OSS Gate、結城洋志(YUKI “Piro” Hiroshi)) (CC BY-SA 4.0)
issue に初めて関わる場合でも、必要な情報を整理・提供したり、
何が分からないのか、何の情報が足りないのか、などを具体的に記載する。
そういったエンジニアとしての振る舞いが必要ということかと思います。
7.オープンソースだからと言ってタダ乗りに門戸が開かれている訳ではない
6.OSSに関わる際の心構え と似たような内容ではありますが、
以下の文章も僕の心に刺さりました。
開発に関わりたい・品質向上に寄与したいという積極的な意志を持つ人にとっての門戸が開かれている
これでできる! はじめてのOSSフィードバックガイド ~ #駆け出しエンジニアと繋がりたい と言ってた私が野生のつよいエンジニアとつながるのに必要だったこと~: 誰もが開発者、開発関係者として関われる (著作者: OSS Gate、結城洋志(YUKI “Piro” Hiroshi)) (CC BY-SA 4.0)
OSSに関わる以上、積極的な意志や行動を持っていないと
「何しにきたんだ」と思われてしまうということなのかなと思います。
アジャイル動物園における「鶏」になってしまう、というイメージでしょうか 🤔
逆に言うと、OSSに既に関わっているメンバーは
積極的な意志や行動を持っているということなので、
身が引き締まる思いがしました。
8.その他、心に刺さったリンク
書籍では有益なリンクがたくさん貼られていましたが、
特に自分に刺さったリンクを貼ります。
- 別にしんどくないブログ: Node.jsへのコントリビュート解説、そしてOSSへ貢献するということ
- 本ポストより深く、より具体的に、
OSSへコントリビュートする際のノウハウがまとめられています。
- 本ポストより深く、より具体的に、
- Speaker Deck: OSSで結果を出す方法
- どのような観点からPRを出すべきか、など
コントリビュートする際に持っておくべき視点についてまとめられています。
- どのような観点からPRを出すべきか、など
コントリビュートする際には、どちらも一読するとよいのではないかと思います。
9.さいごに
僕はあまり本を読む方ではないですが、
この本に出会って運がよかったと思いました。
仕事でOSSを使う際、
「巨大な体制で強いエンジニアばかりだろうから自分には何もできない」
と思っていましたが、その抑制感が少し解消された気がします。
そしてHTMLを触り始めた頃の
「これを駆使すれば何でも好きなように表現できる」感を思い出しました。
僕自身はけっこうフッ重なのですぐにコントリビュートはできなさそうですが、
できるよう徐々に環境などを整えていこうと思っています。
以上です。
お疲れ様でした!