web-dev-qa-db-ja.com

アマチュアとしてオープンソースプロジェクトに参加するのは悪いことですか?

オープンソースのiPhoneまたはiPadプロジェクトに参加してObjective-Cのスキルを磨く必要があると思ってから約6か月が経ちましたが、そのたびに、何千行ものコードが巨大なプロジェクトに表示されます。理解できない自分に納得してしまう。私のコミットは、プロジェクト管理者やより多くの上級貢献者にとって面倒になるだけだといつも思っているので、私は常に最後の1秒で取り消されます。

私の質問は本質的に、中級レベルのプログラマーがオープンソースプロジェクトに参加するのは面倒ですか?

17
esqew

いいえ、そうではありません。

調べているプロジェクトのコードベースが非常に困難な場合は、次のことを考慮してください。

  • 作業する(さらに)小さいプロジェクトを選択する。
  • プロジェクト内の小さいタスクを選択してください:
    • 何かの例/チュートリアル/デモを書く
    • ドキュメントの更新と修正(すべてのプロジェクト、OSまたはなし、より良いドキュメントが必要)
    • 優先度は低くても簡単に修正できる多くのバグを修正します(コードへの大きな露出、開発者は通常満足しており、リスクは低い)
  • コアソースへのコミットアクセスなしで貢献するには、次のような方法があります。
    • コメントできるパッチの提出。
    • プルリクエストのフォークと送信(上記を参照)
    • どこに行くのかを確認するためだけに、自分でフォークして作業します。あなたが満足しているなら、それが理にかなっているかどうか見るためにあなたがしたことを何でも見てみるように開発者に頼んでください。

コミットを受け入れられないという「恐怖」を克服するには、最初に安全なポイントを探します。これにより、あなたと開発チームの両方があなたの関係に自信を持ち、お互いの考え方を学ぶことができます。 (スキル、経験、コード品質、およびOSプロジェクトのチームとそのダイナミクスの理解の両方で)向上するにつれて、手間を減らしながらより大きなタスクに取り組むことができるようになります。

また、適切な出発点を尋ねたり、チームがあなたに適していると思われるものを確認したりするのにも役立ちます。

一例として、私は長年にわたってBuildbotに少し貢献してきました。私はいくつかの小さな問題を修正することから始め、次にいくつかの目立ったバグを修正することでMercurialソースのステップの質を向上させました。最後に、ほとんどのWebページを書き直し、コード内のhtml-pastingをテンプレートベースのHTML生成ソリューションに置き換えました。後者は、数か月のハードワークで数百回のコミットでした。

私はMercurialの作業もいくつか行っていますが、彼らはよりうるさく、テクノロジーはより複雑なので、まだコアに修正を加えていません。私はいくつかのバグレポートを作成し、いくつかの小さな拡張機能を作成しましたが、現時点ではそれ以上大きなものはありません。

それが役に立てば幸い。

15
Macke

すぐに参加してください。しばらくの間、開発リストを監視し、快適に感じるときに自己紹介してください。多くのプロジェクトでは、バグ修正やドキュメントに簡単なジョブがあり、常連が喜んで指摘します。ほとんどのプロジェクトは、新しい人にとても親しみやすく、プロジェクトの真の資産になるように十分な速さでスクラッチできるようになります。

しばらくすると、コードベースの構造と最も重要な部分に慣れるでしょう。このようなコードを理解することはプログラミングの非常に重要な部分であり、オープンソースはそれを学ぶための素晴らしい方法です。

4
Fabio Fracassi

頑張れ。同じことをしている初心者がたくさんいます。プロジェクトリーダーは、自分のリーグに属していない、取り組むべきことを見つけるのに役立ちます。あなたは徐々に残りに成長します。

ああ、そしてあなたがコードを理解していないからといって、それがgoodであるとは限りません。そこに深刻な恐ろしいコードを見たことがあります。記述が不十分であり、本来よりもはるかに複雑になっているため、理解しにくいものもあります。

2
Brian Knoblauch