オープンソースソフトウェアとは何ですか、なぜそれが重要なのですか?

オタクは、プログラムを「オープンソース」または「フリーソフトウェア」と表現することがよくあります。これらの用語が何を意味し、なぜ重要なのか疑問に思っている場合は、読み進めてください。(いいえ、「フリーソフトウェア」とは、無料でダウンロードできるという意味ではありません。)

プログラムがオープンソースであるかどうかは、開発者だけでなく、最終的にはユーザーにとっても重要です。オープンソースソフトウェアライセンスは、他の方法では得られない自由をユーザーに提供します。

画像クレジット:FlickrのQuinn Dombrowski

オープンソースの定義

プログラムがオープンソースの場合、そのソースコードはユーザーが自由に利用できます。そのユーザー(および他の誰でも)は、このソースコードを取得して変更し、独自のバージョンのプログラムを配布することができます。ユーザーは、元のプログラムのコピーを必要なだけ配布することもできます。誰でもこのプログラムをあらゆる目的で使用できます。ソフトウェアにライセンス料やその他の制限はありません。 OSIのWebサイトには、「オープンソース」のより詳細な定義があります。

たとえば、UbuntuLinuxはオープンソースのオペレーティングシステムです。Ubuntuをダウンロードして、必要な数のコピーを作成し、友達に渡すことができます。Ubuntuは無制限の数のコンピューターにインストールできます。Ubuntuインストールディスクのリミックスを作成して配布できます。特にやる気があれば、Ubuntuのプログラムのソースコードをダウンロードして変更し、そのプログラムまたはUbuntu自体の独自のカスタマイズバージョンを作成できます。オープンソースライセンスはすべてこれを可能にしますが、クローズドソースライセンスはあなたに制限を課します。

オープンソースソフトウェアの反対はクローズドソースソフトウェアであり、ユーザーを制限し、ユーザーからのソースコードを保持するライセンスを持っています。

Firefox、Chrome、OpenOffice、Linux、Androidはオープンソースソフトウェアの人気のある例ですが、MicrosoftWindowsはおそらく最も人気のあるクローズドソースソフトウェアです。

オープンソースとフリーソフトウェア

オープンソースアプリケーションは一般に無料で入手できますが、後でアプリケーションとそのソースコードを再配布できる場合、開発者がソフトウェアのコピーに対して課金することを妨げるものは何もありません。

しかし、それは「フリーソフトウェア」が指すものではありません。フリーソフトウェアの「無料」とは、「ビールのように無料」ではなく、「自由のように無料」を意味します。リチャード・ストールマンとフリーソフトウェア財団が率いるフリーソフトウェアキャンプは、ユーザーが制御および変更できるソフトウェアを使用することの倫理と道徳に焦点を当てています。言い換えれば、フリーソフトウェアキャンプはユーザーの自由に焦点を合わせています。

リチャード・ストールマン。FlickrのFripogによる画像。

オープンソースソフトウェア運動は、このタイプのソフトウェアを選択するためのより実用的な理由に焦点を当てるために作成されました。オープンソースの支持者は、倫理や道徳よりもビジネスにアピールするオープンソースソフトウェアを使用することの実際的な利点に焦点を当てたいと考えていました。

最終的に、オープンソースとフリーソフトウェアの支持者はどちらも同じタイプのソフトウェアを開発していますが、メッセージングについては意見が分かれています。

ライセンスの種類

開発者がプロ​​グラムに好むものに応じて、オープンソースプロジェクトで使用されるさまざまなライセンスがあります。

GPL(GNU General Public License)は、Linuxなどの多くのオープンソースプロジェクトで広く使用されています。上記のオープンソースのすべての定義に加えて、GPLの条件は、誰かがオープンソースプログラムを変更して派生物を配布する場合、派生物のソースコードも配布する必要があることを指定しています。言い換えれば、誰もオープンソースコードを取得して、そこからクローズドソースプログラムを作成することはできません。変更をコミュニティにリリースする必要があります。マイクロソフトは、GPLコードを組み込んだプログラムに独自のソースコードをリリースさせるため、GPLを「ウイルス性」と呼んでいます。もちろん、これが問題である場合、プログラムの開発者はGPLコードを使用しないことを選択できます。

BSDライセンスなど、他のいくつかのライセンスでは、開発者に対する制限が少なくなっています。プログラムがBSDライセンスの下でライセンスされている場合、誰でもそのプログラムのソースコードを別のプログラムに組み込むことができます。変更をコミュニティにリリースする必要はありません。これはGPLライセンスよりもさらに「無料」であると考える人もいます。これにより、開発者はコードを独自のクローズドソースプログラムに自由に組み込むことができますが、権利が奪われるため「無料」ではないと考える人もいます。派生プログラムのエンドユーザーから。

ユーザーにとってのメリット

これは、開発者だけが重要な、乾燥した重要でないものすべてではありません。オープンソースソフトウェアの最も明白な利点は、無料で入手できることです。上記のUbuntuLinuxの例は、それを明確にしています。Windowsとは異なり、Ubuntuのコピーを必要な数だけインストールまたは配布できます。制限はありません。これは特に便利なサーバーです。サーバーをセットアップする場合は、サーバーにLinuxをインストールするだけです。サーバーの仮想化クラスターをセットアップしている場合は、単一のUbuntuサーバーを簡単に複製できます。ライセンスや、実行が許可されているLinuxのインスタンスの数について心配する必要はありません。

オープンソースプログラムもより柔軟です。たとえば、Windows 8の新しいインターフェイスは、多くの長年のデスクトップWindowsユーザーを失望させました。 Windowsはクローズドソースであるため、WindowsユーザーはWindows 7インターフェイスを使用して変更し、Windows 8で正しく動作させることはできません(一部のWindowsユーザーは試していますが、これはリバースエンジニアリングとバイナリファイルの変更の骨の折れるプロセスです。 )

UbuntuのようなLinuxデスクトップが、一部のユーザーが好きではない新しいデスクトップインターフェイスを導入すると、ユーザーはより多くのオプションを利用できるようになります。たとえば、GNOME 3がリリースされたとき、多くのLinuxデスクトップユーザーも同様にオフにされていました。コードを古いバージョンのGNOME2に変更し、最新のLinuxディストリビューションで実行できるように変更したものもあります。これがMATEです。コードをGNOME3に移し、好みの方法で機能するように変更した人もいます。これがCinnamonです。一部のユーザーは、既存の代替デスクトップに切り替えたばかりです。 Windowsがオープンソースの場合、Windows8ユーザーはより多くの選択肢と柔軟性を得ることができます。新しいデバイスの機能とサポートを追加する、人気のあるコミュニティ主導のAndroidディストリビューションであるCyanogenModをご覧ください。

オープンソースソフトウェアを使用すると、開発者は「巨人の肩の上に立って」独自のソフトウェアを作成することもできます。Linuxやその他のオープンソースソフトウェア上に構築されたオペレーティングシステムであるAndroidとChromeOSを目撃してください。AppleのOSXのコア、つまりiOSも、オープンソースコードに基づいて構築されています。Valveは、SteamゲームプラットフォームをLinuxに移植することに猛烈に取り組んでいます。これにより、MicrosoftのWindowsでは不可能な方法で、独自のハードウェアを作成し、独自の運命を制御できるようになります。

これは完全な説明ではありません-本全体がこの主題について書かれています-しかし、あなたは今、オープンソースソフトウェアが実際に何であるか、そしてなぜそれがあなたにとって有用であるかについてより良い考えを持っているはずです。