コントリビューションの概要
React Nativeへの貢献にご興味をお持ちいただきありがとうございます!Issueへのコメントやトリアージから、プルリクエストのレビューや送信まで、あらゆる貢献を歓迎します。私たちは、メインのReact Native GitHubリポジトリにとどまらず、パートナー、コアコントリビューター、コミュニティからなる活気に満ちた包括的なエコシステムの構築を目指しています。
オープンソースガイドのウェブサイトには、オープンソースプロジェクトの運営や貢献の方法を学びたい個人、コミュニティ、企業のためのリソースが集められています。
コントリビューターやオープンソース初心者の方々にとって、以下のガイドは特に役立つでしょう。
行動規範
念のため、すべてのコントリビューターは行動規範を遵守することが求められます。
バージョニングポリシー
React Nativeのバージョニングを完全に理解するために、バージョニングポリシーのページをご確認いただくことをお勧めします。このページでは、どのバージョンのReact Nativeがサポートされているか、リリースの頻度、状況に応じてどのバージョンを使用すべきかについて説明しています。
貢献する方法
すぐにコードの貢献を始めたい方のために、比較的範囲が限定されたバグを含むgood first issuesのリストを用意しています。経験を積み、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 Issues
私たちはGitHubのIssueをバグの追跡専用に使用しています。Issueの処理プロセスについては、Issueのトリアージページに記載しています。
セキュリティバグ
Metaは、セキュリティバグの安全な開示のための報奨金プログラムを設けています。そのような場合は、そのページに記載されているプロセスに従ってください。公開Issueを作成しないでください。
ドキュメントへの協力
React Nativeのドキュメントは、React Nativeウェブサイトリポジトリの一部としてホストされています。ウェブサイトはDocusaurusを使用して構築されています。ドキュメントで何か変更したい点があれば、ウェブサイトのほとんどのページ右上にある「編集」ボタンをクリックして始めることができます。
新しい機能を追加したり、動作の変更を導入したりする場合は、その変更を反映させるためにドキュメントを更新していただくようお願いします。
ブログへの貢献
React Nativeのブログは、ブログ用のMarkdownソースから生成されます。
React Nativeブログ用の記事を執筆する前に、React NativeウェブサイトリポジトリでIssueを立てるか、Twitterで@ReactNativeにタグ付けして、メンテナーから許可を得てください。ほとんどの場合、ご自身のブログや執筆媒体で記事を共有することをお勧めします。しかし、あなたの記事がブログにふさわしいと判断される可能性もあるので、尋ねてみる価値はあります。
ウェブサイト全般への貢献については、`react-native-website`リポジトリのReadmeファイルを参照することをお勧めします。
コードの貢献
React Nativeへのコードレベルの貢献は、一般的にプルリクエストの形で行われます。これは、リポジトリをフォークし、ローカルで変更を加えることによって行われます。
ステップバイステップガイド
コードの貢献準備ができたら、最初のプルリクエストを送るためのステップバイステップガイドをご覧になるか、詳細についてはコードの貢献方法のページをお読みください。
テスト
テストは、コードベースにリグレッション(機能低下)が導入されるのを防ぐのに役立ちます。GitHubリポジトリはCircleCIを使用して継続的にテストされており、その結果はコミットやプルリクエストのChecks機能を通じて確認できます。
テストの実行と作成についての詳細は、テストの実行と作成方法のページで学ぶことができます。
コミュニティへの貢献
React Nativeへの貢献はGitHubに限定されません。ブログ記事、カンファレンスでの講演、あるいは単にTwitterで@ReactNativeをタグ付けして意見を共有するなど、React Nativeを使用した経験を共有することで他の人を助けることができます。