オープンソースソフトウェアとは何ですか、またなぜそれが重要なのですか?
オタクは、プログラムを「オープンソース」または「フリーソフトウェア」と表現することがよくあります。これらの用語が何を意味するのか、なぜそれらが重要であるのか正確に疑問に思っているなら、読んでください。 (いいえ、「フリーソフトウェア」とは、無料でダウンロードできるという意味ではありません。)
プログラムがオープンソースであるかどうかにかかわらず、開発者にとってだけではなく、最終的にはユーザーにとっても重要です。オープンソースソフトウェアライセンスは、そうでなければ持っていなかったであろう自由をユーザーに与える.
画像のクレジット:FlickrのQuinn Dombrowski
オープンソースの定義
プログラムがオープンソースであれば、そのソースコードは自由に利用できます。そのユーザ、そして他の誰もが、このソースコードを入手し、それを修正し、そして自分のバージョンのプログラムを配布することができます。ユーザーは、オリジナルのプログラムのコピーを必要なだけ配布することもできます。誰でも任意の目的のためにプログラムを使用することができます。ソフトウェアにはライセンス料やその他の制限はありません。 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の条項では、オープンソースの上記の定義すべてに加えて、誰かがオープンソースプログラムを修正して派生著作物を配布する場合、派生著作物のソースコードも配布する必要があると規定しています。言い換えれば、誰もオープンソースコードを入手してそれからクローズドソースプログラムを作成することはできません - 彼らはコミュニティに彼らの変更をリリースしなければなりません。マイクロソフトは、GPLコードを組み込んだプログラムに独自のソースコードのリリースを強制するため、この理由からGPLを「ウイルス性がある」と述べました。もちろん、プログラムの開発者はこれが問題であればGPLコードを使わないことを選ぶことができます。.
BSDライセンスなど、その他のライセンスの中には開発者に対する制限が少ないものがあります。プログラムがBSDライセンスの下でライセンスされている場合は、誰でもそのプログラムのソースコードを別のプログラムに組み込むことができます。彼らは自分たちの変更をコミュニティに公開する必要はありません。 GPLライセンスよりも「無料」であると考える人もいますが、コードを自分のクローズドソースプログラムに組み込む自由が与えられるため、権利を奪うために「無料」ではないと考える人もいます。派生プログラムのエンドユーザーから.
ユーザーにとっての利点
これは、開発者にとって重要なだけの、乾いた重要でないものではありません。オープンソースソフトウェアの最も明白な利点は、それが無料で手に入るということです。上記のUbuntu Linuxの例はそのことを明確にしています - Windowsとは異なり、あなたは制限なしにあなたが望むだけの数のUbuntuのコピーをインストールまたは配布することができます。これは特に便利なサーバーになります - サーバーをセットアップしているのなら、Linuxをインストールするだけです。仮想化されたサーバーのクラスタを設定している場合は、単一のUbuntuサーバーを簡単に複製できます。ライセンスや、実行できるLinuxのインスタンス数について心配する必要はありません。.
オープンソースプログラムもより柔軟です。たとえば、Windows 8の新しいインターフェースは、多くのデスクトップの長いWindowsユーザーを失望させました。 Windowsはクローズドソースであるため、Windows 7のインターフェイスを使用して変更し、Windows 8で正常に動作させることはできません。(Windowsユーザーの中には、リバースエンジニアリングとバイナリファイルの変更という面倒なプロセスがあります。 )
UbuntuのようなLinuxデスクトップが、一部のユーザーがファンではない新しいデスクトップインターフェースを導入するとき、ユーザーはより多くの選択肢を持っています。たとえば、GNOME 3がリリースされたとき、多くのLinuxデスクトップユーザーは同様にオフにされました。コードを古いバージョンのGNOME 2にして最新のLinuxディストリビューションで動作するように修正したものもあります - これはMATEです。 GNOME 3にコードを持っていって、それが彼らが好む方法でそれが働くようにそれを修正した - これはシナモンです。一部のユーザーは既存の代替デスクトップに切り替えました。 Windowsがオープンソースの場合、Windows 8ユーザーはより多くの選択肢と柔軟性を持つでしょう。 CyanogenModを見てみましょう。CyanogenModは、機能を追加し、新しいデバイスをサポートする、人気のあるコミュニティ主導のAndroidディストリビューションです。.
オープンソースソフトウェアを使用すると、開発者は「巨人の肩に立ち」、独自のソフトウェアを作成することもできます。 Linuxや他のオープンソースソフトウェア上に構築されたオペレーティングシステムであるAndroidおよびChrome OSを目撃してください。 AppleのOS Xの核心、ひいてはiOSの核心も、オープンソースコードに基づいていました。 MicrosoftのWindowsでは不可能な方法で独自のハードウェアを作成し、独自の運命をコントロールできるようになるため、ValveはSteamのゲームプラットフォームをLinuxに移植することに熱心に取り組んでいます。.
これは徹底的な説明ではありません - すべての本はこの主題について書かれています - しかし、あなたは今オープンソースソフトウェアが実際に何でありそしてそれがあなたにとって有用であるかについてより良い考えを持つべきです.