JavaRush /Java Blog /Random-JA /オープンソース プロジェクト: オープンソース プロジェクトとは何か、またオープンソース コミュニティの一員になる...

オープンソース プロジェクト: オープンソース プロジェクトとは何か、またオープンソース コミュニティの一員になるべき理由

Random-JA グループに公開済み
私たちは、オープンソース プロジェクトに参加した彼の個人的な経験を説明した、米国の開発者 Jonathan Beckman による記事を改作したものを紹介します。オープンソース プロジェクト: オープンソース プロジェクトとは何か、またオープンソース コミュニティの一員になるべき理由 - 1この資料から次のことを学びます:
  • オープンソース プロジェクトとは何ですか。
  • どのように貢献できるか。
  • プロジェクトとタスクをどこで探すか。

オープンソース プロジェクトに取り組む価値があるのはなぜですか?

まず第一に、これは無料のプログラミング演習です。履歴書にそのようなプロジェクトを追加することもできます。信じてください、共通の目的への貢献を説明できれば、「コースを修了しただけ」の場合よりも「ジュニア」の地位を獲得するのがはるかに簡単になります。

オープンソース プロジェクトをすぐに使える

公園を歩くのは好きですか?「冬が来た!」と言われるように、もう11月なので、今はそうではないかもしれません。天気の良い日には、整備された路地に沿って木々の間を散策するのがきっと楽しいでしょう。しかし、あなたのお気に入りの公園が自治体のサービスによって放棄されたらどうなるでしょうか? すぐに混乱してしまいます。ゴミは犬の排泄物と混じり、いたるところに散乱し、誰かが足を踏み入れるのを心配そうに待っていました。あなたがそこへ散歩に行き続けるとは考えにくいです。
オープンソース プロジェクト: オープンソース プロジェクトとは何か、またオープンソース コミュニティの一員になるべき理由 - 2
ここで、もっと幸せな光景を想像してみてください。ボランティアのグループが、お気に入りの公園を維持する責任を負いました。彼女は定期的に資金を割り当てて、乱雑で放置されていたものを非常に美しく、他の人にとって役立つものに変えることにしています。そして彼はこれを個人的な喜びのためだけでなく、大衆の喜びのためにも行っています。おそらく、あなたのお気に入りの公園は私たちの税金によって支えられていますが、一般的に上記の状況は、オープンソース プロジェクトがどのように機能するかを説明しています。
無料およびオープンソース ソフトウェアは、そのコードを誰でも利用できるアプリケーションです。これらは、任意の数のデバイスにダウンロードしたり使用したりできます。プログラム コードを自由に取得して、それを使って何でもできるし、友達に配布することもできます。これは、そのようなプログラムが MIT ライセンスなどの無料ライセンスに基づいて配布されているためです。
すべてのソフトウェアは基本的にエンドユーザー向けに設計されていますが、開発者としてオープンソース プロジェクトに貢献し、新しいソフトウェアを利用できるようにして世界をより良い場所にすることができます。オープンソース プロジェクトに参加したい場合は、そのプロジェクトの責任者を理解し、その責任者との交流を確立するように努める必要があります。私は質問で彼らを半殺しにするつもりはありませんし、作業中に包括的な監督を期待するつもりはありません。あなたは自立した大人です(まだ大人ではないとしても、自立していることは素晴らしいことです!)。もう、手を引いてすべてのステップを説明する必要がなくなることを願っています。私はこれに関しては何の役にも立ちません。しかし、初めての貢献を試み、コードをオープンソース プロジェクトに組み込む可能性がある場合に役立つ、良いアドバイスをいくつか提供できます。

プロジェクトを検索する

参加したいオープンソース プロジェクトを探している場合は、本当に興味のあるプロジェクトを見つけてください。選択できるタスクがたくさんあることが望ましいです。最初に出会ったプロジェクトで満足しないでください。そうすることで、モチベーションが高まり、仕事に真剣に取り組むことができるようになります。

オープンソース プロジェクトを探す場所

これらはパブリック GitHub リポジトリにあります。実際、そこは誰もが探している場所です。そこには興味深いものがたくさんあります。

適切な最初の問題を見つける

適切な最初の課題を見つけることが成功の鍵です。自分が処理できる以上のものを引き受けないでください。一度にすべての知識を披露しようとしないでください。できるだけ簡単な問題を探してください。これは、あなたとプロジェクトのキュレーターとの間のやり取りがどのように機能するかを理解するための最良の方法です。一部のプロジェクトでは、キュレーターが初心者開発者に適していると判断したタスクには、難易度を示す特別なラベルが付けられます。選択したプロジェクトの目的を確認するときに、次のようなものを探してください。
オープンソース プロジェクト: オープンソース プロジェクトとは何か、またオープンソース コミュニティの一員になるべき理由 - 3
適切なタスクを見つけたら、プロジェクトのキュレーターに、そのタスクに取り組みたいというコメントを書いてください。ほとんどの場合、彼らはあなたにゴーサインを与えますが、おそらく何らかの理由で別のオプションを選択するように求められるでしょう。答えが出る前に始められないとは思わないでください。ただし、やめて別のことをするように求められた場合は柔軟に対応してください。最初の課題では、CSS を少し調整する必要があるものを選択しました。実行できそうな気がしたので、落ち込むことはありませんでした。

スタートと紹介

プロジェクトを始めるのは一見簡単そうに見えますが、多くの落とし穴があります。解決する問題を選択したら、プロジェクトをマシンにデプロイする必要があります。おそらく、プロジェクトのソースは「重い」でしょう (ただし、これはプロジェクトによって異なります)。プロジェクトを実行するためだけに、多数の依存関係をインストールする必要がある場合があります。
オープンソース プロジェクト: オープンソース プロジェクトとは何か、またオープンソース コミュニティの一員になるべき理由 - 4
私が携わったプロジェクトではそのような瞬間はほとんどありませんでしたが、だからといって楽だったわけではありません。たとえば、Ruby の特定のバージョンと、Rails、PostgreSQL、Phantom JS、および Gemfile の特定のバージョンを、インストール用の Gem のリストとともにインストールする必要がありました。これはそれほど大きな要件ではないようですが、私のコンピューターで動作するプロジェクトの開発に必要な Ruby の特定のバージョンを見つけるのに大きな問題がありました。最後に、RVM を使用してバージョンを切り替えました。これも私が学んだことの 1 つで、プロジェクトをインストールしてコンピューター上で動作させるためのものです。プロジェクトを立ち上げたとき、それが Angular と Coffee Script で書かれており、Active Record を使用してバックエンドからのデータと対話していることがわかりました。これらは私たちにとって新しいことだったので、プロジェクトに取り組む前に自分たちで解決する必要がありました。

他のタスクを検索する

これは今は必要ないかもしれないし、近い将来に必要になるかもしれませんが、私はほぼすぐにこれに遭遇しました。プロジェクト内で何かが正しく動作していないことにすぐに気づくのは幸運です。このようなバグを見つけた場合は、作業現場に行ってバグがあるかどうかを確認してください。急いでサポートに連絡しないでください。すべてがうまくいっている可能性があります。通常、キュレーターが状況を管理しており、重大なエラーは発生しないはずです。ただし、注意が必要なタスクを見つけた場合は、既存のタスクの中から見つけて確認してください。おそらく、問題のあるタスクはすでに書き留められており、何もする必要はありません。ただし、取り組んでいることが終わったら、自分で解決する価値があるかもしれません。
オープンソース プロジェクト: オープンソース プロジェクトとは何か、またオープンソース コミュニティの一員になるべき理由 - 5
新しいタスクを設計して書き留めるときは、できるだけ詳細に説明するようにしてください。スクリーンショットを使用して、何を言おうとしているのかを明確に示し、サイトを見ている人が説明している問題をできるだけ簡単に理解できるようにします。私の場合、割り当てられたタスク以外に 2 つのタスクを追加することになりました。プルリクエストを行うことさえできませんでした(これはセキュリティ上の制限によるものでした)。プロジェクトが 2 歩後退したように感じましたが、実際には、タスクを記述して整理することでプロジェクトを前進させることができます。 プルリクエスト (PR) の作成
プル リクエスト - リポジトリ (プロジェクト コード リポジトリ) 内のコードを変更するための提案。オープン プロジェクトに取り組んでいる場合は、常に独自のブランチを作成する必要があり、プル リクエストがプロジェクトのキュレーターによって承認された後にのみメイン コード (マスター) に変更を加えることが推奨されます。
あなたは自分に割り当てられた問題を解決しました。進捗レポートを書く前に、解決策を評価できる人に解決策を見せてください。プレビューは常に素晴らしいアイデアですが、オープンソース プロジェクトに初めて貢献する場合は、必ず行う必要があります。未完成のコードや正しく動作していないコードのせいで赤面したくないですか? 同じ理由で、プロジェクトのキュレーターは、プル リクエストを送信する前に、必要なすべてのテストに合格するように求めます。したがって、キュレーターから確認を受ける前に、自分の作品に自信が持てるように事前に自分自身をチェックし、必要に応じて修正してください。プロジェクトの管理者によって受け入れられた名前またはスタイルを必ず遵守してください。情報はCONTRIBUTING.mdファイルにあり、ほとんどのプロジェクトにあります。また、そこでは、コミット メッセージをどのような形式で作成する必要があるか、プル リクエストの説明はどのようなものであるべきか、新しいタスクの作成方法を明確にすることができます。

タスクを離れる

時々、自分がその任務に達していないことに気づくことがあります。または、プロジェクトに取り組む時間があると思っていたのに、実際には時間がなく、緊急の仕事が舞い込んできて、それに取り組む必要がある場合もあります。これは正常です。重要なのは、タスクのサブスクライブを解除し、プロジェクトの作業を続行できないことをキュレーターに知らせるメッセージを残すことです。ただし、いかなる場合でも、キュレーターに通知せずにタスクを放棄し、購読を解除してはなりません。
オープンソース プロジェクト: オープンソース プロジェクトとは何か、またオープンソース コミュニティの一員になるべき理由 - 6

結論

オープンソース プロジェクトの開発に参加することは大きなメリットだと私は信じています。あなたは練習していると同時に、他の人にとって役立つことをしています。一方、このプロジェクトは履歴書のもう 1 つのポイントとなり、希望するポジションを争う際にさらなる利点をもたらす可能性があります。つい先週の金曜日、私はオープンソース プロジェクトでの仕事のおかげで仕事 (とてもクールで興味深い仕事、世界をより良い方向に変える可能性のある仕事、本当に冗談ではありません) に就いたプログラマーと話をしました。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION