Foundry376 / Mailspring

:love_letter: A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
https://getmailspring.com/
GNU General Public License v3.0
15.43k stars 900 forks source link

Linux distribution as a flatpak #345

Closed legacychimera247 closed 3 years ago

legacychimera247 commented 6 years ago

snap is great but here in fedora we have flatpak...it would be nice to have flatpak too, other than rpm's...

bengotow commented 6 years ago

Hey—thanks for filing this! We're not planning on providing a flatpak because Snaps achieve a similar goal but also provide a single autoupdate mechanism for all Linux distros (which is crazy nice compared to having users download it over and over every time it's updated.)

Is there a reason you can't install the snap version? The plan was actually to stop publishing .deb and .rpm releases soon.

On Nov 16 2017, at 3:54 pm, legacychimera247 notifications@github.com wrote:

snap is great but here in fedora we have flatpak...it would be nice to have flatpak too, other than rpm's...

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub (https://github.com/Foundry376/Mailspring/issues/345), or mute the thread (https://github.com/notifications/unsubscribe-auth/AA_TnBfqTfqYNZsz1hGM4_SVE84N4Gcwks5s3EywgaJpZM4QgnIY).

robertfoss commented 6 years ago

Snap is more Ubuntu centric than flatpak. Additionally flatpak does support updating and installing from repositories [1].

[1] https://blogs.gnome.org/alexl/2017/02/10/maintaining-a-flatpak-repository/

bengotow commented 6 years ago

Thanks for the additional info! Is the ubuntu-centric-ness of it have practical implications? (Honestly curious—most of my development expertise is on the Mac.) I've definitely heard that sentiment before and it's definitely a Canonical initiative, but it seems to work fine on my Fedora test VMs.

legacychimera247 commented 6 years ago

well flatpak is installed in fedora out of the box, while snap is not present and you have to install it yourself (and probably packages are even a little outdated). other than that snap takes more space than flatpak and as other pointed out flatpak is more of a linux solution while snap is more of an ubuntu solution (almost outdated everywhere)

rik-shaw commented 6 years ago

@bengotow I am making a comment as an Ubuntu user, but in short I would say it isn't quite settled which way the distribution of sandboxed applications for Linux will go. As you have noted, a weakness of snaps (right now) is the theming problem: flatpak has an interesting solution in place to basically duplicate some major themes for flatpaks, but it doesn't work seamlessly. Snap size has historically been bigger, but they now support "base snaps" which mean that the actual application snap can be decently small (similar to how flatpak is doing things as I understand).

In short, a lot of this is working its way out. Historically there is a lot of "anti-Canonical" sentiment due to a CLA, etc. that mean that for many anything Canonical is not to be liked. I think it will take a while for the dust to clear regarding what way things will go so I would encourage you to not stop distributing .deb and .rpm too pre-maturely if the build process is already in place. It could be 2 years before snap / flatpak are really mature enough to be at 100% parity with .deb or .rpm in my view.

adityashah1212 commented 6 years ago

I agree to rik-shaw's point on not to disable rpm/deb, since both snaps and flatpaks are in early stages and will take awhile for adoption. And I believe you should offer flatpaks as well, its not much to maintain, just an additional json.

charlesjt commented 6 years ago

Is there a reason you can't install the snap version? The plan was actually to stop publishing .deb and .rpm releases soon.

@bengotow Yes, according to the distro, it is very difficult to run a Snap package outside of Ubuntu or Solus OS (Solus had to add apparmor to offer all the snap features). In addition it is always a bad idea that the software distribution framework depends on a provider that requires a CLA to contribute and an account to install software, in addition there are no official repos that maintain snapd in many distros and the community repos are usually outdated. Flatpak adoption is betten than Snap. Currently and even in the short or medium term, Snap can't be considered a better alternative to Flatpak.

Note: If they are going to remove the .deb and .rpm packages they should at least add a portable alternative such as appimage, which is usually used by default in the electron framework for gnu/linux systems.

Ads20000 commented 6 years ago

CLAs aren't used by a lot of FOSS projects but the practice seems to go beyond just Canonical. I guess it means the license is easier for the organization in charge of the maintaining the software to change, but presumably if they did (and I highly doubt they would) change the licence of their products to All Rights Reserved, the old version (like with Reddit) would still be FOSS, right? Someone could then simply fork that and keep the software FOSS.

The install docs there are outdated. If you spot outdated repos then make topics in the snapcraft forums filing the issue, the snapcraft team are very keen on keeping snapd up-to-date across all distros. Also, as of snapd 2.27 (released a few months ago), the core snap can re-exec, which means that snapd can keep itself up-to-date without new distro packages needing to be released (though idk if this works on all distros).

As for adoption... I'm not sure. Thanks to the great work of snap advocates like Martin Wimpress, snaps like Spotify, Skype, JetBrains software, and Slack are hooked into upstream CI and updated by them, automatically. Some other software like Peek and MuseScore are also distributed by upstream. Though folks like Martin have helped them to get going, they are now the maintainers of their own snaps. I think it would be correct to say that with FOSS software, Flatpak has more adoption, but it is a close-run thing. Snapd seems to be stronger with non-FOSS upstreams, Flatpak seems stronger with FOSS upstreams, but there are exceptions and, for the gaps in both, usually snappy/Flatpak advocates maintain packages. Canonical themselves maintain various packages like those for LibreOffice, Chromium, and some GNOME applications (as a distro maintainer would, but this time they're all fully up-to-date like they would be on a rolling system, but without the stability questions).

gombosg commented 6 years ago

Please don't stop publishing DEBs and RPMs as they are so simple and universally useful.

I tried to install the Mailspring Snap on Fedora, but unfortunately snapd messes with SELinux - my only choice would have been to set SELinux to permissive mode (i.e. turn it off), but I just simply installed the fast and simple RPM. (This SELinux bug will hopefully be fixed by Fedora devs soon.)

I don't mind upgrading every few weeks anyway.

Ads20000 commented 6 years ago

@gombosg please can you report that issue to https://forum.snapcraft.io/ ( and tag @zyga ), if it's not already there? The install docs for Fedora suggest that it should just work...

Also hopefully snapd will become reliable enough and usable on every distro that Debs and RPMs could be dropped (though I'm sure some people would continue to maintain Debs and RPMs independently), but I agree that at least for now Debs and RPMs should continue to be produced!

zyga commented 6 years ago

Hey, on any supported Fedora system you should be good to, just install snapd from the archive: https://docs.snapcraft.io/core/install-fedora

If there are any issues please let us know!

zyga commented 6 years ago

@legacychimera247 you can work with Fedora developers to enable it by default. If they do I'm sure it would be an interesting sign of good will but as things stand today it's a technology and politics game, not just technology.

ziggy42 commented 6 years ago

On Fedora confinement of snaps doesn't work yet

Ads20000 commented 6 years ago

@zyga if this is a political game too could you push Ubuntu devs to fix this bug for Flatpak with Ubuntu Software (currently marked low priority)? :)

Ads20000 commented 6 years ago

@ziggy42 that's now been edited by the snappy lead - it's out of date information, it should just work :)

zyga commented 6 years ago

@ziggy42 confinement is complex and not a boolean flag that is on or off. Many parts of the confinement story work on Fedora (seccomp, namespaces and cgroups). It is true that apparmor is not supported on Fedora. In the future that may be fixed but this is a long process.

zyga commented 6 years ago

@Ads20000 ubuntu is maintained by a lot of people that are not on a payroll. Anyone can jump at that bug, investigate it, fix it and provide a patch. I cannot tell anyone to work on that more than you.

During my daily hacking on snapd I'm testing everything I work on on Fedora (and others). Perhaps flatpak developers could just look at making their software work on Ubuntu?

legacychimera247 commented 6 years ago

hi there and sorry for the late reply...well as flatpak is the fedora default package (other than rpm of course) i was more inclined to that than having to install snap support, that's why i was asking for a flatpak (and because flatpak helps keep pc's clean (as snap obviously) more than for the confinement...

anyway i ended up trying the rpm package, so that's not really an issue anymore... :)

niemeyer commented 6 years ago

@bengotow Yes, according to the distro, it is very difficult to run a Snap package outside of Ubuntu

LOL? :) I'll just leave this here:

https://forum.snapcraft.io/t/yes-snaps-are-cross-distribution/3906

ziggy42 commented 6 years ago

I'd love to be able to install Mailspring from flathub

agates commented 6 years ago

Please support Flatpak instead of (or in addition to) snap. I'll just leave this here:

https://kamikazow.wordpress.com/2018/06/08/adoption-of-flatpak-vs-snap-2018-edition/

brunofin commented 6 years ago

In honest opinion, Flatpaks are better than Snaps. The wide adoption of Snaps comes from the wide adoption of Ubuntu only, and let's be honest Ubuntu is not as great as it used to be -- it did an amazing job back then to popularize Linux, it was the first distro I used and loved. But today it is broken and outdated.

Coming back to containers, I have been trying Snaps, Flatpaks and AppImage versions of the same applications on my Fedora whenever I could, apps such as Spotify, Zoom, Discord.

They all worked pretty much the same, except Themes do not work on Snaps. And to be fair neither on Flatpaks, but Snaps look like Windows 95 on drugs while Flatpaks will use a fallback theme, which is great. Windows 95 appearance is a huge no-go for me, so sorry guys I cannot deal with that.

Further on, Flatpaks will give you a list of permissions it needs to have access to upon installation, and ask you if it is fine - similar to how Android apps used to behave.

Something else I notice -- Flatpak applications tends to be more up-to-date than their Snap counterparts. Some apps don't even have Snaps but they have an updated Flatpak -- even more up-to-date than their RPMFusion repos. An example is Zoom.

I would probably give reference to AppImages over Snaps or Flatpaks but I just didn't see any AppImage out there that I could try.

refi64 commented 6 years ago

Would you guys be interested in a community-maintained Flatpak? I'll be happy to work on this myself, though I can't seem to find where the .deb files are hosted...

gombosg commented 6 years ago

@kirbyfan64 wow, that sounds great! Especially if some automated build system could be set up. Is that possible?

sramkrishna commented 5 years ago

The best reason to use flatpak is that it is a community project where a number of distros and companies are working together vs one company. This means that the speed of development will be a lot faster than snaps and it will have widespread support and integration in large number of distros. Consider flatpak developers are integrated with the rest of the desktop eco-system. I say this as a GNOME project person. Also, I would love to invite you to our next libre application summit - http://las.gnome.org/ was last year, but having app developers come and talk about their issues with the eco-system especially things like ubiquitous apps. Next year we should have both flatpak and snaps people there.

zyga commented 5 years ago

@sramkrishna using flatpak is fine but please don't claim that one or the other has mythical community value over the other. People using and making snaps are also a community. Make the argument technical, that's the only fair thing to do.

kallisti5 commented 5 years ago

Flatpak is integrated with the gnome package manager and other standard DE tools. Snaps are pretty Ubuntu-centric.

Ads20000 commented 5 years ago

@kallisti5

the gnome package manager

GNOME doesn't have a package manager (though Flatpak grew out of GNOME so Flatpak itself can almost be considered GNOME's package manager), did you mean GNOME Software (the appstore)? Both snappy and Flatpak have plugins for that - both have integration with it. What other 'standard DE tools' are you referring to? :)

kallisti5 commented 5 years ago

"Gnome Software" is what I meant :-)

This article gives a pretty fair breakdown of each: https://kamikazow.wordpress.com/2018/06/08/adoption-of-flatpak-vs-snap-2018-edition/#comment-1117

zyga commented 5 years ago

Flatpak is integrated with the gnome package manager and other standard DE tools. Snaps are pretty Ubuntu-centric.

Snaps are also integrated with gnome software but if you knew that you would not have posted this statement. Even if they were not this is totally irrelevant to what people use and develop. Be great to each other.

kallisti5 commented 5 years ago

So, you're ignoring the comparison of flatpack vs snap showing a consistent lack of snap support outside of Ubuntu. Ok..

niemeyer commented 5 years ago

Talk is cheap. Here is a chart backed by real world data showing the status of cross-distro support:

https://snapcraft.io/core

kallisti5 commented 5 years ago

@niemeyer thanks, out of the top 20, 1 is a non-Ubuntu/Debian derivative (Fedora 28)

niemeyer commented 5 years ago

@kallisti5 What about the top 50? How many of these are Debian, Ubuntu, Fedora, Arch, or OpenSUSE, or ... based? How many actual Linux users does that cover?

There's bias, and then there's blindness.

kallisti5 commented 5 years ago

Heh. Blindness... so:

I feel like most of the data points to not trusting Canonical skunkwork projects :-)

niemeyer commented 5 years ago

Thanks for making my point more clear, @kallisti5. Nothing we do or say can fix irrational hate.

Have a good day everyone.

kallisti5 commented 5 years ago

at the end of the day.. just don't discontinue rpm's / deb's if you're going to just release snaps without releasing flatpak's

kallisti5 commented 5 years ago

also, @niemeyer + @zyga work for Canonical. They have some bias :roll_eyes: I wish Canonical employees would announce their biases before getting involved in threads like this.

refi64 commented 5 years ago

Guys guys, please... This is a request to add a Flatpak, not a giant face-off as to Snap vs Flatpak (and of course Canonical and Red Hat always get brought up)... At this point the discussion is going nowhere.

Ads20000 commented 5 years ago

Just because stuff happened in the past, doesn't mean it will happen again, then again, if snappy is not scrapped, people will hate because it exists and Canonical is bad (supposedly), if snappy is scrapped, then it confirms people's beliefs that Canonical is bad. Canonical can't win!

I sometimes get involved in the snapcraft forums but other than that I'm not a Canonical employee or anything and I'm happy to back their criticisms of your arguments @kallisti5, does that help? :P I think it's great that they're keen to engage with criticism and seek to make things better. There's two particularly controversial threads on the forum that are kept open so that the team can engage with the community and make snapd better, not necessarily capitulating to criticism but learning from it. That's good, right? :)

Also, yes, the article is right, snappy is often not fully supported by the OS it runs on, or is lacking a few features (like re-exec - automatic updating without needing new snapd packages), or the package is out-of-date. Flatpak, also, is not always up-to-date on every distro (Flatpak isn't 1.0 on every distro yet) but was when that article happened to be written! However, it does run on pretty much any GNU/Linux OS and the team are very happy to help people get it working if you have problems (just jump on forum.snapcraft.io). Flatpak doesn't have this easy-dev-access in the same way, I don't think mailing lists and IRC (presumably not logged or reference-able?) are as easy for people to engage with the devs as the snapcraft forum is (they also have GitHub, Launchpad Bugs, and IRC, but things are explicitly centralised around the forum, that's the go-to place).

triangulum commented 5 years ago

Snaps achieve a similar goal but also provide a single autoupdate mechanism for all Linux distros

Apart from CentOS, and many others...

(Whereas Flatpaks and AppImages would work fine!)

zyga commented 5 years ago

@triangulum CentOS support is in the works. There are some kinks with the older kernel there and with older SELinux policy. It is well on our plan to support it.

fbruetting commented 5 years ago

Meanwhile on Fedora Silverblue 29:

bildschirmfoto von 2019-01-22 22-54-21

And we cannot install RPMs on OSTree systems.

Ads20000 commented 5 years ago

@fbruetting to have Mailspring work on Silverblue please +1 (thumbs up) the following Issues and comments: https://github.com/projectatomic/rpm-ostree/issues/1711#issuecomment-446237928 https://github.com/projectatomic/rpm-ostree/issues/337#issuecomment-307675484

tracker1 commented 5 years ago

I can't speak for others, as I haven't really used either much... but as a linux lay person, I've definitely heard about flatpak more than snap. And given Ubuntu's history of often dropping a position on tech in favor of the broader community, flatpak will probably win out here. You can do flatpak on ubuntu, and as of at least 18.10, it's in the main ubuntu repo (no PPA needed).

Aside, for context: I've taken a few year break without running linux as my main desktop, mostly using linux, docker, etc as a server-side app target for deployment and development. I'm probably going to go back into Linux later this year when I do a hardware refresh (first in 5+ years, on hackintosh). I also almost always use Ubuntu or CoreOS for servers.

I'd say flatpak should DEFINITELY be considered. I was actually surprised to not see it in flathub.

msheiny commented 5 years ago

And we cannot install RPMs on OSTree systems.

@fbruetting - just to clarify that you can install rpms on ostree systems. I'm not here to argue with anyone about merits of package managers just wanted to chime in here on this specific point.

This is from the rpm-ostree (version 2019.3) man page (emphasis was added by me):

install Takes one or more packages as arguments. The packages are fetched from the enabled repositories in /etc/yum.repos.d/ and are overlayed on top of a new deployment. It is also possible to specify a local RPM package that resides on the host. Overlayed packages can later be removed with the uninstall command.

fbruetting commented 5 years ago

@msheiny Oh of course, I think I wanted to write something different which I don’t recall anymore. Just forget this line! ;)

refi64 commented 5 years ago

@fbruetting You were probably thinking of support for installing packages that use /opt, which was only added month ago.

mmstick commented 5 years ago

I'll also add that we have no intention in supporting Snaps on Pop!_OS. elementary OS is also focusing solely on Flatpak. Only Ubuntu and its official flavors are guaranteed to support Snap, as its a requirement to be an official flavor. Everyone else is using Flatpak.

kallisti5 commented 5 years ago

Both snappy and Flatpak have plugins for that - both have integration with it. What other 'standard DE tools' are you referring to? :)

... and GNOME Software is dropping Snaps.

https://www.phoronix.com/scan.php?page=news_item&px=GNOME-Software-Dropping-Snap

Now can we get a Flatpak package for Mailspring?