22
11

More than 5 years have passed since last update.

「自分に合ったサイズのIssue」を見つけたら、OSS初心者でもコントリビュートできた

Last updated at Posted at 2019-01-29

概要

OSSにコントリビュートしたことがない私が、「自分に合ったサイズのIssue」を見つけ、人生初のコントリビュートをするまでの話

準備編

「OSSにコントリビュートしてみよう!」と思い立った私は、自分でもコントリビュートできそうなIssueを探すことにした。
しかし、膨大なIssueのなかから、そのようなIssueをどうやって見分ければいいのか。

初心者向けのIssue

OSS関連の記事をいくつか読んで分かったのは、初心者向けのIssueには、それとわかるラベルが貼られているというこだ。
good first issue(初めてに最適)、difficulty:easy(難易度:簡単)といったような。

このような「初心者向けのIssueに貼られるラベル」を調査し、Qiitaにまとめてみた。
【OSS貢献】初心者向けのGitHub Issueに貼られるラベルまとめ

いざ、Issueを探す

「初心者向けのIssueに貼られるラベル」が分かったので、次に、具体的なIssueを探すことにした。

Github Help Wantedは、プログラミング言語とラベルでIssueを絞り込むことができるサービスだ。
これを使って、「Python(馴染みのある言語)」「good first issue」でIssueを検索する。

スクリーンショット 2019-01-29 17.39.39.png

さらにふるいにかける

結果、「good first issue」のラベルが貼られた大量のIssueを見つけることができた。

ここからさらに、以下のような基準でふるいをかける。

  • タイトルや説明を理解できるか?
  • Issueを解決できそうか?

Issueの内容は千差万別で、自分に合ったサイズ感のものを選別する必要があるからだ。

「自分に合ったサイズのIssue」を見つける

最終的に、私はこのIssueを選んだ。

Add requirements.txt · Issue #66 · UEWBot/dipvis
https://github.com/UEWBot/dipvis/issues/66

スクリーンショット 2019-01-26 16.39.40.png

requirements.txtとは、Pythonのパッケージ管理システムpipの設定ファイルだ。

プロジェクトで使用するパッケージの名前とバージョンをrequirements.txtに書き、以下のコマンドを実行すると、一括でパッケージをインストールすることができる。

$ pip install -r requirements.txt

このプロジェクトにはまだrequirements.txtがないので、それを作成し追加することが、このIssueの内容だった。

やってみる

コメントで確認

作業に取り掛かるまえに、コメントで「このIssueを引き受けていい?」と確認した。
スクリーンショット 2019-01-27 18.47.34.png

作業

OKが出たので、requirements.txtを作成・追加する。
(本Issue固有の処理なので、作業の詳細は省く)

Pull Request

作業が終わったのでPull Requestを出す。

Pull Requestの手順はこちらが詳しい
初めてのpull request @ GitHub

Merge

無事Mergeされ、私の初めてのコントリビュートが終わった。

スクリーンショット 2019-01-29 17.32.03.png

まとめ

顔の見えない、機械翻訳なしには言葉も通じない、(おそらくは)海の向こうにいる開発者とのコラボレーションは、インターネットのダイナミクスが感じられる素晴らしい体験だった。

もし、あなたが技術的・心理的な壁に阻まれ、一歩目を踏みだせずにいるなら、私のような方法で「自分に合ったサイズのIssue」を探してみてはどうだろう。

22
11
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
11