自分が手助けできる場所を見つける
このユニットでは、オープンソースの貢献を始める方法について説明します。 また、イシューとタグを使用して、貢献するタスクを検索します。
オープンソース ソフトウェアは、誰でも自由に使用、変更、共有できます。 オープンソース ソフトウェアを使用すると、目的を問わず誰でもプロジェクトを表示、変更、配布できます。 オープンソース ソフトウェアの背後にある考え方は、コードを共有すると、より優れた、信頼性の高いソフトウェアが得られるというものです。
オープンソース プロジェクトに貢献するには、さまざまな方法があります。 初めての貢献は多くの場合、不安かもしれません。でも、そのようなことはありません。 オープンソースはすべてのユーザーを対象とした場所であり、貢献はすべてのレベルで行われます。
貢献を必要とするオープンソース プロジェクトを見つける
まず最初に、既に使っているプロジェクトや、または使いたいものについて考えてください。 プロジェクトやそのコミュニティに慣れていれば、貢献が容易になります。
プロジェクトの README を読むと、壊れたリンクや入力ミスが見つかることがあります。 期待どおりに動作しない箇所や、ドキュメントが古くなっていることに気付いたかもしれません。 これらはすべて、プロジェクトに貢献してその役に立つのに絶好の機会です。
ヒント
1 つの重要なヒント: "すべて" の種類の貢献に価値があります。 ここでは、プロジェクトに関する経験や知識のレベルは関係ありません。 誰にでも、参加してできることが何かあります。 自信を持ってください。 ここで最も重要なことは、役に立ちたいという意思です。
GitHub の検索機能を使用する
GitHub の検索機能を使用して、トピックや関連プロジェクトを調べることもできます。 GitHub の検索に移動し、トピックの単語を入力します。
たとえば、機械学習に関心があるとしましょう。
次に、左側のサイド バーで [Topics] (トピック) をクリックして、検索を絞り込むことができます。
そこからは、検索キーワードに関連するリポジトリや、コミュニティ メンバーによって選別されたリポジトリを見つけることができます。
オープンソース プロジェクトについて理解する
ここで重要なのは、すべてのオープンソース コミュニティは異なるということです。 プロジェクトを見つけたら、プロジェクトとその参加ガイドラインを理解する必要があります。
ほとんどのプロジェクトでは、リポジトリの先頭に次のドキュメントがあります。
- LICENSE: プロジェクトには、オープンソース ライセンスが含まれている必要があります。 プロジェクトにライセンスがない場合は、オープンソースではありません。
- README: README ファイルは通常、プロジェクトのウェルカム ページとして機能します。 通常、プロジェクトを使い始める方法についての情報が提供されています。 また、コミュニティに参加する方法に関する情報が追加されていることもよくあります。
- CONTRIBUTING: その名前が示すように、このドキュメントでは、プロジェクトに貢献する方法についてのガイダンスが提供されています。 通常、貢献のプロセスのしくみが説明されており、開発環境を設定する方法について詳細に説明されています。
- CODE_OF_CONDUCT: 行動規範では、コミュニティ メンバーのための基本原則が設けられています。 これにより、コミュニティを、すべての人にとって安全で快適な環境にすることができます。
CONTRIBUTING または CODE_OF_CONDUCT のドキュメントが提供されていないプロジェクトもありますが、これらのドキュメントが用意されていることは、友好的で参加しやすいプロジェクトであるかどうかのよい判断材料になります。
オープンソースの貢献者と保守管理者は、世界中から参加しています。 通常、プロジェクトには、ディスカッションを整理し、支援を求めるための、複数のコミュニケーション チャネルがあります。 コミュニティの理解を深めるのに有効な方法は、これらのコミュニケーション チャネルをいくつか読んでみることです。
- イシュー トラッカー: ここでは、プロジェクトに関連するイシューやタスクについて、参加者が話し合います。 GitHub でイシューを見つけるには、GitHub のリポジトリのメイン ページに移動し、URL の末尾に
/issues
を追加します (例: https://github.com/jupyter/notebook/issues)。 - pull request: ここでは、参加者が、プロジェクトに対する変更について話し合い、レビューします。 GitHub でそれを見つけるには、プロジェクトの URL に
pulls
を追加します (例: https://github.com/jupyter/notebook/pulls)。 - チャット チャネルとフォーラム: プロジェクトによっては、会話やディスカッションに、Slack、Gitter、IRC などのチャット チャネルや、Discourse などのフォーラムが使用されています。
作業するタスクを見つける
プロジェクトが見つかり、貢献のガイドラインを読んだら、貢献する準備ができました。
壊れたリンクの修正や、ドキュメントの更新など、作業するものが既にわかっている場合もあります。初心者でも参加しやすいイシューを簡単に見つける方法は、プロジェクトの /contribute
URL (例: https://github.com/jupyter/notebook/contribute) にアクセスすることです。
contribute
の URL に表示されるイシューのほとんどには、good-first-issue
、help wanted
、beginner-friendly
といったラベルが付いていることがわかります。 ラベルは、イシューの最上位レベルの情報と必要なヘルプの種類を提供するためによく使用されます。
ラベル ページ (例: https://github.com/jupyter/notebook/labels) に移動します。 help wanted
や discussion
のようなラベル、または関心のある貢献の種類に関係するその他のラベルが付いているイシューを選択します。
イシューを調べていると、他のイシューや pull request がリンクされていることに気付く場合もあります。
プロジェクトのスポンサーになる
オープンソースに貢献するには、さまざまな方法があります。 コード、リーダーシップ、指導、設計、その他を通じてオープンソースのエコシステムの構築と維持に携わる参加者を、経済的にサポートすることができます。
オープンソースはボランティア作業に大きく依存しています。 GitHub スポンサーにより、プロジェクトや個人に資金を提供してオープンソースの作業を続けられるように支援し、彼らに相応の評価を与えることができます。
プロジェクトが、GitHub スポンサーを通じてスポンサーシップの資格を獲得している場合は、プロジェクトのメイン ページに [Sponsor] (スポンサー) ボタンが表示されます。
スポンサーのレベルと、貢献を公開するかどうかを選択できます。
ユニットの要約
このユニットでは、オープンソースへの貢献を始める方法について学習しました。 これで、作業するプロジェクトの選択方法と、GitHub のイシューとラベルを使用して作業するタスクを見つける方法がわかりました。
初めてプロジェクトとやりとりするときに役立つチェックリストを次に示します。
- それにはライセンスがありますか?
- イシューと pull request について、保守管理者と共同作成者による活発なディスカッションが行われていますか?
- プロジェクトでは、新規参加者のために
help wanted
やgood first issue
のようなラベルが使用されていますか? - プロジェクトには行動規範がありますか?
- プロジェクトでは貢献のガイドラインが明確に示されていますか?
最後に、すべての貢献が歓迎されること、そしてアイデアや参加はオープンソース エコシステムにとって大きなメリットであることを、覚えておいてください。 コードの提供やプロジェクトのディスカッションへの参加から、GitHub スポンサーによるプロジェクトへの資金提供まで、オープンソースに参加するには数多くの方法があります。