コントリビューションの概要
React Nativeへの貢献にご興味をお持ちいただきありがとうございます!イシューへのコメントやトリアージ、プルリクエストのレビューや送信など、あらゆる貢献を歓迎します。私たちは、メインのReact Native GitHubリポジトリにとどまらない、パートナー、コアコントリビューター、コミュニティからなる活気ある包括的なエコシステムを構築することを目指しています。
Open Source Guidesウェブサイトには、オープンソースプロジェクトの運営方法や貢献方法を学びたい個人、コミュニティ、企業向けのリソースが豊富に用意されています。
コントリビューターやオープンソース初心者の方には、以下のガイドが特に役立ちます。
行動規範
念のため、すべての貢献者は行動規範を遵守することが求められます。
バージョニングポリシー
React Nativeのバージョニングを完全に理解するために、バージョニングポリシーページをご確認いただくことをお勧めします。このページでは、どのバージョンのReact Nativeがサポートされているか、どのくらいの頻度でリリースされるか、そして状況に応じてどのバージョンを使用すべきかについて説明しています。
貢献する方法
すぐにコードの貢献を始めたい場合は、比較的範囲が限定されたバグを含む良い最初のイシューのリストがあります。経験を積み、React Nativeの進化への貢献を示すことで、リポジトリのイシュー管理権限が付与される場合があります。
コードを1行も書かずに貢献できる他の方法もあります。以下に、役立ついくつかの方法を示します。
-
未解決のイシューへの返信と処理。
私たちは毎日多くのイシューを受け取りますが、その中には必要な情報が不足しているものもあります。イシューテンプレートの記入プロセスを案内したり、明確化のための情報を求めたり、問題の説明に一致する既存のイシューを指摘したりすることで、人々を助けることができます。このプロセスについては、GitHubイシューのトリアージページで詳しく説明しています。
-
ドキュメントのプルリクエストをレビューする。
ドキュメントの更新のレビューは、スペルや文法をチェックするだけで簡単な場合もあります。ドキュメントでより良く説明できる状況に遭遇した場合は、ほとんどのドキュメントページの上部にある編集をクリックして、ご自身の貢献を開始できます。
-
人々がテストプランを作成するのを手伝う。
メインリポジトリに送信されるプルリクエストの中には、適切なテストプランが不足しているものがあります。これらはレビュー担当者が変更がどのようにテストされたかを理解するのに役立ち、貢献が受け入れられるまでの時間を短縮することができます。
これらの各タスクは非常に影響が大きく、メンテナーはあなたの助けを大いに感謝するでしょう。
開発プロセス
私たちはGitHubのイシューとプルリクエストを使用して、バグレポートとコミュニティからの貢献を追跡しています。Metaのエンジニアによるすべての変更は、Metaの内部ソース管理とのブリッジを通じてGitHubに同期されます。コミュニティからの変更はGitHubのプルリクエストを通じて処理されます。
GitHubで行われた変更が承認されると、まずFacebookの内部ソース管理にインポートされ、Facebookのコードベースに対してテストされます。Facebookでマージされると、Facebookの内部テストに合格した後、最終的に単一のコミットとしてGitHubに同期されます。
貢献プロセスについては、以下のドキュメントで詳しく学ぶことができます。
また、React Nativeチームには、あなたのセットアップを喜んでお手伝いする貢献者の活発なコミュニティがあります。@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 Issues
私たちはバグの追跡のみにGitHub Issuesを使用しています。イシューの処理プロセスについては、イシューのトリアージページに文書化されています。
セキュリティバグ
Metaには、セキュリティバグの安全な開示のための報奨金プログラムがあります。そのような場合は、そのページに概説されているプロセスに従い、公開イシューは提出しないでください。
ドキュメントへの協力
React Nativeのドキュメントは、React Nativeウェブサイトのリポジトリの一部としてホストされています。このウェブサイトはDocusaurusを使用して構築されています。ドキュメントに何か変更したい点があれば、ウェブサイトのほとんどのページ右上にある「編集」ボタンをクリックして始めることができます。
新しい機能を追加したり、動作に変更を加えたりする場合は、変更を反映するためにドキュメントを更新するようお願いすることがあります。
ブログへの貢献
React Nativeブログは、ブログのMarkdownソースから生成されます。
React Nativeブログ向けの記事を執筆する前に、React Nativeウェブサイトリポジトリにイシューをオープンするか、Twitterで@ReactNativeをタグ付けして、メンテナーの承認を得てください。ほとんどの場合、ご自身のブログや執筆媒体で記事を共有することをお勧めします。ただし、あなたの記事がブログに適していると判断される可能性もあるので、尋ねる価値はあります。
ウェブサイト全般への貢献について詳しく知るには、react-native-websiteリポジトリのReadmeファイルを参照することをお勧めします。
コードの貢献
React Nativeへのコードレベルの貢献は、一般的にプルリクエストの形で行われます。これらはリポジトリをフォークし、ローカルで変更を加えることによって行われます。
ステップバイステップガイド
コードを貢献する準備ができたら、最初のプルリクエストを送信するためのステップバイステップガイドを確認するか、詳細についてはコードの貢献方法ページを読んでください。
テスト
テストは、コードベースに回帰が導入されるのを防ぐのに役立ちます。GitHubリポジトリはCircleCIを使用して継続的にテストされ、その結果はコミットとプルリクエストのChecks機能を通じて利用できます。
テストの実行と書き方については、テストの実行と書き方ページで詳しく学ぶことができます。
コミュニティへの貢献
React Nativeへの貢献はGitHubに限定されません。ブログ記事、カンファレンスでの講演、あるいはTwitterで@ReactNativeをタグ付けして意見を共有するなど、React Nativeの使用経験を共有することで他の人を助けることができます。