購入またはダウンロードするほとんどのソフトウェアは、コンパイル済みのすぐに実行できるバージョンでのみ提供されます。コンパイル済みとは、開発者が作成した実際のプログラムコード(ソースコードと呼ばれる)が、ソースコードをコンピューターが理解できる形式に変換するコンパイラーと呼ばれる特別なプログラムを実行したことを意味します(Cプログラミングのしくみを参照)。コンパイラの詳細については)。ほとんどのアプリケーションのコンパイル済みバージョンを変更することは非常に困難であり、開発者がプログラムのさまざまな部分をどのように作成したかを正確に確認することはほぼ不可能です。ほとんどの商用ソフトウェアメーカーは、これを、他の企業がコードをコピーして競合製品で使用することを防ぐ利点と見なしています。また、特定の製品に見られる品質と機能を制御することもできます。
オープンソースソフトウェアは、スペクトルの反対側にあります。ソースコードはコンパイルされたバージョンに含まれており、実際には変更またはカスタマイズすることをお勧めします。オープンソースの概念をサポートするソフトウェア開発者は、ソースコードの変更に関心のある人なら誰でも許可することで、アプリケーションがより便利になり、長期的にエラーが発生しないと信じています。
ソフトウェア開発業界によってオープンソースソフトウェアと見なされるには、特定の基準を満たす必要があります。
- プログラムは自由に配布する必要があります(ただし、Red Hatが以下の例のLinuxで行ったように、販売されているパッケージの一部にすることもできます)。
- ソースコードを含める必要があります。
- 誰でもソースコードを変更できるようにする必要があります。
- 変更されたバージョンは再配布できます。
- ライセンスは、他のソフトウェアの除外を要求したり、他のソフトウェアの操作を妨害したりしてはなりません。
オープンソースソフトウェアの実際の例を見てみましょう。 1991年、フィンランドのヘルシンキ大学の学生であるLinus Torvaldsは、Unixの派生物であるMinixをベースにした新しいオペレーティングシステムを開発し、Linuxと名付けました。 Torvaldsは、GNU General Public Licenseの下でLinuxのバージョン0.02をリリースしました。これは、オープンソースソフトウェアの適切な法的定義を提供します。世界中の多くの人々がLinuxをダウンロードし、それを使い始めました。これらのユーザーの多くは、それ自体がプログラマーであり、Torvaldsに含まれているソースコードに変更を加えました。次の3年間で、トーバルズは他のプログラマーからこれらの変更されたバージョンを受け取り、ベースラインバージョンに多くの変更を組み込み、1994年にLinuxバージョン1.0をリリースしました。
オープンソースソフトウェアの使用を希望するエンドユーザーに共通する懸念は、保証と技術サポートの欠如です。ソフトウェアのライセンスは変更とカスタマイズを奨励しているため、サポートすることはほぼ不可能です。理由はここにありますRed Hatのソフトウェアは、1994年に設立され、「オフィシャルRed Hat Linux」を作成し、この通常は「フリー」ソフトウェアを販売することができます。 Red Hatがパッケージに追加する主な価値は、保証とテクニカルサポートです。ほとんどの企業にとって、テクニカルサポートの保証は、Linuxを無料でダウンロードするのではなく、Linuxを購入する決定の重要な要素となっています。 Red Hatに加えて、再販のためにLinuxをパッケージ化し、通常は追加のソフトウェアを使用している企業がいくつかあります。
Linuxの他に、Mozilla(Netscapeブラウザコア)、Apache(Webサーバー)、PERL(Webスクリプト言語)、PNG(グラフィックファイル形式)はすべて、オープンソースに基づく非常に人気のあるソフトウェアの例です。
ここにいくつかの興味深いリンクがあります:
- CGIスクリプティングのしくみ
- オープンソースの定義
- Linuxオンライン
- オープンソースソフトウェア専用のWebサイト
- Debian:無料のオペレーティングシステム
- Apache Software Foundation
- PERLホームページ