オープンソフトウェアのプログラマーになる

著者: Morris Wright
作成日: 24 4月 2021
更新日: 1 J 2024
Anonim
【ゆっくり解説】 オープンソースってなあに?
ビデオ: 【ゆっくり解説】 オープンソースってなあに?

コンテンツ

オープンソフトウェアの作成と使用は、単なるプログラミングの形式(プログラマーの世界では「ハッキング」とも呼ばれます)ではなく、一種の哲学です。コーディングするにはプログラミング言語を知っていれば十分ですが、この記事では、コミュニティに参加し、友達を作り、すばらしいプロジェクトで共同作業を行い、他では得られないプロファイルで尊敬されるスペシャリストになる方法について説明します。オープンソフトウェアの世界では、エリートのトップレベルのプログラマーだけが会社で実行できるタスクを非常に簡単に割り当てることができます。これがあなたにどれだけの経験をもたらすことができるかについて考えてください。ただし、オープンソフトウェアプログラマーになることを決定したら、この目標に時間を費やすことをいとわない必要があります。これは、すでにIT学生である場合にも当てはまります。この記事は、ハッカーやクラッカーになる方法についてではありません。

ステップに

  1. 優れたUnixディストリビューションをダウンロードしてください。 GNU / Linuxはプログラミングで最も人気のあるものの1つですが、GNU Hurd、BSD、Solaris、および(ある程度)Mac OSXも一般的に使用されています。
  2. コマンドラインの使用方法を学びます。 コマンドラインを使用すると、Unixライクなオペレーティングシステムでさらに多くのことができます。
  3. 多かれ少なかれ満足のいくレベルに達するまで、いくつかの人気のあるプログラミング言語を学びましょう。 そうしないと、オープンソフトウェアコミュニティにコード(ソフトウェアプロジェクトの最も重要な部分)を提供できません。一部のソースでは、一度に2つの言語(1つのシステム言語(C、Javaなど)とスクリプト言語(Python、Ruby、Perlなど))から始めることを提案しています。
  4. 生産性を高めるには、NetBeansまたは同様の統合開発環境が必要です。
  5. viやEmacsなどの高度なエディターの使い方を学びましょう。 彼らはより高い学習曲線を持っていますが、あなたはそれらでもっと多くのことをすることができます。
  6. バージョン管理について学びます。 バージョン管理は、おそらく共有ソフトウェア開発のためのコラボレーションの最も重要なツールです。パッチを作成して適用する方法を理解します。コミュニティでのオープンソフトウェア開発のほとんどは、さまざまなパッチの作成、議論、および適用を通じて行われます。
  7. 経験を積むために簡単に参加できる、適切で小さなオープンソフトウェアプロジェクトを見つけてください。 このようなプロジェクトのほとんどは、最近SourceForge.netで見つけることができます。適切なプロジェクトには次のものが含まれます。
    1. 知っているプログラミング言語を使用してください。
    2. 最近のリリースでアクティブになります。
    3. すでに3〜5人の開発者で構成されています。
    4. バージョン管理を使用するには。
    5. 既存のコードをあまり変更せずに、すぐに開始できる部分があります。
    6. コードに加えて、優れたプロジェクトには、アクティブなディスカッションリスト、バグレポート、改善要求の取得と実装、および同様のアクティビティもあります。
  8. 選択したプロジェクトの管理者に連絡してください。 開発者が少ない小さなプロジェクトでは、通常、あなたの助けはすぐに受け入れられます。
  9. プロジェクトのルールを注意深く読み、多かれ少なかれそれらに従ってください。 プログラミングスタイルのルールや、変更を別のテキストファイルに記録する必要性は、最初はばかげているように思えるかもしれません。ただし、これらのルールの目的は共有作業を可能にすることであり、ほとんどのプロジェクトはそれらと連携します。
  10. このプロジェクトに数か月間取り組みます。 管理者や他のプロジェクトメンバーの発言に注意深く耳を傾けてください。プログラミング以外にも、学ぶべきことがたくさんあります。しかし、本当に気に入らない場合は、停止して別のプロジェクトに切り替えてください。
  11. 地下プロジェクトに長くとらわれないでください。 そのチームでうまく働くことができたら、もっと深刻な何かを探し始める時が来ました。
  12. 真面目で高レベルのオープンソフトウェアまたはオープンソースプロジェクトを探してください。 そのようなプロジェクトのほとんどは、GNUまたはApache組織によって所有されています。
  13. 私たちはここで大きな飛躍を遂げているので、あなたははるかに暖かいレセプションを考慮に入れなければなりません。 ほとんどの場合、初めてコードリポジトリへの直接書き込みアクセスなしで実行するように求められます。ただし、以前の地下プロジェクトは多くのことを教えてくれたはずです。そのため、生産的な貢献を数か月行った後、自分が持つべきだと思う権利を主張することができます。
  14. 真面目な仕事を引き受けて、それを解決してください。 時間です。恐れることはありません。タスクが当初考えていたよりもはるかに難しいことがわかった場合でも続行します。このステップでは、あきらめないことが重要です。
  15. 可能であれば、Googleの「Summerof Code」に申し込んで、この冒険にいくらかのお金を投入してください。 しかし、彼らは本当に優秀なプログラマーよりもはるかに少ない資金提供を受けているので、申請が受け入れられなくても心配しないでください。
  16. 近くで開催されている適切な会議(「Linuxの日」など)を見つけて、そこでプロジェクトを発表してみてください(「Linuxの日」など)。プロジェクト全体、プログラムする部分だけではありません)。 あなたが真剣なフリー/オープンソースプロジェクトを代表していると述べた後、主催者はしばしばあなたに会議費を補償します(そうでなければ、会議はとにかく不適切である可能性があります)。 Linuxラップトップ(お持ちの場合)を持参し、いくつかのデモを実行します。プレゼンテーションやポスターの準備に使用できる資料については、プロジェクトマネージャーに問い合わせてください。
  17. インターネットで近くのインストールイベントに関するお知らせを検索し、最初にユーザーとして参加して(発生するすべての問題とハッカーがそれらを修正する方法に注意してください)、次回プログラムのインストールを提案します。
  18. タスクを完了し、自動テストで作業を確認して、プロジェクトに貢献してください。 完了です!確かに、プロジェクトのプログラマーの何人かに直接会って、結果について一緒にビールを一杯あげてみてください。
  19. 理解を深めるために、オープンソフトウェアプロジェクトの開発履歴の実際の例を見てください(上記を参照)。 各上昇曲線は、1人の開発者からの貢献(コード行)を表しています。開発者は年齢とともに活動性が低下する傾向がありますが、新しい人が参加してもプロジェクトはスピードアップすることがよくあります。したがって、ポケットにいくつかの有用なスキルを持って到着した場合、チームがあなたを招待してはならない理由はありません。

チップ

  • プロジェクト内の実際の要件について質問する前に、プロジェクトのドキュメントとメーリングリストのアーカイブで回答を探してください。
  • 開始したプログラミング作業は常に終了しようとします。構築できない、実行できない、システムがクラッシュしますか?そこ することが すべての理由、そしてあなたがソースコードを持っているなら、それは通常あなたがシステムを持っていることを意味します 上手 特にいくつかのオンライン調査の助けを借りて、あなたがやりたいことを何でもするように強制することができます。もちろん、このルールには限界がありますが、決して簡単に諦めないことが重要です。
  • 実際のハッカーコミュニティの一部からそのように認識された後でのみ、自分をプログラマー(またはハッカー)と呼んでください。
  • 最初に、現時点で誰もあまり積極的に作業していないクラス、モジュール、またはその他のユニットを選択します。同じクラスまたはポジションで一緒に働くには、あらゆる側面からのより多くのスキルとケアが必要です。
  • 一部のハッカー/プログラマーの雇用主は、勤務時間中に貢献できるように十分な動機を持っているようです(通常、機関はプログラマーが開発している無料のオープンソースプログラムを使用しているため)。考えてみてください、多分あなたはこの方法で必要な時間の少なくともいくらかを得ることができます。
  • それでも自分自身に十分な自信がない場合は、コードの欠落していると思われる部分から始めて、最初から作成することができます。既存のコードへの変更は、批判される可能性がはるかに高くなります。

警告

  • コミュニティプロジェクト内でのハッカーのステータスは、過去よりも現在を反映しています。プロジェクトリーダーからの推薦などをご希望の場合は、引き続き積極的に貢献しているかどうかをお尋ねください。
  • 小さなコードの最適化、余分なコメント、コーディングスタイルの改善、およびその他の同様の「小規模な」ことには入らないでください。これは、深刻な貢献よりもはるかに多くの批判に直面する可能性があります。代わりに、これらの変更を単一の「クリーンアップ」パッチに含めることができます。
  • オープンソフトウェアハッカーと直接会う予定がある場合は、Windowsラップトップを家に置いておきます。 Mac OSの方が少し許容範囲が広いですが、実際には歓迎されていません。ラップトップを持参する場合は、Linuxまたは「オープンソフトウェア」と見なされるその他のオペレーティングシステムを実行している必要があります。
  • 電子メールクライアントがHTMLメッセージをサポートしている場合は、この機能を無効にする必要があります。商用ソフトウェア(Microsoft Wordなど)のみが正しく開くことができるドキュメントを添付しないでください。ハッカーはこれを不快だと考えています。
  • コードが承認されたオープンソースライセンスでカバーされていない会社のプロジェクトにボランティアとして参加しないでください。そのような場合、プロジェクトの本当に重要な部分は、所有者から密室にとどまる可能性が高く、あなたが有用なことを学ぶのを妨げます。
  • プログラミングまたはプログラミングツールの基本についての質問は避けてください。オープンソフトウェアプログラマーの時間は貴重です。代わりに、アマチュアまたは初心者のプログラマーグループでプログラミングの基本について話し合ってください。
  • 確立された非常に成功したプロジェクトには、あなたの仕事を決して払い戻さないという方針が書かれているか、書かれていない可能性があります(お金がない、自分を宣伝する能力がない、貢献に関係なく地位が高いなど-参照:Do_not_expect_reward Wikipedia)。これに同意できない場合は、そのような態度をとることができない、より一般的なプロジェクトに固執してください。
  • あなたがいつも誇り高い孤独で過ごしたいのでない限り、あなた自身のプロジェクトを始めないでください。同じ理由で、前のチームがすでに失ったすでに放棄されたプロジェクトを復活させる試みに着手しない方が良いです。
  • コードを提供したことのないプロジェクトについての非公式の会議の場合、完全に無視されているという不快な気持ちになります。心配しないでください。ハッカーの中には、自分のコードを尊重した後、後で仲良くなることができる人もいます。
  • 大規模なオープンソフトウェアプロジェクト、特にGNUドメイン周辺のプロジェクトは、あなたの仕事をあなたの個人的なビジネスとして扱いません。あなたがソフトウェア関連の会社で仕事を得た後、彼らはあなたの雇用主に特定の契約に署名するように頼みます[1]、それは会社が署名するかしないかです。これにより、要件がそれほど厳しくないプロジェクトを選択せざるを得なくなる可能性があります。

必需品

  • Linux。多くのオープンソフトウェアプロジェクトは、Windowsでのビルドがより複雑であるか、正しくビルドされていません。これは、携帯電話、USBキー、その他のデバイスのプログラミングに特化した高度なプロジェクトに特に当てはまります。
  • インターネット接続が比較的良好なコンピューター。 Windowsとのデュアルブートを維持したい場合は、Linux用の2番目のハードドライブまたはパーティションが適切なソリューションになる可能性があります。
  • 少なくとも1つのプログラミング言語の基本的な知識と、さらに学びたいという強い意志。現在最も人気のある言語はCとJavaのようです。
  • かなりの時間、少なくとも週に5時間(典型的なハードコアプログラマーはなんと14時間貢献します)。
  • 正式なIT教育はあなたの道をはるかに簡単にしますが、これはそれです ない 必須の要件であり、実際のハッカーコミュニティがそれについて質問することはありません。プログラマー/ハッカーは、成績、年齢、人種、地位などの偽の基準ではなく、誰かのプログラミングによってお互いを判断します。パッチを評価するオープンソースハッカーの少なくとも60%は「正しい」大学の学位を持っており、プロジェクトにナンセンスを提供することはできません。
  • 最後のステップ(会議と「パーティーのインストール」)では、自分のラップトップを利用できます。しかし、自宅で作業するのは問題があるので、2台目のマシンを購入できる場合にのみ購入してください。
  • オープンソースソフトウェアの「ハッカー」になると説明されている道のりは、完了するまでに少なくとも2年かかります。