デベロッパーリレーションズ

オープンソースプロジェクトで初めてのコントリビュート

2018-10-03
デベロッパーリレーションズ
ja

これは多くのことの第一歩です

オープンソースへの貢献は難しいことだという一般的な誤解があります。「自分のコードさえ理解できないことがあるのに、どうして他人のコードを理解できるのか」と思うかもしれません。

リラックスしてください。去年までは、私もそう思っていました。他人のコードを読んで理解し、その上に自分のコードを書くことは、気が遠くなるような作業です。しかし、適切なリソースがあれば、想像するほど悪くはありません。

最初にすべきことは、プロジェクトを選ぶことです。この決定は、初心者が熟練したオープンソースコントリビューターに変わるための重要な一歩です。

オープンソースに興味のある多くのアマチュアプログラマーは、Gitから始めることを勧められていますが、これは最善の始め方ではありません。Gitは、長年のソフトウェア開発経験を持つスーパーギークたちによって保守されています。オープンソースプロジェクトへの貢献を見つけるには良い場所ですが、初心者には優しくありません。Gitに貢献する開発者の多くは、十分な経験を持っており、各種のリソースやドキュメントを参照する必要がありません。この記事では、初心者に優しい機能のリストを提供し、オープンソースへの貢献をより簡単にするためのアドバイスをいくつか紹介します。

製品を理解する

貢献を始める前に、プロジェクトがどのように機能しているかを理解する必要があります。これを理解するために、自分で試してみる必要があります。この製品が面白く、有用だと感じれば、貢献する価値があります。

初心者は、使用したことのないソフトウェアへの貢献を選ぶことがよくあります。彼らは失望し、最終的に貢献を諦めてしまいます。そのソフトウェアを使用したことがなければ、それがどのように機能するかを理解できません。どのように機能するかを理解できなければ、バグを修正したり、新機能を追加したりするにはどうすればよいでしょうか?

覚えておいてください:試してみてこそ、変えることができるのです。

製品の状況を確認する

このプロジェクトはどのくらい活発ですか?

メンテナンスが停止しているプロジェクトにプルリクエストpull requestを送信しても、リクエストが議論されたりマージされたりすることはないかもしれません。活発なプロジェクトを探すことで、コードはすぐにフィードバックを得られ、貢献が無駄になりません。

プロジェクトがまだ活発かどうかを確認する方法を紹介します:

  • コントリビューターの数: コントリビューターが増えていることは、開発者コミュニティが新しいコントリビューターを受け入れていることを示しています。
  • コミットcommit頻度: 最近のコミット時間を確認してください。1週間以内、あるいは1〜2ヶ月以内であれば、そのプロジェクトは定期的にメンテナンスされています。
  • メンテナーの数: メンテナーが多ければ多いほど、指導を受ける可能性が高くなります。
  • チャットルームやIRCの活発さ: 賑やかなチャットルームは、質問により早く回答を得られることを意味します。

初心者向けリソース

Coalaはオープンソースプロジェクトの一例です。独自のチュートリアルとドキュメントがあり、そのAPI(すべてのクラスとメソッド)を使用できます。ウェブサイトには魅力的なインターフェースも設計されており、読む意欲をかき立てます。

ドキュメント: どのレベルの開発者も、プロジェクトの詳細を理解するために、信頼性が高く、適切にメンテナンスされたドキュメントが必要です。GitHub(または他の場所)や、Read the Docsのような独立したサイトで、完全なドキュメントを提供しているプロジェクトを探してください。これにより、コードを深く理解するのに役立ちます。

チュートリアル: チュートリアルは、プロジェクトに機能を追加する方法を初心者に説明します(ただし、すべてのプロジェクトで見つかるとは限りません)。例えば、Coalaは小熊作成ガイド(コード分析を行うリンティングlintingツールのPythonラッパー)を提供しています。

分類されたイシューissue 最初のプロジェクトを選ぶ方法を理解したばかりの初心者にとって、イシューを選ぶことはさらに困難なタスクです。「難易度/低」「難易度/初心者」「初心者歓迎」、そして「手が届きやすい実low-hanging fruit」とラベル付けされたものは、初心者に優しいことを示しています。

その他の要因

CIユーザーパイプラインログ

  • 新しいコントリビューターに対するメンテナーの態度: 私の経験から言うと、ほとんどのオープンソースコントリビューターは、プロジェクトの初心者を喜んで助けてくれます。しかし、質問をする際、あまり親切でない人(少し失礼な人さえいるかもしれません)に出くわすこともあります。こういう人たちのせいで自信を失わないでください。彼らは単に、自分より経験豊富な人たちのところで憂さ晴らしをする機会がないだけです。助けを提供してくれる他の人はたくさんいます。
  • レビュープロセス/仕組み: プルリクエストは、同僚や経験豊富な開発者による何度ものレビューと変更を経ることになります。これがソフトウェア開発を学ぶ最も重要な方法です。厳格なレビュープロセスを持つプロジェクトは、本番レベルのコードを書く過程で成長させてくれます。
  • 堅牢な継続的インテグレーションcontinuous integrationパイプライン: オープンソースプロジェクトは、初心者に継続的インテグレーションとデプロイメントサービスを紹介します。堅牢なCIパイプラインは、CIログの読み方と理解を学ぶのに役立ちます。また、失敗したテストケースやコードカバレッジの問題を処理する経験も得られます。
  • プログラミングプロジェクトへの参加(例:Google Summer Of Code): 組織への参加は、プロジェクトの長期的な発展に貢献する意欲を示します。また、初心者に現実世界での開発経験を得て、報酬を得る機会も提供します。これらのプロジェクトに参加している組織の多くは、新しいメンバーを歓迎しています。

初心者に優しい7つの組織

著者について

Palash Nigam - インドのコンピュータサイエンス専攻の学部生で、オープンソースソフトウェアの開発に参加することをとても楽しんでいます。GitHubでほとんどの時間を過ごしています。現在の興味は、ウェブバックエンド開発、ブロックチェーン、そしてPythonに関するすべてです。

転載をご希望の場合は、出典を明記してください:デベロッパーリレーションズ »


Similar Posts

Content icon
Content