it-swarm-ja.com

OS Xにデフォルトのパッケージマネージャーがないのはなぜですか?

DebianにはAPTがあります。 RedHatにはRPMがあります。 FreeBSDにはポートがあります。 NetBSDにはpkgsrcがあります。 Mac OS XにはMacPorts、Fink、Homebrewがありますが、これらはすべてサードパーティのパッケージマネージャーです。 OS Xにデフォルトのパッケージマネージャーがないのはなぜですか?

7
hekevintran

私の意見(そしてこれは基本的に単なる意見ですが、証拠はあなたを同じ考えに導くかもしれないと思います)、それはオープンソースと商用ソフトウェア業界の思考プロセスの基本的な違いによるものです。

オープンソースソフトウェアプロジェクトの場合、パッケージシステムは、ユーザーがソフトウェアを入手したり、最新の状態に保つことが非常に簡単になるため、優れています。通常は1つのコマンドで、Ubuntu SoftwareCenterなどの初心者向けのUIを使用できます。これは、デスクトップユーザーとサーバー管理者の両方にとって究極の利便性です。

商用ソフトウェア業界にとって、収益化とマーケティングは流通と同じくらい重要です(それほど重要ではないにしても)。オープンソースのWindowsアプリには通常標準のNSISインストーラーがあるのに対し、商用ソフトウェアにはカスタムウィンドウクローム、どこにでもあるロゴ、マーケティングコピーを備えた凶悪なインストーラーがある傾向があることをご存知ですか?これは、営利企業にとって、ブランド、マーケティング、および経験を可能な限りどこにでも挿入することが重要であるためです。つまり、商用ソフトウェア会社は通常、製品の配布のあらゆる側面、つまりカスタムWebサイト、インストーラー、およびアップデーターを制御したいと考えています。企業はまた、顧客に製品の料金を請求できることを望んでおり、従来のパッケージシステムにはライセンスと請求の規定がありません。

パッケージ環境では、パッケージ標準を統一し、リポジトリを維持するために、ソフトウェアメーカー間の大規模な協力も必要です。ライバルのソフトウェア会社は互いに差別化を図りたいと考えており、近視眼的であり、可能な限りユーザーフレンドリーではなく可能な限り異なるを好む傾向があります。プロジェクト間の競争はオープンソースの世界ではまだ存在していますが、開発者の心の中ではそれほど重要ではない傾向があります。代わりに、オープンソースソフトウェア業界は協力について非常に重要です。つまり、主要なプロジェクトが集まって標準化された配布メカニズムに合意するのは当然のことでした。

商用ソフトウェア業界は現在、統一された配信システムの恩恵を受けていますが、これはソフトウェアメーカーではなくプラットフォームベンダーの努力によるものであり、PCではなく電話で始まりました。iOSはおそらく最初の大成功を収めた中央アプリでした。ストア、次にAndroidがそれらを持ってきて、今ではすべての主要な電話OSがそれらを持っています。デスクトップでは、Mac App Storeが最近導入され、Windows8が機能することが正式に発表されたと思いますアプリマーケット。

アプリストア/マーケットとは何ですか?ソフトウェアをダウンロードして自動的にインストールできる中央システム。依存関係を自動的に管理し、更新を確認します。それは実際には、より良いスーツを着た、収益を視野に入れた単なるパッケージマネージャーです。

tl; dr:オープンソースコミュニティの動機は自然にパッケージシステムにつながりましたが、商用ソフトウェア業界はそのメリットを認識せず、主導権を握っていました。現在、商用ソフトウェア業界が登場し、アプリストアの形でパッケージシステムを導入しています。

6
jcrawfordor

Appleは、Macユーザーの大部分にとって必要ではないので、含める必要性を感じていないだけだと思います。Linuxのさまざまなフレーバーでさまざまな環境がすべて異なるため、ある場所でコンパイルされた実行可能ファイルが別の場所で正しく機能しない可能性があるため、すべてのソースからコンパイルする必要があります。これには、すべての依存関係が最初に配置されていることを確認する必要もあります。Linuxパッケージマネージャーが含まれています。これはユーザーにとってより簡単です。

OS Xの場合、そのためにコンパイルされたものはすべて機能する可能性があります(いくつかのさまざまなリリースの間には間違いなく例外がありますが、Linuxディストリビューションほど散発的ではありません)。ダウンロードしているバイナリが機能することは間違いありません。 AppleはOSの開発と配布を制御するので、かなり規則的で一貫性があります-そのようにWindowsに似ています。しかし、OS XはUnixコア上に構築されており、十分な数があるためです。 UNIXツールを使用したい人のために、ソースをプルし、依存関係をチェックし、その特定のプラットフォーム用にコンパイルするサードパーティのパッケージマネージャーがあります。

4
MaQleod

簡単な答え:

enter image description here

Appleがユーザーをターゲットにする必要はまったくなく、OSが機能するように意図した方法は、コマンドラインパッケージシステムの概念と互換性がありません。

開発はどうですか? XCodeは、そのワークフローを対象としていません。サードパーティのツールは、主にLinuxベースのツールと* nixベースのライブラリおよびプロジェクトを構築するために存在します。

3
Tom J Nowell