|
|
Log in / Subscribe / Register

Converging and diverging paths

Converging and diverging paths

Posted Mar 1, 2025 17:01 UTC (Sat) by easwarh (subscriber, #131924)
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. I wonder how long it'll be until the Windows user culture of "do a web search and click the first link" permeates the ecosystem, with its attendant security issues.


to post comments

Converging and diverging paths

Posted Mar 1, 2025 17:49 UTC (Sat) by hunger (subscriber, #36242) [Link]

I'd argue that linux is heading toward an immutable image you download + flatpak. That seems very centralized to me:-)

Converging and diverging paths

Posted Mar 1, 2025 17:51 UTC (Sat) by Wol (subscriber, #4433) [Link]

> I wonder how long it'll be until the Windows user culture of "do a web search and click the first link" permeates the ecosystem, with its attendant security issues.

Well, this kerfuffle over trademarks shows the dangers of the "every website to its own" approach, but the central store has a very different set of issues - Apple and Microsoft and Google like the central store because it provides a nice convenient toll-booth.

The FLOSS world should be firmly behind trademarks, and treat them with respect, because they provide the legal guarantee that you're actually getting "the real deal". That was why trademarks were introduced in the first place! And the "every product on its own website" isn't a problem if trademarks are respected and enforced.

Rule 1 - don't mislead your users! Okay, some users do a damn good job of misleading themselves, but we should most definitely not be setting out to mislead others, and if somebody points out that our actions ARE misleading (intentional or not) then we should FIX IT. That's the tragedy here - that it's easy to see why/how users would be mislead, and Fedora seems unable to see the problem.

Why are distros using flatpacks??? They're meant to be distro-agnostic packages, so as original distro software, they don't make sense.

Cheers,
Wol

Converging and diverging paths

Posted Mar 1, 2025 19:34 UTC (Sat) by lunaryorn (guest, #111088) [Link]

Winget is "everyone providing their software from their own website", literally, just not with the a web browser as frontend. It's not a central repository of binary packages, it doesn't do dependency handling, it's just a collection of recipes to fetch and run upstream binary installers.

When you install Firefox with winget it's literally downloading and running the same installer you'd have downloaded from the Firefox website. When you install git it pulls down the same all-in-one Git for Windows installer from the Git For Windows Github page that's linked on the Git website.

By contrast, Flathub really is a central repository of binary packages, accompanied by a central build infrastructure. Flathub hosts it's own binaries, and, apart from a few notable exceptions, requires packages to be built on its own infrastructure.

It's more than the Microsoft Store, even, it's really a proper package repository, just distribution independent with a focus on desktop applications, much coarser dependencies, and a few other minor technical differences compared to traditional Linux package repositories.

When you install an open source application from flathub you get, apart from. said exceptions, a binary that's hosted on Flathub infrastructure, built on Flahub infrastructure from upstream sources.

Converging and diverging paths

Posted Mar 3, 2025 3:24 UTC (Mon) by notriddle (subscriber, #130608) [Link] (1 responses)

> 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.)

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