コントリビューションの概要
React Nativeへのコントリビューションにご関心をお寄せいただきありがとうございます!Issueへのコメントやトリアージから、プルリクエストのレビューと送信まで、すべてのコントリビューションを歓迎します。私たちは、主要なReact Native GitHubリポジトリを超えた、活気に満ちた包括的なパートナー、コアコントリビューター、コミュニティのエコシステムの構築を目指しています。
オープンソースプロジェクトの実行とコントリビューション方法を学びたい個人、コミュニティ、企業のためのリソース集は、Open Source Guidesウェブサイトにあります。
コントリビューターとオープンソース初心者の方にとって、次のガイドは特に役立つでしょう。
行動規範
念のためですが、すべてのコントリビューターは行動規範を遵守することが求められます。
コントリビューションの方法
すぐにコードへのコントリビューションを始めたい場合は、比較的範囲の限定されたバグを含むgood first issueのリストがあります。経験を積んでReact Nativeの発展に貢献する意思を示すことで、リポジトリのIssue管理権限が付与される場合があります。
コードを一行も書かずにコントリビューションできる方法もあります。いくつか役立つことをご紹介します。
-
未解決のIssueへの返信と対応。
毎日多くのIssueを受け取りますが、中には必要な情報が不足しているものもあります。Issueテンプレートの記入方法を案内したり、明確化するための情報を求める質問をしたり、問題の説明に一致する既存のIssueを指摘したりすることで、お手伝いできます。このプロセスについては、GitHub Issueのトリアージページで詳しく説明しています。
-
ドキュメントのプルリクエストのレビュー。
スペルミスや文法チェックなど、ドキュメントの更新のレビューは簡単に行えます。ドキュメントでより良く説明できる状況に遭遇した場合は、ほとんどのドキュメントページの上部にある「編集」をクリックして、あなた自身のコントリビューションを開始してください。
-
テスト計画の作成支援。
メインリポジトリに送信されたプルリクエストの中には、適切なテスト計画が不足しているものがあります。これらはレビュー担当者が変更のテスト方法を理解するのに役立ち、コントリビューションが承認されるまでの時間を短縮できます。
これらのタスクはそれぞれ非常に大きな影響力があり、メンテナーは皆様の協力を大変感謝いたします。
開発プロセス
バグレポートとコミュニティからのコントリビューションの追跡には、GitHubのIssueとプルリクエストを使用しています。Metaのエンジニアによるすべての変更は、Metaの内部ソース管理とのブリッジを通じてGitHubに同期されます。コミュニティからの変更は、GitHubのプルリクエストを通じて処理されます。
GitHubで行われた変更が承認されると、最初にFacebookの内部ソース管理に取り込まれ、Facebookのコードベースに対してテストされます。Facebookでマージされると、Facebookの内部テストに合格した後に、単一のコミットとして最終的にGitHubに同期されます。
コントリビューションプロセスについては、以下のドキュメントで詳しく説明しています。
また、セットアップのお手伝いを喜んでくれるコントリビューターの活気のあるコミュニティもあります。@ReactNativeを通じてReact Nativeチームにお問い合わせいただけます。
リポジトリ
メインリポジトリにはReact Nativeフレームワーク自体が含まれており、ここではバグレポートの追跡とプルリクエストの管理を行います。
その他にも、知っておくと便利なリポジトリがいくつかあります。
- React Nativeウェブサイトには、ドキュメントを含むウェブサイトのソースコードが含まれており、このリポジトリにあります。
- リリースに関する会話はこのディスカッションリポジトリで行われています。
- リリースの変更ログはこちらにあります。
- React Nativeに関するディスカッションはDiscussions and Proposalsリポジトリで行われます。
- React Nativeの新しいアーキテクチャに関するディスカッションはReact Native New Architecture Working Groupリポジトリで行われます。
- React Nativeの高品質なプラグインは、React Native Directoryウェブサイト全体で見つけることができます。
これらのリポジトリを閲覧することで、React Nativeオープンソースプロジェクトの管理方法についての洞察を得られるでしょう。
GitHub Issue
バグの追跡には、GitHub Issueを使用しています。Issue処理プロセスは文書化されています。
セキュリティ上のバグ
Metaには、セキュリティ上のバグの安全な開示のためのバウンティプログラムがあります。そのような場合は、そのページに記載されている手順に従ってください。公開のIssueを提出しないでください。
ドキュメント作成への協力
React Nativeのドキュメントは、React Nativeウェブサイトリポジトリの一部としてホストされています。ウェブサイトはDocusaurusを使用して構築されています。ドキュメントに変更を加えたい場合は、ウェブサイトのほとんどのページの右上に表示される「編集」ボタンをクリックして開始できます。
新しい機能を追加する場合や動作を変更する場合は、変更内容を反映するようにドキュメントを更新するよう求められます。
ブログへのコントリビューション
React Nativeブログは、ブログのMarkdownソースから生成されます。
React NativeウェブサイトリポジトリでIssueを開くか、Twitterの@ReactNativeでタグ付けして、React Nativeブログを目的とした記事を作成する前に、メンテナーから承認を得てください。ほとんどの場合、代わりに自分のブログやライティングメディアで記事を共有することをお勧めします。ただし、記事がブログに適していると思われる場合は、尋ねてみる価値はあります。
ウェブサイトへのコントリビューション全般については、react-native-website
リポジトリのREADMEファイルを参照することをお勧めします。
コードへのコントリビューション
React Nativeへのコードレベルのコントリビューションは、一般的にプルリクエストの形で行われます。これは、リポジトリをフォークし、ローカルで変更を行うことによって行われます。
ステップバイステップガイド
コードへのコントリビューションの準備ができたら、最初のプルリクエストを送信するためのステップバイステップガイドを参照するか、詳細についてはコードへのコントリビューション方法ページを参照してください。
テスト
テストは、回帰がコードベースに導入されるのを防ぐのに役立ちます。GitHubリポジトリはCircleCIを使用して継続的にテストされており、その結果はコミットとプルリクエストのチェック機能を通じて確認できます。
テストの実行と記述方法については、テストの実行と記述方法ページで詳しく説明しています。
コミュニティコントリビューション
React NativeへのコントリビューションはGitHubに限定されません。ブログ投稿、カンファレンスでの講演、Twitterでの意見交換と@ReactNativeへのタグ付けなど、React Nativeの使用経験を共有することで他の人々を助けることができます。