オープンソースプロジェクトに参加する[終了]


19

私はコンピューター工学の4年生に向かい、この夏と秋にインターンシップを取得しました。私は宿題をしないので、この機会を利用して、ある種のオープンソースプロジェクトに参加したいと思います。私はC、C ++、Java、Pythonに精通しています。また、私はLinuxにかなり精通しており、現時点でラップトップで使用しており、今学期はLinuxに焦点を当てていました。

AndroidまたはUbuntuを検討することを検討していましたが、過去には少し圧倒されました。誰かアドバイスはありますか?取り組むべき良いプロジェクトとは何か、どこから始めればよいか、本当に貢献できるかどうかに興味があります。

そして最後に、人々の変化は実際にどれくらいの頻度で受け入れられますか?拒否するためだけにコードを書く頻度はどれくらいですか?

tl:drオープンソースプロジェクトに貢献することで、より多くのプログラミング経験を探しています。シーンに新しいアドバイスが必要です。


ここに着陸することは確かに価値があると思います!
squillman

6
良いアイデアのように聞こえますが、インターンシップを行っている会社の「月明かり」のルールを確認してください。一部の場所、特にソフトウェアショップの場合は、自分の時間や自分のPCでも、できることを非常に制限します。
スティーブ

1
おそらく、あなたが言及した言語よりも宣言的な新しいプログラミング言語を学ぶことを検討してください。ハスケルやスカラのように。次に、オープンソースプロジェクトに取り組みます。
-mrsteve

回答:


15

月明かりについて言及したスティーブヘイへの+1。

ソフトウェアショップで働いている場合、雇用者が自分の時間に取り組んだソフトウェアの所有権を主張する状況に陥ることがあります。始める前に、雇用主に相談して、会社の月明かりの方針を明確にしてください。

始めるのに適した場所はOpenHatchです。彼らは人々がオープンソースプロジェクトに参加するのを助けることに専念しているウェブサイトです。彼らはあなたにサインアップしたプロジェクトのいずれかを開始するための「一口サイズの」バグのリストを提供することができ、あなたをメンターしようとする他の貢献者と連絡を取るのを助けることができます選択したプロジェクトおよび/または言語。

パッチの上流での受け入れは、ほとんどの場合、パッチの品質、および付随するテストケースがあるかどうかに左右されます。実際、多くのプロジェクトは、パッチを検証するテストが含まれていない限り、パッチを受け入れません。
コードの品質は主観的に判断されるものであるため、上流のメンテナーからの建設的な批判に対処して、コードを改善する準備をしてください。


1
月明かりに関する彼らの方針は、私も考慮していなかったものです。また、OpenHatch.orgはかなりクールに見えます。今すぐサインアップしてチェックしてください。
タルモン

2
月明かりに関するもう1つの注意点、雇用主に尋ねる場合、電子メールでペーパートレイルを行うことです。そうでなければ、彼らが後で彼らの考えを変えて、彼らがあなたのプロジェクトへの彼らの主張を決して放棄しなかったと言うのを止めることは何ですか?ちょっとした考え。
ジェフウェリング

この質問が閉じられたとは信じられません。特に、意見に基づくかどうかにかかわらず、非常に多くの優れた「回答」があるためです。
デイブカンター14年

7

オープンソースプロジェクト(FireBreath)のマネージャーとして、使用しているプロジェクトや興味のあるプロジェクトを見つけて、支援できる方法を探すことをお勧めします。コードを作成しなくてもできることはたくさんあります。私たちのプロジェクトでは、以下を支援する人々が必要です。

  • バグのテストと報告
  • Webサイトのドキュメントを更新する
  • 二次ツールの作成を支援する
  • IRCルームでハングアウトし、新しいユーザーを支援する
  • FireBreathを使用して新しいユーザーが見ることができるプラグインの例を作成する

もちろん、これらは私のプロジェクトに固有のものです(そして、あなたは手助けを歓迎します!;-)が、すべてのプロジェクトには新しいユーザーが貢献できるようなものがあります。別のプロジェクトへの私の最近の貢献は、gitoliteでのワイルドカードリポジトリパーミッションのより良い管理のためのツールを追加することでした。面白いと思うプロジェクトや使用できるプロジェクトにこだわる!

がんばろう!


私はそのようなことすら考えていませんでした。提案をありがとう。これらのタイプのことを必要とする新しいプロジェクトを探していくつもりです。
アンドリュー

ドキュメントの場合は+1。SharePoint SUSHIのコーディネーターとして、書くのが最も退屈で難しいものの1つはドキュメントですが、新しいユーザーにとっても最も重要です。そこを支援することで、プロジェクトの機能とその仕組みについても理解できます。
ライアンヘイズ

3

どのプロジェクトを選択するべきかはわかりません。これは実際にあなた次第です。ただし、参加方法については説明できます。プロジェクトに情熱を感じている場合、つまり、しばらくの間アプリケーションを使用している場合(OSの場合は簡単ではないかもしれません)、提案された変更(拡張、バグ修正)、プロジェクトオーナーにレビュー/統合を依頼してください。
これはGitHubのプロジェクトではかなり簡単です。パッチを作成してプルリクエストを送信するだけです。
とにかく、提出する価値のあるパッチが多ければ多いほど、彼らはあなたをコアチームに歓迎するでしょう。


2

特定の言語に精通していない場合でも、高く評価されている活動がまだたくさんあります。テスト、チュートリアルの作成、APIドキュメントの作成、プロジェクトのWebサイトの作成などが含まれます。特別な関心がある場合は、その分野でプロジェクトを見つけ、ドメインの知識を提供します。(たとえば、化学OSプロジェクトの活発なコミュニティがあります)。


2

オープンソースプロジェクトに入るために、でチラッていOpenHatch -彼らの全体の使命です。

オープンソースへの参入障壁を下げ、多様性を高めることを目標としたオープンソースプロジェクト。私たちはこれらの目標を数々のイニシアチブを通して達成しています...


2
それが何をするのか、そして尋ねられた質問に答えるのになぜそれをお勧めするのか、もっと説明してもらえますか?Stack Exchange では「リンクのみの回答」は歓迎されません
-gnat

1

たとえば、Mozillaは常にプロジェクトの開発とテストを行うC ++プログラマを探しています。大規模なコードベースをダウンロードして、それを構築するのに何時間も費やすことは、新参者にとって圧倒的です。その後、6か月近くかかり、1週間に平均10時間以上かけて、それに慣れて、バグや欠陥などを理解します。その後、すぐに、再現、分離、修正、テスト、回帰テスト、パッチの適用方法を理解できるようになります。これをさらに行うと、コードベースへの直接書き込みアクセスを取得したり、機能を監視したりできます。これは、多くの人が取り組んでいる成熟したプロジェクトすべてに当てはまると思います。

一方、開発する人がいないため、多くのプロジェクトが死に絶えています。これらの種類のドキュメントやドキュメントを手伝ってくれる人を見つけるのは難しいかもしれません。

これらの両極端のバランスをとるために、頻繁にまたは毎日使用する必要があるプログラムを見つけることができます。機能セットをすぐに最大限に活用できるように、十分に使用してください。おそらく、他のオプションよりもそれを使用することに何らかの親和性を開発します。次に、提案する機能を最もよく理解している可能性が高いため、機能のリクエストを送信するか、自分でそれを引き受けることができます。表面的には、このオプションを使用すると、プログラムの機能を最大限に活用するつもりはないように感じることができます。十分に長く滞在する場合、プログラムが実際に実行できる以上のことを行う必要があります。セキュリティ/プライバシーの修正、微妙な問題、使いやすさの改善などが考えられます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.