ソフトウェアリポジトリ
多くのソフトウェア発行者などの組織は、無料またはサブスクリプション料金でインターネット上にコンテンツリポジトリ用のサーバーを持っている。リポジトリは、 Perlプログラミング言語のCPANなどの特定のプログラム専用、オペレーティングシステム全体専用のものがある。リポジトリの運営者は通常、リポジトリからソフトウェアパッケージを検索、インストール、その他の方法で操作することを目的としたパッケージ管理システムと呼ばれるツールを提供している。たとえば、多くのLinuxディストリビューションは、 たとえばDebianベースのディストリビューションで一般的に見られるAdvanced Packaging Tool (APT)、またはRedHatベースのディストリビューションで見られるyumといったパッケージ管理システムを使用している。また、Arch Linuxやequo、 Sabayon Linuxで使われるpacmanのような独立したパッケージ管理システムもある。
ソフトウェアリポジトリには便利なパッケージが含まれており、主要なリポジトリにはマルウェア防止機能が備わっている。信頼できるベンダーのデジタル署名されたリポジトリを使用するようにコンピュータが構成されており、適切なアクセス許可システムと組み合わされている場合、マルウェアの脅威が大幅に軽減される。
この例では、R寄稿パッケージシステムの長所と短所の両方を明らかにしています。CRANは寄稿パッケージのこの種の自動テストをサポートしていますが、CRANに寄稿されたパッケージは、使用する他の寄稿パッケージのバージョンを指定する必要はありません。パッケージの特定のバージョンを要求するための手順は存在しますが、寄稿者はそれらの手順を使用しない場合があります。
これに加えて、提供されたパッケージの定期的なチェックを実行するCRANなどのリポジトリは、実際には、コア言語の開発バージョン用の広範なアドホックテストスイートを提供します。サリー(上記の例)が、特に言語の開発バージョンから、理解できない、または不適切だと思うエラーメッセージを受け取った場合、彼女はコア開発チームに言語の助けを求めることができます(そして多くの場合Rで行います) 。このように、リポジトリはコア言語ソフトウェアの品質向上に貢献できます。
(この表の一部は、 Stack Overflow 「プログラミング言語別の上位リポジトリのリスト」からコピーされました)
C、C++、Fortranなど、他の多くのプログラミング言語には、ユニバーサルスコープの中央ソフトウェアリポジトリがありません。範囲が限定されている注目すべきリポジトリは次のとおりです。
Netlibは、主にFortranとCの数学ルーチンであり、歴史的に最初のオープンソフトウェアリポジトリの1つです。
Boost 、C ++用の高品質ライブラリの厳密にキュレーションされたコレクション。 Boostで開発された一部のコードは、後でC ++標準ライブラリの一部になりました。