序章

オープンソースソフトウェアに貢献することは、特定の言語または技術スタックでスキルを共有する方法であるだけでなく、エンジニアリングの知識を共有し、開発者コミュニティと協力することはやりがいのある実践になる可能性があります。 あなたの専門知識を待っているオープンソースプロジェクトはたくさんありますが、それらを見つける場所と、プロジェクトにとって意味のある方法で貢献する方法を知ることは、関心のある貢献者にとって障壁になることがあります。

このHacktoberfestフレーバーのガイドでは、オープンソースプロジェクトを見つけて有意義に貢献するのに役立ついくつかのヒントと情報を共有します。

Find a Project

オープンソースコミュニティに参加するのが初めての場合、貢献する新しいプロジェクトを見つけるのは気が遠くなるかもしれません。 ここでは、成功を支援したいプロジェクトを見つけるのに役立つリソースとアイデアをいくつか紹介します。

オープンソースとは何ですか?

オープンソースソフトウェアは、自由に使用および変更できるソフトウェアであり、通常、Githubなどのパブリックリポジトリホスティングサービスを介して共有されます。 オープンソースモデルに従うプロジェクトは通常、開発者コミュニティからの貢献によって繁栄し、採用したオープンソースライセンスによっては再配布が可能になる場合があります。

ほとんどの成功したオープンソースプロジェクトには、保守と改善のための透明で明確なプロセスがあり、それはそれらの周りのコミュニティを構築するのに役立ちます。 その結果、エンドユーザーからの定期的な貢献の恩恵を受けています。エンドユーザーは、他の方法では見落とされる可能性のあるソリューションに多様な視点をもたらします。

オープンソースの詳細については、チュートリアルシリーズオープンソースの概要をご覧ください。

おなじみのオープンソースソフトウェアを検討する

時間と才能をオープンソースプロジェクトにコミットすることを決定した後、あなたの情熱とあなたに共鳴するプロジェクトの種類を検討することが重要です。 特定のプロジェクトに貢献するのに何時間も費やす可能性があることを考慮して、個人的に使用するだけでなく、Hacktoberfestへの貢献を超えてより深い関心を持つプロジェクトを選択する必要があります。 現在使用しているソフトウェアについて考え、次のことを考慮してください。

  • ソフトウェアはどの技術スタックと言語で書かれていますか?
  • ソフトウェアを使用するときに改善できることは何ですか?
  • 対処すべき技術的な熟練度があるバグや目に見えるエラーはありますか?
  • このソフトウェアに継続的に貢献していただけませんか?

これらの最初の考慮事項により、お気に入りのソフトウェアがオープンソースであり、貢献を待っていることに気付く可能性があります。 その場合は、開始する前に、通常、貢献する方法を説明しているCONTRIBUTING.MDファイルに飛び込んでください。 このリソースは通常、コードベース、規則、およびソフトウェアに貢献するときにサポートを得る方法を紹介します。

初心者に優しいオープンソースプロジェクトを試す

始めたばかりの場合、見慣れないコードベースに大量のコードをコミットするというアイデアは、私たちの多くに眠っているインポスター症候群を引き起こす可能性があります。 幸いなことに、各開発者はかつては初心者でした。オープンソースの評価と採用を促進するために、初心者向けの仲間の開発者が共有する公開リポジトリが豊富にあります。 閲覧することをお勧めするいくつかの例を次に示します。

  • 初心者向けに素晴らしい-初心者に優しいと言われているプログラミング言語別のプロジェクトのリスト。
  • プログラマー以外の人にとって素晴らしい-プログラミングに不慣れな方のために、言語に依存せず、学習を促進するのに役立つプロジェクトのリストを以下に示します。
  • Up ForGrabs-新しい貢献者のためにキュレーションされたタスクを含むプロジェクトを一覧表示するリソース。
  • First Timers Only -オープンソースの学習リソースへのリンクと初心者向けのプロジェクトへのリンクを含む、初心者向けのリソース。
  • Habitica-生活をゲーム化する習慣形成アプリ。 このオープンソースプロジェクトには、詳細なドキュメントと、プログラマーと非プログラマーがプロジェクトに貢献するための多くの方法があります。

オープンソースプロジェクトを試すためのその他のリソースは、Hacktoberfestリソースページにあります。

Make a Contribution

オープンソースプロジェクトにとって意味のあるソリューションを特定する

貢献するオープンソースプロジェクトを特定し、コードベースが提供するリソースマテリアルに飛び込んだ後、何を貢献すべきか疑問に思うかもしれません。 貢献する方法はプロジェクトによって異なる場合がありますが、ここでは、作業しているコードベースとソフトウェアに影響を与え、意味のある貢献の一般的なアイデアをいくつか紹介します。

バグを修正する

バグはコード内の小さなエラーであり、煩わしさやブロッカーを引き起こしたり、ソフトウェアを衰弱させたりする可能性があります。 バグはしばしば予期しない結果を生み出し、誤った応答やアクションを引き起こします—ソフトウェアユーザーの経験のために、コードベースがバグのない(または可能な限りバグのない)状態に維持されることが不可欠で重要です。

知識と専門知識を「スカッシュ」に提供したり、バグを取り巻く問題を解決したりできます。 さまざまな優先順位のバグに取り組むことで、エラーを解決することでコードベースを強化する能力が高まり、追加するための有意義な貢献が得られます。

機能を提案する

オープンソースプロジェクトは、多様な考え方から恩恵を受けています。 ソフトウェアは、製品が既存の問題をどのように解決できるかについて意見を持って1人以上のエンジニアによって開発された可能性がありますが、プロジェクトを改善する方法に関するあなたの個人的な経験と見通しは非常に貴重です。 プロジェクトのコードベースに慣れ、エンドユーザーにとってどのように機能するかを理解したら、ユーザーエクスペリエンスを向上または向上させる可能性のある新機能を考え、問題を作成してプロジェクトのメンテナに提案してください。 コードの記述に時間を費やす前に、この会話をすることが重要です。プロジェクトのロードマップとアイデアが一致しない場合があるためです。 肯定的な反応があれば、アイデアを実装し、その機能を本番環境に導入するときが来ました。

いくつかのドキュメントを書く

コードベースに対して行うことができる技術的な貢献は豊富にあるかもしれませんが、優れたドキュメントを作成することは、見過ごされがちな貢献です。 言語的に傾いている場合、または最初のドキュメントに反映されている言語以外の言語を話す場合は、貢献することを検討してください。 ドキュメントへの貢献は、既存のドキュメントに編集ヘルプを提供したり、ドキュメント内に新しいページを作成したりすることを中心に展開できます。 この支援やその他の非技術的な支援に貢献する方法の詳細については、プロジェクトの貢献ガイドラインを参照してください。

Submit Your PR

Github経由でプルリクエストを送信する

オープンソースプロジェクトのコードベースに有意義な貢献をした後、プルリクエストを送信します。 Githubを介してこのプロセスを説明する役立つビデオを作成しました。このビデオは、ここにあります。

Video: How to Submit Your First PR

結論

専門知識をオープンソースプロジェクトと共有することは、自分の才能を実践し、他の人と協力して学び、開発者コミュニティに還元することを可能にするやりがいのある経験です。 オープンソースコミュニティ内で自分の場所を見つけるのは最初は気が遠くなるように思えるかもしれませんが、自分の情熱を語り、そのコードベースに有意義に貢献するプロジェクトを見つけることは、始めるのに最適な方法です。

Hacktoberfestの場合、オープンソースプロジェクトに4つの有意義な貢献をすることで賞品を獲得できますが、イベントをはるかに超えてオープンソースコミュニティに貢献することのメリットを引き続き享受できることを願っています。 オープンソース、Git、またはGithubの詳細については、Hacktoberfestリソースページにアクセスしてください。 ハッピーハッキング!