2019-02-24に更新

Yarnのコントリビュート説明ページが良い件について

ふとYarnのコントリビュートの説明ページを見たところ、OSS貢献するための情報が親切に書かれていて非常に良いなと思ったため紹介してみます。実際のページは下記になります。ちなみにYarnというのはNode.jsのパッケージマネージャです。

コントリビュート | Yarn

コントリビュートとは

そもそもコントリビュートとは何かというと、YarnのようなオープンソースはGitHub上のリポジトリとして公開されており、誰でも開発に参加することができるようになっています。そのようにしてOSS開発に貢献することをコントリビュートといいます。

自分のコミットが承認されてリポジトリに取り込まれると、そのプロジェクトのContributorになることができ、IssuesやPull requestsの自分の書き込みにもContributorのマークが付くようになります。

コントリビュートの説明ページとは

各オープンソースのプロジェクトにはだいたいコントリビュートの説明が書かれています。

というのも、誰かが適当なコーディングスタイルでぐちゃぐちゃなプログラムを書いてきたり、誰も必要としていない機能のプルリクエストを勝手に送ってきても管理者含めてみんなが困ってしまいますので、そのあたりの手順やルールなどがまとめられています。

小さなプロジェクトなどだと「自由に送ってね!」とかのものもありますが、大きなプロジェクトだと結構細かい手順等を書いてくれていたりしてくれています。

そんな中Yarnの説明ページを見てみると、他とは違って親切に作られていることに気付きました。

どのように良いか

取り組みやすいIssueがどれかを教えてくれている

いくつか、最初に取り組むのに適したリンクを簡単に紹介しておきます。

ということで実際のIssuesにリンクが貼られています。下記のようなリンクがあります。

  • 初めて取り組むのによいバグ (Good first bugs)
  • 初めて取り組むのに良い機能 (Good first features)
  • 助けが必要なインパクトの大きい issue (High impact issue that need help)
  • 問題を再現するスクリプトが必要な issue (Issues need reproduction scripts)
  • トリアージが必要な issue

これがすごく良いなと思いました。公式としてはじめて取り組むのはこれが良さそう、というのを指定してくれているので、「ほんとにこのあたりは進めてみても良いのだろうか…」という事を悩まずにすむためそれだけでも貢献しやすさが全然違ってくると思います。最初ってこういうところでドキドキするだけで結構消耗してしまったりしますので…。

日本語で書かれている

さすが規模の大きいプロジェクトだからかもしれませんが、日本語というか多言語で書かれていることは個人的にあまり見たことがなかったため、よくよく考えたら親切なのでは、と思いました。

そもそもだいたいこういう説明がMarkdownでGit管理されているだけだったりすることが多いので英語で書かれていることがほとんどかなと思います。(とはいえ決まりきったことが書かれているだけなので英語でも特に不便はないのですが)

実際の対応の流れが書かれている

下記のようなものが書かれています。

  • 環境構築の方法
  • テストを実行する方法
  • 実際にプルリクエストを送る方法

実際の実行方法は他のOSSでもだいたい書かれていますし、PRを送る方法も調べればいくらでも出てくるのですが、実際に本家が書いてくれていることの安心感はやはり大きいと思います。

行動規範が書かれている

多くの人が利用し参加するプロジェクトだからかもしれませんが、行動規範までがしっかり書かれているのは珍しいような気がしました。いわゆるネットマナーと言うか、古い言葉で言うとネチケットみたいなものでしょうか。

逆にこういうのが書かれていることで、OSSの世界にもやばい人たちが結構いるのかな…という想像も膨らみます。

恐る恐るコントリビュートをはじめる人からすると、相手がまともな人なのかおかしな人なのか、特に国という枠を超えた場合には判断しづらいと思いますので、何かひどいことを言われても「世の中こういうものなのかな…。自分が悪かったんだろうな…」と不必要に自分をせめて貢献をやめてしまう人などもいるのではないかと思います。そういうのは非常にもったいないですし、少しでもそういうことが減る要因になるのであればすごく良いことかなと感じます。

やっていきましょう

OSSへの貢献に興味のある人は、こういう貢献の方法が分かりやすいプロジェクトからはじめてみるのも手かもしれません。ぜひちょうどやりやすいものを探してチャレンジしてみましょう。たまたま今回見つけたのがYarnだったというだけで、他にも分かりやすいものがありそうな気はします。

他にも翻訳へのコミットやちょっとしたタイポの修正、コードではなくIssuesへの書き込みでの貢献等、とりあえずできるところからはじめてみる、という方法もありそうです。


だら@Crieit開発者

Crieitの開発者です。 主にLAMPで開発しているWebエンジニアです(在宅)。大体10年程。 記事でわかりにくいところがあればDMで質問していただくか、案件発注してください。 業務依頼、同業種の方からのコンタクトなどお気軽にご連絡ください。 業務経験有:PHP, MySQL, Laravel5, CakePHP3, JavaScript, RoR 趣味:Elixir, Phoenix, Node, Nuxt, Express, Vue等色々

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

関連記事

コメント