800
Help us understand the problem. What are the problem?

posted at

OSS未経験「なにから始めたらいいかわからない…」←これを一気に解決する神リポジトリ

はじめに

こんにちは。WEBエンジニアのmasakichiです。

OSSを始めたいと思いながらも「なにから始めたらいいかわからない…」と悩んでいませんか?

そんなOSS未経験者にGood First Issueというリポジトリをお勧めしたく記事にしました。

この記事で書いてあること

この記事には以下の2つが書いてあります。

  • Good First Issueについて
  • Good First Issueからコントリビュートするまでの流れ(経験談)

Good First Issueとは

sample.png

OSSにコントリビュートしたことのない開発者でもすぐに始められる人気プロジェクトをピックアップしたキュレーションサイトです。

プロジェクトのリンク先はgithubリポジトリで管理されています。

リポジトリはこちら
キュレーションサイトはこちら

Good First Issueでは下記の基準を満たしたプロジェクトがピックアップされています。
そのため、OSS未経験者でも取り組むことのできそうなissueを簡単に見つけることができます。

Good First Issueのピックアップ基準

  • good first issueのラベルが付いたissueが3つ以上あること。1
  • 10人以上のコントリビューターがいる。
  • プロジェクトの詳細な説明が記されている。
  • CONTRIBUTING.mdがあること。2
  • 積極的にメンテナンスを行っている。

個人的にCONTRIBUTING.mdが必須条件となっていることが素晴らしいなと思います。
github上で良さげなプロジェクトを見つけても、どんなコントリビュートをしたらいいのかわからないということが多々あるので、CONTRIBUTING.mdのようなドキュメントは未経験者の大きな助けになると思うからです。

実際にコントリビュート先を探して、プルリクがマージされるまでの流れ

実際にわたしがGood First Issueからコントリビュート先を探して、プルリクがマージされるまでの流れを紹介します。

これから、OSS活動を始めようと思っている同志のご参考に少しでもなれたら嬉しく思います。

なお、プルリクの送り方など細かな操作方法は割愛しています。
そちらについては、Qiitaにわかりやすい記事がたくさんありますのでご参考にしていただくのが良いと思います。

サイトからコントリビュート先を探す

まずキュレーションサイトの方から、コントリビュート先を探します。
自分が得意な言語でフィルタリングすることもできるので、活用してみてください。

図1.jpg

それぞれ、プロジェクト名・概要・issueのタイトルなどが表記されているので、取り組めそうなものを選びます。
プロジェクト名のところをクリックすると、実際のリポジトリにリンクすることができます。

ここに記載されているのは簡単な概要のみなので、もしざっくり見てピンと来なくても、とりあえずリポジトリを覗いてみることをお勧めします。

わたしの場合は最終的にawesome-resourcesというプロジェクトを選びました。

dist.png

README.mdとCONTRIBUTING.mdを読む

リンク先のプロジェクトでは、まずREADMEとCONTRIBUTINGに目を通します。

一般的にREADMEにはプロジェクトの概要などが記載されていて、CONTRIBUTINGにはどういった種類のコントリビュートが必要とされていて、どうやって参加するのかが説明されているからです。

わたしの選んだawesome-resourcesにはそれぞれ下記のように記載されていました。

README.mdの抜粋
List of helpful resources added by the community for the community!

日本語訳
コミュニティがコミュニティのために追加した有用なリソースのリスト!
CONTRIBUTING.mdの抜粋
Adding Resources
You can contribute to this repository very easily!
1.Get the resource you want to add ready.
2.Go to the README.
3.Click on the edit icon at the top right corner.

日本語訳
リソースの追加
1.追加したいリソースを準備します
2.READMEを開きましょう
3.右上の編集ボタンをクリックして編集します

どうやら、わたしが選んだリポジトリでは有用なリソースがREADMEにまとめられていて、そのリストに自分がお勧めしたいリソースを追加することでコントリビュートができるようでした。

なので、早速コントリビュートに挑戦してみます。

リポジトリをフォークする

まず右上のボタンからForkします。

dist.jpg

Forkすることで自分のgithubアカウントにリポジトリのコピーが生成されます。
READMEの編集はこちらのコピーリポジトリで行います。

ブランチを作る

編集を始める前に、ブランチを切っておきます。
オリジナルのプルリクをみると、他の人がpatch-○○○というブランチにしている人が多かったので、一応準じておきます。

READMEの編集 / リソースの追加

わたしは 20+ Web Projects With Vanilla JavaScript というサイトのリンク先を追加することにしました。
書式や記述方法は既存のものを参考にしました。
READMEを編集したら、変更を保存します。

プルリクエストを送る

ここまで来たら、いよいよプルリクを送ります。
フォークした自分のリポジトリ上で、プルリクを作って送ります。
コメントなどは他の人のプルリクを参考にするといいと思います。

dist.jpg

マージされるまで待つ

プルリクを送った後は、プロジェクト管理者がチェックしてくれるのを待ちます。
何か問題があればコメントで指摘される場合もありますが、問題なければマージされるはずです。

わたしの場合は、Thank youのコメントと一緒に無事1発でマージされました。

sample01.jpg

コントリビュート達成です。

所感

OSS活動というと、一流エンジニアたちがすごい会話をしながら行っている敷居の高いものというイメージがありましたが、実際はわたしのような経験の浅いエンジニアでも気軽に参加できるものだと感じました。

コントリビュートの方法もプログラミングを書くことだけでなく、リソースの追加や誤字の訂正(タイポ)、翻訳作業など多岐にわたります。

ゆくゆくはプログラミング言語を提案できるようなコントリビュートもしてみたいですが、最初の1歩目としては今回わたしが行ったような方法で感覚を掴んでみることはOSS未経験者にとって大変有効だなと思います。

リンク先


  1. Githubにデフォルトで定められているラベル。初めてコントリビュートする人にとって良いissueであることを示します。 

  2. CONTRIBUTINGドキュメントにはどういった種類のコントリビュートが必要とされていて、そのプロセスがどうなっているかの説明が記載されています。すべてのプロジェクトがCONTRIBUTINGファイルを持つわけではないですが、そのファイルがあることによって、そのプロジェクトがコントリビュートを歓迎していることの印になります。 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
800
Help us understand the problem. What are the problem?