🙆

Open Sourceへのコントリビュートのお誘い。githubからのメール

に公開

はじめに

Open Sourceにコントリビュートしてみたい。
なんだかかっこいいでしょ!

きっかけ

今年の年が明けた頃、1通のemailが届きました。
このメールをサラッと見た後、このメールは受信ボックスに残り続けました。
通常用を足したらすぐにアーカイブするのですが、アーカイブできずにいました。

「英語だから読むの面倒だな、どうせOpenSourceにコントリビュートするなんて一部のGeekがやることだよ。」
という気持ちと
「でもなんかかっこいいよな。OpenSourceにコントリビュートするって。」
とか
「コントリビュートっていうのがかっこいいよな。日本人には無い感性だよな。そこだけはアングロ・サクソンを認めるわ。」
という気持ちがせめぎ合っていました。

ある日zennに書き込むネタがないなと考えているときに、こう思いました「Open Sourceにコントリビュートする流れを書けば何回分かのねたになるんじゃね?」思い立って年始に届いたgithubからのメールを読んでみました。

メールは以下のような内容でした。

原文

So, you’ve heard about open source. You know it’s a great way to learn new skills, build up your resume, and give back to the developer community—but maybe you’re not sure where to begin.

Getting involved in open source can raise all sorts of questions: Are there specific contribution guidelines? Or a certain level of involvement required before tackling issues? Don’t worry, we’ve got your back.

This guide is packed with resources to help you go from curious newcomer to confident contributor. Whether it’s finding the perfect project, understanding how open source communities work, or submitting your first pull request, we’ll walk you through all of it. Let’s get started. 🚀

  1. Pick a project: start with what you know
    Finding the right project to contribute to can make all the difference. Here are a few ways to get started:

Contribute to what you use: Think about the open source tools, libraries, or apps you use daily. Familiarity with a project’s goals and features will help you start confidently. You can also visit github.com/explore for personalized project suggestions based on your past activity, stars, and contributions.
Browse by topic or collection: Still stumped? Explore projects by topic or peruse project collections to find something that matches your interests. Are you into machine learning or natural language processing? There’s even a collection focused on how to choose (and contribute to) your first open source project!
💡 Pro tip: Choose a project you’re genuinely interested in. It’s easier to stay engaged and make meaningful contributions when you care about the work.

👉 For Good First Issue: Introducing a new way to contribute

  1. Learn the project: know before you contribute
    Jumping into an open source project without understanding its structure, rules, or community can feel like walking into a conversation without context. You might have the best intentions, but if you don’t know the norms of the project, your efforts might go unnoticed—or worse, be rejected. That’s why it’s so important to take some time to get acquainted with the project before contributing.

Here’s how to read the room and get started the right way:

README.md: The README is the project’s introduction. It explains why the project exists, what it does, and how to get started.
CONTRIBUTING.md: This file outlines how to contribute. It might include coding standards, submission guidelines, and how maintainers prefer to receive contributions.
CODE_OF_CONDUCT.md: A code of conduct (CoC) sets expectations for community behavior and provides information on how to report incidents. Having a CoC signals that a project values diverse perspectives and encourages respectful collaboration.
LICENSE.txt: The license determines how the project’s code can be used, modified, and redistributed. If a project doesn’t have a license, it isn’t technically open source.
Join discussions: Many projects have forums, synchronous chat channels (like Slack or Discord), or mailing lists. Read the most recent posts to understand what’s going on.
💡 Pro tip: If a project lacks a license, maybe you can help choose the appropriate license.

👉 How to orient yourself to a project

  1. Find your place: contributions go beyond code
    When you’re looking for that first contribution, don’t get too hung up on the idea that you need to contribute code. Non-code contributions are critical to a project’s success and a fantastic way to get involved. Not to mention, some maintainers don’t even want code contributions!

Here are some of the most impactful ways you can contribute, without writing code:

📚 Documentation: According to the 2021 Octoverse report, good documentation can boost productivity by 50%. Clarify confusing text, help write docs for new features, and share your knowledge.
🎨 Design: A strong visual identity signals a project’s health and professionalism. But not everyone has the design skills to create visuals, logos, or improve the user experience.
🐞 Bug reports and testing: Bug reports and tests are invaluable to maintainers… though don’t forget to tell them what’s working great, too!
🌟 Community engagement: Active communities foster collaboration and growth. Pitch in by helping answer questions, onboarding new contributors, or even moderating discussions.
💡 Pro tip: Non-code contributions aren’t necessarily non-technical. Tasks like testing or documentation often require a deep understanding of the codebase.

👉 How non-code contributions are the secret to open source success

  1. Make your first move: get involved and contribute
    Some of the most valuable contributions are small, incremental changes that improve the project bit by bit. Fixing typos, reporting bugs, or improving documentation can be a great way to get started.

Here’s how to find your first contribution:

Good first issues: Look for issues labeled “good first issue”. These are beginner-friendly tasks identified by maintainers. You can find them easily by adding /contribute to any project’s URL. For example, explore beginner-friendly tasks for the Node.js project at github.com/nodejs/node/contribute.
Bug reports: If you find something broken, file a detailed issue. Describe the problem, include steps to reproduce it, and explain what you expected to happen.
Once you’ve identified your contribution, let maintainers know you’d like to work on an issue. They might offer guidance or confirm no one else is tackling it. From there, all that’s left is the actual work!

💡 Pro tip: Since you need to read the documentation anyway, it's a perfect place to get started, along with submitting bug reports. These low-stakes contributions can help you get familiar with the project’s workflow.

👉 Step-by-step guide: make your first contribution

Open source relies on people like you to make it work, and every contribution matters, whether it’s writing documentation, submitting code, or reporting bugs. You’ll not only grow your skills and build connections, you’ll make an impact, too. So go on and get involved!

See you in the pull requests! ✨

以下に翻訳します。自分翻訳なので間違っているかもです。

githubからのメール

で、オープンソースって聞いたことあるだろ、んでもって、スキルを磨けることもレジュメを拡充することも開発者コミュニティにお返しすることができることも知ってるだろ?
でも、どこから始めりゃいいのかわかんないんだよな。

オープソースに参加し始めるとたくさんの疑問が湧くだろう。「決まったコントリビュートガイドラインってあんだっけ?」「issueに挑戦する前に必要な貢献レベルってあんの?」心配しないで!俺達がサポートするから!

このガイドは好奇心旺盛な新顔から自信満々のコントリビュータになるのに役立つ情報が満載だぜ!バッチリなプロジェクトを見つけ方も、オープンソースコミュニティの動き方も、最初のプルリクエストを出すことも、全部教えてやるぜ!じゃあ始めよう!

1. プロジェクトを選択する。君が知っていることから始めよう

正しいプロジェクトを見つけることは大きな違いを生むよ。そのためのいくつかの方法を以下に記載するよ。

  • 使っているものにコントリビュートしよう: 日常的に使っているオープンソースのツール、ライブラリ、アプリを思い出して。プロジェクトのゴールや機能をよく知っていれば自身を持って始められる。github.com/exploreを見るのも一手だよ。ここには自分自身のコントリビュート、Stars、等の過去の活動からパーソナライズされたプロジェクトの提案がされているよ。
  • トピックやコレクションを見てみよう: まだ困っている? github.com/topicsを見てみるか、github.com/collectionsをよく見てみよう。君の興味を引くものがあるかもしれないよ。github.com/topics/machine-learningとかnatural language processingもいいかもよ。最初のプロジェクトを探す方法に集中したコレクションすらもあるよ!

👉 For Good First Issue: Introducing a new way to contribute

2. プロジェクトについて学ぼう。コントリビュートする前によく知ろう

構造やルール、コミュニティに付いての理解なしにオープンソースプロジェクトに参加することは、文脈のわからない会話に参加するようなものだ。意図が正しかったとしても、規範やプロジェクトについて知らなければ、君の努力は築かれない可能性もあるし、悪ければ拒否されるかもしれない。だからコントリビュートする前にはプロジェクトについてよく知ることが重要なんだ。

以下などによってプロジェクトを理解し、正しく開始することができるよ。

  • README.md: READMEにはプロジェクトの目的や何をしているのか、どのように始めるかなどの紹介があるよ。
  • CONTRIBUTING.md: このファイルにはコントリビュートの仕方が記載されている。コーディング規約や提出のガイドライン、メンテナーが好むコントリビュートのやり方などが記載されているよ。
  • CODE_OF_CONDUCT.md: 行動規範が記載されているよ。障害の報告方法やコミュニティの活動のあるべき姿を記載しています。これにより多様な観点やお互いを尊重した協力関係を推奨するよ。
  • LICENSE.txt: プロジェクトのコードをどのように使うことができるかを記載しています。ライセンスがない場合は、それは技術的にはオープンソースではありません。
  • 議論に参加しよう: 多くのプロジェクトにはSlackやDiscord等のチャットのチャネルがあります。最新のポストを読んでな何が行われているか理解しよう。

3. 自分の場所を見つけよう。コントリビュートはコードを超える

最初のコントリビュートを探している時、コードの修正に固執する必要はない。コード以外のコントリビュートはプロジェクトの成功に重要で、すばらしい参加の方法だよ!言うまでもないけど、メンテナーの中にはコードのコントリビュートすら求めない人もいるよ!

コードを書く以外にも以下などの方法で重要なコントリビュートができるよ。

  • 📚 ドキュメント: 2021 Octoverse reportによると、良いドキュメントは生産性を50%上げるらしい。わかりにくい説明を整理したり、新しい機能のドキュメントを書いたり、知識を共有したりすると役に立ちます。
  • 🎨 デザイン: 見た目がイケてるってことはプロジェクトが健康でプロの仕事である証だ。でも誰もがユーザ体験を高める見た目やロゴを作れるわけじゃない。
  • 🐞 バグレポート・テスト: バグレポートやテストはメンテナーにとってものすごく貴重。でもうまく動いていることを伝えることも忘れずに!
  • ** 🌟 コミュニティへの参加:** 活発なコミュニティはコラボレーションと成長を促進するよ。質問への回答を手伝ったり、新しいコントリビュータをオンボーディングしたり、議論の司会等で役立つこともできる。

👉 How non-code contributions are the secret to open source success

4. まずは動いて、参加して、貢献しよう!

いくつかの重要なコントリビュートは小さいものです。少しずつ少しずつ漸進的に変更していきます。タイポを直したり、バグを報告したり、ドキュメントを改善することも始めるのに良い方法だよ!
以下の方法で最初のコントリビュートを見つけられる。

  • Good first issues: "good first issue"というラベルがついたissueを探そう。メンテナーによって"初心者向け"のタグがついたものだ。プロジェクトのURLに/contributeをつけると簡単に見つけられる。例えばNode.jsの初心者向けタスクを探したければgithub.com/nodejs/node/contribute.を見ると良い。
  • Bug reports: もし何かがおかしければ詳細を報告しよう。問題を説明し、再現方法を含め、何を期待していたかを記載しよう。

自分の貢献対象が決められたらメンテナーにissueに対応したいということを伝えよう。ガイダンスや他の誰かがその問題に対応することを避けてくれるかもしれない。後はやるだけ!

👉 Step-by-step guide: make your first contribution

オープンソースはあなたに期待している。ドキュメント作成、コードの提出、バグの報告、全てが大事。スキルを高め人脈を広げるだけではなくおっきなことをやり遂げるかもしれない。だから始めよう!

プルリクエストで会いましょう!✨

Discussion