|
|
Log in / Subscribe / Register

Converging and diverging paths

Converging and diverging paths

Posted Mar 3, 2025 3:24 UTC (Mon) by notriddle (subscriber, #130608)
In reply to: Converging and diverging paths by easwarh
Parent article: Fedora discusses Flatpak priorities

> It's interesting to note that the Windows ecosystem is going towards a centralized app store a la package repositories with Winget and Microsoft Store, while the Linux ecosystem, per this article, is going towards the old Windows approach of everyone providing their software from their own website, modulo some minimal centralization in Flathub.

They're moving in different directions, but that seems like it's because they're coming from different places and moving towards the same place. Flathub and the Windows store have a lot more in common with each other than either of them have in common with the approaches they want to displace.

The "app developer" packages the app themselves and uploads it through a fully-automated developer portal. Dependencies come from an integrated "SDK" or "Runtime" (these terms are basically synonyms), not piecemeal the way dpkg or rpm do it. If you want dependencies outside the SDK, you vendor them. You are solely responsible for what you include in your uploaded bundle, no matter where you got it from; the SDK, on the other hand, is dynamically linked and can receive bug fixes without you doing anything. If your app is properly sandboxed, it cannot load any code that isn't part of either the SDK or the app bundle, no matter what any other app that happens to exist on the machine might do.

The biggest difference is that Flatpak lets end users add repositories, but that's an ability they inherit from APT and YUM, not a change.

(Full disclosure: While I have not actually uploaded a Windows app to their store, I've uploaded an add-on for Edge, which uses a developer portal called the "Partner Center" with a somewhat-prominent button to enroll in additional programs, including "Windows: Register as an app developer to submit apps and games to Microsoft marketplaces." Also, I've uploaded Android apps, and, from the outsiders' perspective, the Play Store and the Windows Store work exactly the same.)


to post comments

Converging and diverging paths

Posted Mar 3, 2025 17:50 UTC (Mon) by smcv (subscriber, #53363) [Link]

> Dependencies come from an integrated "SDK" or "Runtime" (these terms are basically synonyms)

They go together in pairs, but are not the same. The developer or packager compiles against a SDK (which is large), and then the end user runs the program against a set of runtime libraries which has been chosen to have its supported libraries and their versions line up with the SDK (but the runtime library stack used by the end user is smaller, because they doesn't need to contain developer-only stuff like compilers, headers and static libraries).

In Flatpak, the SDK is called a SDK, the runtime library stack is called a Platform, and they are both said to be "runtimes". Other ecosystems have different words for essentially the same thing.

Traditional package-based distros do the same, except that instead of having exactly one SDK that is supported at compile-time and exactly one set of runtime libraries that is supported at runtime, any set of packages that meets the requirements specified in the packaging is assumed to be supportable. In distributions that have a distinction between developer and end-user packages, the SDK-like environment has development packages (Debian -dev or Red Hat -devel or similar) but the end-user environment usually does not.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds