正直なところ、スナップパッケージについてはあまり知りませんが、これはこの質問には関係ありません。以下を参照してください。システムは既存のものとは大きく異なると思います。
実際に必要なものはありますか?つまり、新しいユースケースはありますか。それは、新しいフォーマットを開発するのに十分重要です-そして関連するインフラストラクチャですか?
新しいユースケースもカバーするように現在の方法を変更することは不可能でしたか?
私が見ているものはほとんどがマーケティングである可能性があります-技術的な変更を最小限に抑えるための新しい名前とプレゼンテーションです。また、新しいパッケージは既存の形式に非常に基づいているため、ほとんどの場合、ユーザーへの表示が変更されている可能性があります。もちろん、それは良い解決策かもしれません。この場合、この質問にはあまり関連性がありません。
それから、私はそれが側面に答えるのにまだ十分に役立つことを望みます質問が新しいユーザーにとって役に立たない、または混乱しない場合はお知らせください。削除させていただきます。
では、なぜ存在するのでしょうか?
私の最初の反応は「それは意味がありません!」でした。
これは、物理学のサイトで、誰かが彼の輝かしい新しいアイデアを答えで議論しない理由を不幸に尋ねた状況に似ています。それはクラックポットのアイデアのように強く見えました。実際の物理的知識からは程遠いため、開始点を見つけることさえ困難でした。私は単一のWordで彼のアイデアに触れない答えを書きましたが、クラックポットのアイデアを仮定することを議論しない理由を説明しました-その最初のケースではありません。答えは実際にポイントに達していたと思います。
私の仮定が正しければ、このケースは似ています。
しかし、そうではないかもしれません-見てみましょう。
はい、本当に必要です。
あるソフトウェアが別のソフトウェアに初めて依存するようになってから、このようなものが本当に必要になりました。
これを明確にしましょう。
dependency hell と呼ばれる理由があります。 RPMやDebianのようなパッケージングシステムは、依存関係の地獄を回避する目的で作成されました。ただし、誰かが費用を支払う必要があります。
どちらの方法でもかなりの自由が失われます。
そして、これがスナップの出番です。開発者にバージョンXを含め、パッケージングシステムに更新を管理させます。誰が費用を負担しますか?ユーザー:
引き換えに、どのような特典がありますか?
役に立つかもしれないスナップの特定の機能の1つは、release、candidate、masterなど.
たとえば、 nextcloud
のChannelボタンをクリックすると、下のスクリーンショットにダイアログが表示されます。
他の強力なセールスポイントは、分離、不変性、サンドボックス化であり、これらは セキュリティポリシーコンテキスト によって制御されます。これにより、アプリごとのアクセス許可を定義できます。
このアプローチは、許可とコンテンツプロバイダー/レシーバーを備えたMacOSアプリバンドルとAndroidのアプリサンドボックスをある程度模倣します。
ここで、それぞれ独自のバージョンの特定のライブラリ、独自のバージョンのPython/Ruby/NodeJSランタイムを使用して多数のアプリを実行する必要があり、依存関係の地獄に陥ってシステムライブラリを台無しにしたり汚染したりしたくないと想像してください。システムPython/Node/Perl/Rubyモジュールなど。