|
オープンソースプロジェクトは今や至る所に存在し、Webからパソコン、スマートフォンまで、あらゆる場所で見かけるようになりました。本日の記事では、以下の3つのトピックについて考察します。 • オープンソースの定義 • 人気のオープンソースプロジェクトの例 • オープンソースプロジェクトに参加する方法 1. オープンソース ソフトウェアとは正確には何ですか? オープンソース ソフトウェアは、ソース コードが公開されており、特定のライセンス メカニズムの対象となるコンピュータ ソフトウェアのサブクラスであり、誰でもコードを変更したり、コードまたは実行可能ファイルを再配布したりできます。 オープンソース ソフトウェアは通常、複数の人々によって開発および保守されますが、実際には誰でもそのコードにアクセスし、必要に応じてその中で自分のアイデアを表現することができます。 私はいくつかのオープンソースプロジェクトにコードを提供してきましたが、それらに貢献することは、優れた開発者になり、技術コミュニティに貢献するための最良の方法です。他の開発者が書いたコードを見て、自分のコードを改善する方法を徐々に学ぶことができます。個人的に、他の開発者と共に構築したオープンソースプロジェクトが成長するのを見るのは、私の技術キャリアの中で最も誇らしい経験の一つです。 最も人気のあるオープンソースソフトウェアソリューションをいくつか見てみましょう。オープンソースプロジェクトの数と、GoogleやAutomatticといった巨大企業がそれらをサポートする様子に、きっと驚かれることでしょう。 2. 一般的なオープンソースプロジェクト 現在、世界には数百万ものオープンソースプロジェクトが存在します。以下に、最も一般的でよく知られているプロジェクトの一部をご紹介します。 • インターネット上で最も人気のあるコンテンツ管理システムの 1 つである WordPress には、現在何百万人ものユーザーがいます。 • PHP は現在インターネット上で最も人気のある Web プログラミング言語であり、Facebook を含むオンライン コンテンツの 80% 以上をサポートしています。 • Audacity は、無料で使いやすいマルチチャンネル オーディオ エディターおよび録音ツールです。 • OpenOffice は Microsoft Office の無料代替品です。 • Android オープンソース プロジェクトはよく知られたモバイル オペレーティング システムであり、その名前が示すとおり、オープンソース プロジェクトです。 • Firefox OS は、Mozilla によって開発および保守されているモバイル オペレーティング システムです。 3. オープンソースのメカニズムはどのように機能しますか? オープンソースプロジェクトの開発は、主に3つの段階に分けられます。以下で各段階を簡単に見ていきましょう。 フェーズ1:貢献 オープンソースプロジェクトに積極的に参加したい場合、まずはソフトウェアを開発している企業や組織に連絡を取り、貢献できる可能性について問い合わせてみましょう。このアプローチは、特に小規模なプロジェクトや新興企業に適しています。ただし、ほとんどのオープンソースプロジェクトでは、作業に対して報酬が支払われることはありません。参加は完全に任意です。 昔、オープンソースプロジェクトに携わっていた頃は、プロジェクトマネジメントからの返信を何週間も待ち続けていました。実際、2ヶ月も待たされたこともありました。でも、どうかもうしばらくお待ちください。この確認メールは本当に重要で、私たちの忍耐力に見合うだけの価値があります。通知を受け取れば、開発は正式に開始できます。 さらに、大規模なプロジェクトでは、誰もが直接コーディングを開始し、独自の派生バージョンを構築することができます。ただし、以下の点にご注意ください。プロジェクトへの参加者が多すぎると、私たちの努力が最終バージョンに反映されない可能性があります。そのような場合は、メリットとデメリットをよく検討してください。満足できない場合は、思い切って撤退することも可能です。 プロジェクトを始めるためのインスピレーションを探しているなら、自分のアイデアにとらわれないでください。GitHub、SourceForge、Google Codeなどのサイトには、興味深いプロジェクトがたくさんあります。 プロジェクト関連の作業に実際に取り組む前に、まず全員がプロジェクトの運営方法を理解し、その構造をどのように管理するかを理解する必要があります。そうすることで初めて、誰もが、必要な時に誰が困難を乗り越えられるのかを明確に認識できるようになります。さらに、作業を開始する前に達成したい目標を明確にしておくことをお勧めします。そうすることで、プロジェクトを混乱させたり、他の開発者が既に実装している既存の機能に貴重な時間を無駄にしたりすることがなくなります。 フェーズ2:提出 全員が予定の変更を完了するか、長い間構想されていた新機能を実装したら、次のステップは変更をメイン プロジェクトに送信し、結果をプロジェクト保守スタッフに送信してレビューを受けることです。 この作業には、GitHubやSourceForgeなどのプラットフォームの利用が必要になる場合があります。プロジェクトへの変更は通常、会社またはプロジェクト管理チームから「承認」または「却下」のフィードバックを受け取ります。これにより、開発成果が実際にプロジェクトで使用されているかどうかを全員が把握できます。「承認」の場合はリリースフェーズに移行します。「却下」の場合は、貢献フェーズに戻り、アイデアに欠陥がなかったかどうかを慎重に検討する必要があります。 フェーズ3:リリース リリースは、オープンソースプロジェクトの開発プロセス全体の中で、おそらく最も複雑なフェーズです。この段階では、ソフトウェアの最終バージョンがホストプロジェクトのコードベースにコミットされ、非開発者向けに提供されるライブバージョンもそれに応じて更新されます。この時点で、企業と開発者はようやく骨の折れる作業に別れを告げることができ、ソフトウェアの成果物は一般公開され、評価できるようになります。 内容の要約 この記事を読んで、皆さんがオープンソース開発の仕組みにさらに信頼を寄せ、そして何よりも、プロジェクトの開発プロセスに個人的にどのように参加すればよいかを明確に理解していただければ幸いです。オープンソース開発は本当に魅力的ですが、時には期待した結果が得られず、もどかしく感じることもあるでしょう。しかし、常に覚えておいてください。困難に直面しても、粘り強く、簡単に諦めないこと。これが成功への必須条件です。 このシリーズの次回では、オープンソースプロジェクトのライセンスの仕組みと、開発者が問題解決の解決策を見つける方法について探っていきます。ご質問がございましたら、コメント欄で他の読者と共有してください。 英語: http://code.tutsplus.com/tutorials/open-source-101-what-is-it--cms-21278 |