Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Wednesday November 24 2021, @11:34PM   Printer-friendly
from the bloat dept.

Flatpak Is Not the Future:

Deploying apps for the Linux desktop is hard. A major problem has historically been library compatibility. Different Linux distributions, and even different versions of the same distribution, have had incompatible libraries. Unfortunately, there hasn't always been a culture of backwards compatibility on the Linux desktop.

This is finally changing. The stability of the Linux desktop has dramatically improved in recent years. Core library developers are finally seeing the benefits of maintaining compatibility. Despite this, many developers are not interested in depending on a stable base of libraries for binary software. Instead, they have decided to ignore and override almost all libraries pre-installed on the user's system.

The current solutions involve packaging entire alternate runtimes in containerized environments. Flatpak, Snap, AppImage, Docker, and Steam: these all provide an app packaging mechanism that replaces most or all of the system's runtime libraries, and they now all use containerization to accomplish this.

Flatpak calls itself "the future of application distribution". I am not a fan. I'm going to outline here some of the technical, security and usability problems with Flatpak and others. I'll try to avoid addressing "fixable" problems (like theming) and instead focus on fundamental problems inherent in their design. I aim to convince you that these are not the future of desktop Linux apps.

Suppose you want to make a simple calculator app. How big should the download be?

At the time of this writing, the latest KCalc AppImage (if you can even figure out how to download it) is 152 MB. For a calculator.

This is uncompetitive with Windows on its face. If I ship an app for Windows I don't have to include the entire Win32 or .NET runtimes with my app. I just use what's already on the user's system.

Other solutions like Flatpak or Steam download the runtime separately. Your app metadata specifies what runtime it wants to use and a service downloads it and runs your app against it.

So how big are these runtimes? On a fresh machine, install KCalc from Flathub. You're looking at a nearly 900 MB download to get your first runtime. For a calculator.

[...] Snap and Flatpak in their current incarnations have been around for at least five years. AppImage, Steam and Docker have been around even longer. None of the above is new. The problems with alternate runtimes were known from the very beginning, yet little progress has been made in fixing them. I don't believe these are growing pains of a new technology. These are fundamental problems that are mostly not fixable.

All of these technologies are essentially building an entire OS on top of another OS just to avoid the challenges of backwards compatibility. In doing so, they create far more problems than they solve. Problems of compatibility are best solved by the OS, the real one, not some containerized bastardization on top. We need to make apps that run natively, that use the system libraries as much as possible. We need to drastically simplify everything if we have any hope of attracting proprietary software to Linux.

The full article is a very interesting read.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by tangomargarine on Thursday November 25 2021, @03:41AM (8 children)

    by tangomargarine (667) on Thursday November 25 2021, @03:41AM (#1199427)

    ...what?

    [Proprietary software] can just distribute the source files

    This is like the OSS equivalent of "let them eat cake".

    "Maybe we can convince all those proprietary companies that care about the security and IP rights of their code to just release it open-source." Doesn't sound hard; I'm sure global warming has lowered the temperature of hell by a degree or two by now, or whatever.

    Not sure if I'm more confused whether you're actually being serious, or how you somehow got +4 Insightful.

    --
    "Is that really true?" "I just spent the last hour telling you to think for yourself! Didn't you hear anything I said?"
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: -1, Flamebait) by Frigatebird on Thursday November 25 2021, @12:41PM (2 children)

    by Frigatebird (15573) on Thursday November 25 2021, @12:41PM (#1199516)

    It is a real and serious suggestion. Not any more absurd that Linux should try to encourage proprietary code. Who are you, that guy who promoted "open source" over "free software", because "free" might scare the suits? What was that traitor's name. anyway. He was quite a self-promoter, even if he did do some work for free software.

    Fuck proprietary software, all of it. If you cannot make a living, without the arm of the law and alleged copyright, perhaps you should seek another line of work.

    • (Score: 0) by Anonymous Coward on Thursday November 25 2021, @03:46PM (1 child)

      by Anonymous Coward on Thursday November 25 2021, @03:46PM (#1199564)

      Tell that to Adele. Or David Bowie. Or Marvel. Or Charles Dickens. Or Beyonce. And so on.

      Why is it so hard for idiots to imagine other people's situations? Oh. Right.

      • (Score: 1, Interesting) by Anonymous Coward on Thursday November 25 2021, @11:48PM

        by Anonymous Coward on Thursday November 25 2021, @11:48PM (#1199670)

        Tell that to Adele. Or David Bowie. Or Marvel. Or Charles Dickens. Or Beyonce. And so on.

        And don't forget to tell it to those who never produced anything because they didn't have copyright, like Alighieri, Shakespeare, Vivaldi, Bach...

  • (Score: 0) by Anonymous Coward on Thursday November 25 2021, @03:03PM (4 children)

    by Anonymous Coward on Thursday November 25 2021, @03:03PM (#1199546)

    [Proprietary software] can just distribute the source files

    This is like the OSS equivalent of "let them eat cake".

    No, this is like "look at Nvidia driver, stupid!"

    Your "IP rights" to boilerplate code that talks to FOSS libs, aren't worth the electricity wasted even discussing the stupid concept. And all your "secret sauce" can quite happily live in a precompiled binary that does not call anything outside the shim made of all that boilerplate and compiled in-place. Even better, incompatibilities between library versions can be easily worked around inside the shim, by patches and conditional compilation, leaving the main binary in no need to be updated for any churn that is happening in the distros' libs.

    • (Score: 2) by tangomargarine on Thursday November 25 2021, @04:55PM (3 children)

      by tangomargarine (667) on Thursday November 25 2021, @04:55PM (#1199575)

      Your "IP rights" to boilerplate code that talks to FOSS libs, aren't worth the electricity wasted even discussing the stupid concept.

      As much as we may say this, the proprietary companies are going to beg to differ.

      And all your "secret sauce" can quite happily live in a precompiled binary that does not call anything outside the shim made of all that boilerplate and compiled in-place.

      Except that this isn't what parent is talking about, when he clearly says "distribute the source files."

      --
      "Is that really true?" "I just spent the last hour telling you to think for yourself! Didn't you hear anything I said?"
      • (Score: 0) by Anonymous Coward on Thursday November 25 2021, @05:44PM (2 children)

        by Anonymous Coward on Thursday November 25 2021, @05:44PM (#1199587)

        As much as we may say this, the proprietary companies are going to beg to differ.

        If they want more problems supporting their shit, it is their funeral.

        Except that this isn't what parent is talking about, when he clearly says "distribute the source files."

        How exactly is source for a shim not "source files"? Go improve your understanding of written word before your next try.

        • (Score: 3, Touché) by tangomargarine on Thursday November 25 2021, @06:47PM (1 child)

          by tangomargarine (667) on Thursday November 25 2021, @06:47PM (#1199605)

          Because the shim isn't the product they care about? What are you, an Oracle lawyer?

          Waiting with baited breath to see how your next reply completely misses the point of this comment as well.

          --
          "Is that really true?" "I just spent the last hour telling you to think for yourself! Didn't you hear anything I said?"
          • (Score: -1, Troll) by Anonymous Coward on Thursday November 25 2021, @08:17PM

            by Anonymous Coward on Thursday November 25 2021, @08:17PM (#1199630)

            Isn't that "point" merely you trying to bullshit your way around the foot you firmly placed in your alimentary orifice? With the pathetic result of chomping on two feet now. Bon appetit.