ソフトウェアパッケージとは
ソフトウェアパッケージは、共通の目的を果たすために一緒にバンドルされているプログラムのグループです。 多くの場合、ソフトウェアパッケージには、実行可能プログラムを構築するソースコードと、プログラム自体のさまざまなドキュメントも含まれます。 一部のソフトウェアパッケージには、パッケージの他のコンポーネントがどのように機能するかをさらに説明できるサンプルファイルも含まれています。
ソフトウェアパッケージのコンポーネントは大きく異なることを行うことができますが、パッケージのすべてのコンポーネントは統一された全体としてまとめられます。 一部のソフトウェアパッケージには、すべての小さなプログラムをカプセル化する1つのメインプログラムがありますが、他のパッケージには、より断片化されたアプローチを取り、さまざまな目的のための複数の小さな専用実行可能ファイルがあります。 それぞれのアプローチには長所と短所があり、それぞれの恩恵を受ける特定の対象者もいます。
すべての機能を1つの大きなプログラムにカプセル化するパッケージは、ほとんどのコンピューターユーザーに役立ちます。 通常、インストールは簡単で、比較的理解しやすく、実行もかなり簡単です。 時々、ユーザーはアドオンをダウンロードできますが、これはすべてユーザーの最小限の操作と労力で舞台裏で行われます。 このようなオールインワンソフトウェアパッケージは、ドキュメント管理から3Dモデリング、画像レンダリングまで、さまざまな目的に使用できます。
機能をより断片化した状態に保つソフトウェアパッケージは、多くの場合、コンピューターに詳しいユーザーを対象としています。 多くの場合、これらのパッケージには、豊富なドキュメントと柔軟性の高い機能とともにコマンドラインツールが含まれます。 これらのパッケージへの変更は、通常、生のディレクトリ構造を操作するか、パッケージの新しいバージョンを完全にダウンロードすることで行う必要があります。 これらのパッケージタイプでは、アドオンはそれほど一般的ではありません。 このようなグループ化されたソフトウェアパッケージは、多くの場合、生物学データの分析や新しいソフトウェアプログラムの作成などの目的で、学者やエンジニアを対象としています。
完全に一意のコードを含むソフトウェアパッケージもあれば、既存のプログラムを組み込んで既存のアルゴリズムの機能を組み合わせるソフトウェアパッケージもあります。 これら2つの方法論の議論は進行中です。 すべてのために独自のコードを書くことを好むプログラマーもいれば、複数の既存のプログラムを一緒にリンクすることを好むプログラマーもいます。 各タイプのフレームワークを使用する多くのパッケージが存在し、いずれかの方法論を使用して成功するソフトウェアスイートを作成できます。
オープンソースソフトウェアの動きの拡大に伴い、ライセンスの問題なしに新しいソフトウェアで自由に使用できるプログラム、アルゴリズム、ソフトウェアパッケージが増えています。 たとえば、科学分野では、分析だけでなく新しいプログラムの構築にも自由に使用できることを期待して、多くの新しいアルゴリズムとプログラムが公開されています。 新しいソフトウェアパッケージは、古いパッケージの上に簡単に構築またはモデル化することができ、この知識の共有はソフトウェア開発に役立ちました。