オタクはプログラムを「オープンソース」または「フリーソフトウェア」と表現することがよくあります。これらの用語が正確に何を意味し、なぜ重要なのか疑問に思っている場合は、読み続けてください。 (いいえ、「無料ソフトウェア」とは、無料でダウンロードできるということだけを意味するものではありません。)
プログラムがオープンソースかどうかは、開発者にとってだけではなく、最終的にはユーザーにとっても重要です。オープンソース ソフトウェア ライセンスは、他の方法では得られない自由をユーザーに与えます。
オープンソースの定義
プログラムがオープンソースの場合、そのソース コードはユーザーが自由に利用できます。そのユーザー (およびその他のユーザー) は、このソース コードを取得し、変更し、独自のバージョンのプログラムを配布することができます。ユーザーは、元のプログラムのコピーを好きなだけ配布することもできます。誰でも任意の目的でプログラムを使用できます。ソフトウェアにはライセンス料やその他の制限はありません。 OSI の Web サイトには、 「オープンソース」のより詳細な定義が記載されています。
たとえば、Ubuntu Linux はオープンソースのオペレーティング システムです。 Ubuntu をダウンロードし、必要なだけコピーを作成し、友人に与えることができます。 Ubuntu は、無制限の数のコンピューターにインストールできます。 Ubuntu インストール ディスクのリミックス を作成して配布できます。特にやる気がある場合は、Ubuntu のプログラムのソース コードをダウンロードして変更し、そのプログラム、または Ubuntu 自体の独自のカスタマイズ バージョンを作成できます。オープンソース ライセンスではこれを行うことができますが、クローズド ソース ライセンスでは制限が課されます。
オープンソース ソフトウェアの反対はクローズド ソース ソフトウェアです。これは、ユーザーを制限し、ソース コードをユーザーに公開しないライセンスを持っています。
オープンソース ソフトウェアの例としては、Firefox、Chrome、OpenOffice、Linux、Android などがよく知られていますが、クローズド ソース ソフトウェアの中で最も人気があるのは Microsoft Windows でしょう。
オープンソースとフリーソフトウェアの比較
オープンソース アプリケーションは通常、無料で入手できます。ただし、アプリケーションとそのソース コードの事後再配布が許可されていれば、開発者がソフトウェアのコピーに課金することを止めることはできません。
ただし、それは「フリーソフトウェア」が指すものではありません。フリーソフトウェアの「フリー」とは、「ビールの ように自由」ではなく、「自由のように 自由」を意味します。リチャード・ストールマンとフリーソフトウェア財団が率いるフリーソフトウェアキャンプは、ユーザーが制御および変更できるソフトウェアを使用する際の倫理と道徳に焦点を当てています。言い換えれば、フリーソフトウェア陣営はユーザーの自由に重点を置いているということだ。
リチャード・ストールマン。 Flickr の Fripog による画像。
オープンソース ソフトウェア運動は、この種のソフトウェアを選択するより現実的な理由に焦点を当てるために生まれました。オープンソース支持者は、倫理や道徳よりも、企業にとってより魅力的な、オープンソース ソフトウェアを使用することの実際的な利点に焦点を当てたいと考えていました。
結局のところ、オープンソースとフリーソフトウェアの支持者はどちらも同じ種類のソフトウェアを開発していますが、メッセージに関しては意見が異なります。
ライセンスの種類
オープンソース プロジェクトでは、開発者がプログラムにどれを好むかに応じて、 さまざまなライセンスが 使用されています。
GPL (GNU General Public License) は、Linux などの多くのオープンソース プロジェクトで広く使用されています。上記のオープンソースのすべての定義に加えて、GPL の条項では、誰かがオープンソース プログラムを変更して派生作品を配布する場合、その派生作品のソース コードも配布しなければならないと規定しています。言い換えれば、誰もオープンソース コードを取得して、そこからクローズド ソース プログラムを作成することはできません。変更をコミュニティにリリースしなければなりません。 Microsoftは、GPLコードを組み込んだプログラムに独自のソースコードのリリースを強制するため、GPLは「バイラル」であると述べた。もちろん、これが問題となる場合、プログラムの開発者は GPL コードを使用しないことを選択できます。
BSD ライセンスなど、他の一部のライセンスでは、開発者に対する制限が緩和されています。プログラムが BSD ライセンスに基づいてライセンスされている場合、誰でもそのプログラムのソース コードを別のプログラムに組み込むことができます。変更をコミュニティにリリースする必要はありません。これは、開発者が独自のクローズドソース プログラムにコードを組み込む自由を与えるため、GPL ライセンスよりもさらに「自由」であると考える人もいますが、権利を奪うため「自由」度が低いと考える人もいます。派生プログラムのエンドユーザーから。
ユーザーにとってのメリット
これは、開発者にとってのみ重要な、無味乾燥で重要でないものばかりではありません。オープンソース ソフトウェアの最も明白な利点は、無料で入手できることです。上記の Ubuntu Linux の例を見ると、それが明確です。Windows とは異なり、Ubuntu のコピーは制限なく、必要なだけインストールまたは配布できます。これは特に便利なサーバーです。サーバーをセットアップしている場合は、そのサーバーに Linux をインストールするだけで済みます。サーバーの仮想化クラスターをセットアップしている場合は、単一の Ubuntu サーバーを簡単に複製できます。ライセンスや、実行できる Linux インスタンスの数について心配する必要はありません。
オープンソース プログラムは柔軟性も高くなります。たとえば、Windows 8 の新しいインターフェイスは、長年のデスクトップ Windows ユーザーの多くを失望させました。 Windows はクローズド ソースであるため、Windows ユーザーは Windows 7 のインターフェイスを取得して変更し、Windows 8 で適切に動作させることはできません (一部の Windows ユーザーは試みていますが、これはリバース エンジニアリングとバイナリ ファイルの変更という骨の折れるプロセスです。 )
Ubuntu のような Linux デスクトップに、一部のユーザーが好きではない新しいデスクトップ インターフェイスが導入されると、ユーザーには選択肢が増えます。たとえば、GNOME 3 がリリースされたとき、多くの Linux デスクトップ ユーザーは同様にオフになりました。コードを古いバージョンの GNOME 2 に取り込んで、最新の Linux ディストリビューションで実行できるように変更した人もいます。これが MATE です。コードを GNOME 3 に取り込んで、好みの方法で動作するように変更した人もいます。これが Cinnamon です。一部のユーザーは、既存の代替デスクトップに切り替えたばかりです。 Windows がオープンソースであれば、Windows 8 ユーザーはより多くの選択肢と柔軟性を得ることができます。 CyanogenMod を見てみましょう。CyanogenMod は、新しいデバイスの機能とサポートを追加する人気のコミュニティ主導の Android ディストリビューションです。
オープンソース ソフトウェアを使用すると、開発者は「巨人の肩に乗って」独自のソフトウェアを作成することもできます。 Linux およびその他のオープンソース ソフトウェア上に構築されたオペレーティング システムである Android と Chrome OS をご覧ください。 Apple の OS X、つまり iOS のコアも、オープンソース コードに基づいて構築されています。 Valve は、Steam ゲーム プラットフォームの Linux への移植に熱心に取り組んでいます。これにより、Microsoft の Windows では不可能な方法で独自のハードウェアを作成し、自らの運命を制御できるようになるからです。
これは完全な説明ではありません — このテーマについては本全体が書かれています — ですが、オープンソース ソフトウェアが実際には何なのか、またそれがなぜ役立つのかについてはよく理解できるはずです。





