初心者はどのようにしてオープンソース開発に参加できますか?

前回、私は開発者がオープンソースプロジェクトに参加しようとする際に直面する困難に関する投稿を公​​開しました。 考えられる解決策の説明なしにこの問題を残したくなかったので、今回有名なオープンソース活動家のケント・ドッズの記事を翻訳しました。 この記事では、著者はいくつかの興味深いライフハックを共有しています。読者の何人かがオープンソースプロジェクトに参加することでより多くの利益を得たり、より多くの喜びを得たりするのに役立つことを願っています。





私の最近の投稿「初めてこれを持っている人のために」の後、私は「どのオープンプロジェクトに参加することを勧めますか?」と尋ねる多くの手紙とメッセージを受け取りました。 この投稿では、この質問に答えるとともに、オープンソースの最初のステップに関するいくつかの推奨事項を策定します。



最も一般的な形式では、答えは次のとおりです。

定期的に使用するソフトウェアの開発に最大限の貢献をすることができます。


個人的には、私と私の友人にとって重要なプロジェクトに取り組むことに最も満足しています。 成功の2番目の鍵は、継続的に取り組むことです。 プロジェクトの定期的な作業には、ソフトウェアの使用機能とそれが作成された問題を理解する必要があります。ユーザーの観点からソフトウェアを理解することは非常に役立ちます。



最も頻繁に使用するオープンライブラリ、フレームワーク、またはツールは何ですか? たぶん、Grunt、Gulp、Webpack、Browserifyを使用している場合、それらをより正確に改善または文書化できると思われます。 または、おそらく、ReactライブラリまたはAngularモジュールを使用します。少し洗練させることもできます。 おそらくある種のオープンソースソフトウェアを使用しているでしょう-その改善は何らかの形であなたを助けることができます。



最初のステップ



参加するプロジェクトを決定するとすぐに、2番目の質問が発生します。 多くのプロジェクトにはCONTRIBUTINGファイルがあります。 それを見ると、プロジェクトに参加するための指示があります。 個別のファイルがない場合、対応する指示はREADMEにあります(通常はプロジェクトのホームページにあります)。 また、どちらも存在しない場合は、プル要求を送信して、少なくともスケルトンファイルCONTRIBUTING.mdを追加し、完全な指示の追加に関するネゴシエーションを開始できます。



プロジェクトについて詳しく知る。 ドキュメントを読むのは良いことですが、コードでプロジェクトをもっと学びたいです。 私のお気に入りの方法は、デバッガーを介して関数呼び出しに入ることです。 たとえば、angular.moduleを呼び出すとどうなりますか?



コードを見て、ライブラリまたはフレームワークの原則について多くを理解できます。 お気に入りのノードデバッガーを使用して(または単にconsole.logsを追加するだけで)ローカルツールでも同じことができます。 移動中に何か不明瞭になっても心配しないでください。 あきらめてはいけません-あなたはそれを行うことができます!



プロジェクトへの参加の基準と手順の特徴を学習し、その作業の原則を理解したら、プロジェクトに必要な変更を決定するときです。 既存の問題を見て、興味深いと思われる問題についてコメントすることをお勧めします。 キュレーターと話し合った後、最適なソリューションを見つけて、プルリクエストを作成できます。



実装したいバグまたは機能の修正について独自の考えがある場合は、まずGitHubの問題についてキュレーターと話し合うことを強くお勧めします。 多分彼らは、それがプロジェクトの関心の範囲外にあるか、すでに開発中であると言うだろうし、プログラムコードでどんな種類の変更を見たいかをあなたに話すだろう。 プルリクエストがデザインを引き受ける前に確実に受け入れられるようにするために費やす時間はずっと少なくなります(妻に申し出をする前と同じように、私は最初にすべてを行い、答えが「はい」になりました)



最初のプルリクエスト



最初のプルリクエストでは、適切なバグ/機能を持つプロジェクトを見つけて、独自の改善を提案してください。 キュレーターに、あなたが新しく、彼らのアドバイスに反するものがないことを知らせてください。 忙しすぎる場合は、別のプロジェクトを探してください。 オープンソースコードの最初の改良は常に難しいため、経験豊富な参加者からの助けと貴重なガイダンスが必要になる場合があります。 この段階では、導入されたコード自体はそれほど重要ではなく、オープンソースプロジェクトでの作業方法を学ぶことが重要です。 そのため、プロジェクトまたはあなたを本当の道に導くのに十分な時間と忍耐を持っている人を探してください。



GitHubのオープンソースプロジェクトへの参加方法に関する一連の投稿( https://blog.kentcdodds.com/introducing-how-to-contribute-to-open-source-be67917eb704)にも興味があるかもしれません



追加資料



GitHubの問題をチェックしてください。初回のみのマーク、初心者に適したチケット、最初のバグ(または最初のバグ)、またはヘルプが必要なチケットがあります。 プロジェクトに参加する簡単な方法を見つけるための他のリソースがあります。





私の最初のプルリクエストは、コメントのタイプミスを修正するリクエストでした。 彼は非常に小さく、ほとんど使用していなかったプロジェクトに属していました(デバッガーのコードをぶらぶらしているタイプミスを見つけました)。 これは良い最初の貢献でしたが、特にプロジェクトに影響はありませんでしたが、私はこのプロジェクトに参加し続けることを特に望みませんでした。 私は最初の貢献の不在と存在の間のギャップを乗り越えましたが、これは重要です。



おわりに



私は本当にオープンソースプロジェクトに参加したいので、この経験を体験することを強くお勧めします。 はい、開始するのは簡単ではありませんが、最初のステップを踏んだ後は、その後のすべてのステップがはるかに簡単になります。 もちろん、すべてがスムーズに進むわけではありません。 オープンソースコミュニティには癖があります。 それらに注意を払うのではなく、ただ働き続けてください。 すべてが確実に機能します! 頑張って



翻訳者からの一言:



ケントによる別の有用な記事「 紹介:オープンソースへの貢献方法 」をお勧めします。 彼の短いコース「 GitHubでオープンソースプロジェクトに貢献する方法 」に言及しています



All Articles