On Wed, Jan 25, 2023 at 06:01:17PM +0100, Vít Ondruch wrote:
> 
> Dne 25. 01. 23 v 15:59 Josh Boyer napsal(a):
> > On Wed, Jan 25, 2023 at 5:56 AM Vít Ondruch <vondr...@redhat.com> wrote:
> > > I am not user of Bottles so I won't complain about this particular case,
> > > but the push towards (upstream) Flatpaks is unfortunate :/
> > Can you elaborate on why you feel that way?
> 
> 
> I don't trust upstream Flatpacks. I don't trust they follow any standard
> except standard of their authors.
> 
> And I don't like Flatpacks, because their main advantage (their isolation)
> is also their biggest disadvantage. There can't be both without making
> compromises. If I am not mistaken, the isolation is also mostly myth,
> because it is disabled in most cases.

Looking at Flatpaks with both my upstream author hat and distro maintainer
hat, the main advantages I see is not the isolation. It is that they have
the potential to eliminate the massive amount of duplicated work between
every distro re-packaging the same app, and ensure more timely availablity
of new releases to end users by de-coupling from the distro release cycle.

As an upstream author, I want the latest releases of my software to be
available for users to install as quickly as possible. Distros largely
aren't satisfying that desire as well as I would like. If I rely on
distro packaging, there can 3-12 month delay before a distro gets my
new release in front of a user depending on their release cycle.
Then there is the problem of distro maintainers not packaging the app
correctly by forgetting to correctly handle/enable new build deps. Or
a distro maintainer ceases to have time to work on it, leaving users
stuck on outdated releases indefinitely. Or any one of the 3rd party
libraries my app relies on may be outdated.

Maintaining a OS distro to a high standard takes alot of resources,
and there are an uncountable number of Linux distros out there which
users may end up using, which just amplifies the amount of resources
needed. The sad thing is that they're essentially doing the same work
over and over again, just with a different package format, all to end
up delivering a user experiance that is largely identical when it
comes to the desktop interface. Except that doesn't end up being 
identical largely due to problems with keeping packaging up2date 
with limited distro resources. No one distro ends up doing it right
for every app, which is frustrating as both a user and upstream app
maintainer. 

So flatpaks have the promise of getting get of a huge amount of
duplicated effort at the application layer, allowing desktop apps
to be packaged once and run anywhere.

This shouldn't be read as saying distros don't add value. They
certainly do. The ability to curate a set of software, such that
users can choose to only install OSS packages is valuable. Users
have greater confidence of quality in the distros, even if that
is sometimes misplaced. The distro maintainers have also frequently
highlighted problems to upstream wrt licensing of code.  The distros
have driven the security response processes to vulnerabilities too,
which is especially valuable for the long tail of pacakges which
don't have a dedicated upstream vulnerability handling process.
There are many things distros have done well, but the amount of
effort spent by distro maintainers to achieve this is enourmous
and inefficient.


When building flatpaks, while an upstream author may be well
placed to build their own app and update it whenever there are
important changes, they may not want to keep track of all the
3rd party library deps they build on top of. The flathub.org
build gives you a base runtime, which for a GNOME app may have
90% of what you need to depend on, but there are usually still
extra libraries to add. It is desirable to be able to re-issue
application flatpaks whenever the base runtime, or any of the
extra libs get updated. The distros should be able to add value
here by providing the base runtimes, and by ensuring all likely
library deps are pre-packaged, and being able to re-issue
flatpaks anytime a dep gets updated.  This should not require
the distros to take on the job of actually writing flatpaks
for the application leaf nodes though.

Flatpaks have the promise of being able to benefit both the
upstream authors and the distro maintainers, if we can figure
out the right tradeoff. Keep the best aspects that distros
provide, while reducing the amount of work distros have to
do by avoiding need to re-package every leaf-application in
distro specific formats.

The tragedy would be if every distro ends up re-doing the
creation and shipping of flatpaks, just as they do today
with the distros specific packaging formats.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to