|
オープンソースとは何ですか? 「オープンソース」という用語はもともと、すべてのユーザーが自由に変更できるように設計を公開するメカニズムを指していました。 このメカニズムは主にソフトウェア開発プロセスで使用されますが、徐々に進化して、一般の参加、議論、変更を可能にすることで開発を加速し、製品、計画、プロジェクトの透明性と公共の福祉を高める方法を指すようになりました。 オープンソースソフトウェアとは何ですか? オープンソースソフトウェアとは、ソースコードが公開され、すべてのユーザーが自由に改変できるソフトウェアのことです。一般的なコンピュータユーザーにとって、ソースコードという概念は馴染みのないものです。しかし、プロのプログラマーにとって、ソースコードを変更する権利を持つことは、プログラムの欠陥を修正するだけでなく、それに基づいて様々な機能を追加することを可能にします。 オープンソース ソフトウェアと他の一般的なソフトウェアの違いは何ですか? オープンソースソフトウェアとは対照的に、ソースコードが公開されておらず、改変できないソフトウェアは「著作権ソフトウェア」または「クローズドソースソフトウェア」と呼ばれます。ソースコードの著作権は開発会社に帰属するため、通常、元の開発チームのみが改変する法的権利を有します。Microsoft WordやAdobe Photoshopが最も有名な例です。著作権ソフトウェアを使用する前に、ユーザーは多くの条件に同意する必要があります。これには、元の開発者の許可なしにソフトウェアを改変しないことも含まれます。 LibreOfficeやGNU Image Manipulation Programなどのオープンソースソフトウェアは、開発者がソースコードを公開し、他の開発者がそれを観察、学習、さらには改変することを許可するという点で、ライセンスソフトウェアとは異なります。オープンソースソフトウェアを使用する前に、ユーザーは特定の利用規約に同意する必要がありますが、これらの規約はライセンスソフトウェアの規約とは大きく異なります。オープンソースソフトウェアの利用規約は、改変を奨励するだけでなく、改変版を無償で一般に公開することを義務付けているものもあります。つまり、これらの規約に同意するプログラマーは誰でも、これらのオープンソースソフトウェアプログラムのソースコードを自由に改変またはアップグレードできるということです。 オープンソース・イニシアティブ(OSI)が述べているように、「オープンソースとは、単にソースコードを公開することだけではありません。」オープンソースの根幹となる精神は、誰もが自身のニーズに応じてソースコードを変更する権利を持つことです。さらに、OSIはオープンソースの他の側面についても言及しています。 オープンソースソフトウェアはプログラマーにのみ関係があるのでしょうか? オープンソースの潮流は、プログラマーだけでなく一般ユーザーにも恩恵をもたらしています。実際、世界のインターネットアーキテクチャの大部分は、LinuxオペレーティングシステムやApacheウェブサーバーアプリケーションなどのオープンソース技術に基づいて構築されているため、ウェブブラウジング、メールの送受信、インスタントメッセージ、音楽ストリーミングなど、あらゆるインターネットユーザーが、直接的または間接的に、ある程度のオープンソースソフトウェアの恩恵を受けています。 現在、パソコンの多くのコンピューティング機能は、リモート処理、つまり最も人気のあるクラウドコンピューティング機能に徐々に置き換えられつつあります。多くのパソコンユーザーは、クラウドコンピューティングへの依存度が高まっています。ワードプロセッサやメール管理から画像処理まで、ユーザーはパソコンにインストールされたソフトウェアよりも、ウェブページやモバイルアプリケーションなど、より便利なオプションを利用できるようになっています。 このリモート処理モデルは、パーソナルコンピュータをウィンドウとして使い、リモートコンピュータと組み合わせることでクラウドのようなネットワーク構造を形成するため、クラウドコンピューティングと呼ばれます。今日の高度情報化社会において、モバイルインターネットデバイスの普及に伴い、クラウドコンピューティングの重要性は徐々に人々の日常生活に浸透しています。Googleドキュメントなど、一部のクラウドコンピューティングアプリケーションはクローズドエンドライセンスのプログラムです。一方、Etherpadなどのアプリケーションはオープンソースソフトウェアです。 一般ユーザーが利用するクラウドアプリケーションに加え、それらを支えるプラットフォームも、その属性によりクローズドソースとOpenStackなどのオープンソースに分けられます。 オープンソース ソフトウェアを選択する理由は何ですか? オープンソースソフトウェアは、クローズドソースのプロプライエタリソフトウェアと比較して、ユーザーの間で高い人気を誇っています。プログラマーにとって、オープンソースソフトウェアのオープンソースコードは、自身のニーズに合わせて開発を進めるだけでなく、ソースコードを共有したり、会議に参加したり、他の開発者のソースコードを観察したりすることで、より深く学び、アイデアを交換する機会にもなります。 さらに、プログラミングの専門家以外のユーザーにとって、オープンソースソフトウェアのオープン性は、プログラミングコミュニティによる共同開発を通じて、セキュリティや機能上の欠陥や脆弱性を迅速に修正・改善することを可能にします。同時に、オープンソースソフトウェアの高い信頼性と、パブリックによる長期的なメンテナンスおよびアップグレードサポートを考慮すると、長期プロジェクトの企画者や実施者は、著作権で保護されたソフトウェアが陳腐化したり消滅したりする問題を回避するために、オープンソースソフトウェアの使用を好む傾向があります。 オープンソース = 無料? オープンソースに関してほとんどの人が抱いている最大の誤解は、オープンソースは無料で使用できるものだと考えていることです。 実際、オープンソースコードを修正またはアップグレードしたバージョンであっても、プログラマーは依然としてユーザーにソフトウェアを有料で提供する権利を有しています。しかし、オープンソースソフトウェアの利用規約では、開発者はソフトウェアと共にソースコードも公開することが義務付けられているため、多くの開発者はソフトウェアの販売から、フリーソフトウェアのリリースと有料サポートサービスの提供へと徐々に移行しています。こうすることで、ユーザーはオープンソースソフトウェアを無料で利用し続けることができ、開発者はインストール、使用、デバッグなどのサポートを提供することで利益を得ることができます。 オープンソースの概念は、ソフトウェアの開発と利用に限定されるものではなく、ライフスタイルへの意識へと高めることを目指しています。オープンソースの姿勢を身につけるということは、透明性のある共有と公衆との協力、失敗を進歩の一部と捉えること、そしてオープンソースの概念とモデルを可能な限り奨励・推進することを意味します。 さらに、オープンソースは、公共問題に対する現在の国民の無関心を反映するものでもあります。公共問題への積極的な参加を通してのみ、現実世界における独占を打破することができます。これは、クローズドソースソフトウェアのクローズドソースコードに似ています。クローズドソースソフトウェアでは、少数の人々が大多数の人々の生活を形作る計画やルール策定のプロセスを支配しています。ソフトウェア開発、教育、ビジネス、政治など、あらゆる分野において、あらゆるルール(ソースコード、制度、法律など)の策定は、オープンな国民参加を通して、より良く、より完全な成果を生み出すことができます。 |