steam-for-linux icon indicating copy to clipboard operation
steam-for-linux copied to clipboard

Snap or flatpak to distribute games

Open Avamander opened this issue 8 years ago • 66 comments

But could games through steam be distributed as snaps or flatpaks instead?

Avamander avatar Jun 23 '16 09:06 Avamander

Partial duplicate of #4473 / #4499. Also, how would snap / flatpak deal with updates, no sane user is going to tolerate re-downloading the full contents of a game on every update.

Tele42 avatar Jun 23 '16 11:06 Tele42

If snaps or flatpaks were used then Steam wouldn’t work anymore here, so bad idea.

ghost avatar Jun 30 '16 12:06 ghost

@stqn1 Would not work any more where?

Avamander avatar Jun 30 '16 19:06 Avamander

@Tele42 Delta (partial) updates are a planned feature of snaps.

Avamander avatar Jul 01 '16 14:07 Avamander

Please provide a snap package. Snap is also working on other distributions.

0xBADEAFFE avatar Nov 22 '16 10:11 0xBADEAFFE

Please provide a snap package. Snap is also working on other distributions.

this is not true. a canonical employee published a personal third-party repo (think PPA) for some distros. But it's not yet accepted by any non-canonical/ubuntu mainstream distro in the official repo.

on the other hand. Flatpak is in the official repos of all mainstream distros.

muayyad-alsadi avatar Nov 30 '16 14:11 muayyad-alsadi

@muayyad-alsadi Sorry but you are wrong. ;) As yo can read here: https://insights.ubuntu.com/2016/06/14/universal-snap-packages-launch-on-multiple-linux-distros/, snaps are working on various distros.

0xBADEAFFE avatar Nov 30 '16 18:11 0xBADEAFFE

what is the thing you don't understand in the word "official"?

a single canonical employee created a personal repo for some distros is so way different that being shipped in the official repos of suse, fedora, debian and arch (as with the case of flatpak)

muayyad-alsadi avatar Dec 09 '16 10:12 muayyad-alsadi

How does it matter if it's official or not? If the thing works, gets support by other devs/Steam (thus becoming official) and is better than Steam runtime, it's totally okay.

Avamander avatar Dec 09 '16 15:12 Avamander

@Avamander

  1. we have a vendor lockin vs. something supported by all major distros including debian, arch, suse, fedora, ...
  2. we have something that requires voiding your security (turning off selinux) vs. something that is officially supported by your distro/provider. it's like asking for iphone jail break to just open a website.
  3. issue of trust specially after canonical claiming patents
  4. copy right re-assignment to someone that is not trust worthy

quoted from their IPPolicy

You cannot use Canonical’s patented materials without our permission.

double those fears after canonical suing a hosting provider for redistribution of ubuntu.

so If I want to use steam I should accept canonical's fishy terms. no thanks

muayyad-alsadi avatar Dec 09 '16 15:12 muayyad-alsadi

You are making a lot of assumptions and mention "issues" that can be fixed.

Avamander avatar Dec 09 '16 16:12 Avamander

@Avamander how can you fix canonical not being a team player and asking every body to transfer copyright to them? how can you fix canonical claims of patents? How can you fix not being supported by official providers and lake of official support in major distros (support mean what support is supposed to mean, not 3rd party personal repo)? How can you fix lake of proper security (SELinux)?

You don't have to answer any of those questions. Why bother going with snap in the first place when we have flatpak which is already solve all those problems without raising any concern.

muayyad-alsadi avatar Dec 09 '16 17:12 muayyad-alsadi

Canonical does not require copyright transfer, nor are there any patents on the Snap format or associated software. Snaps are a part of Ubuntu and Debian now, with COPR packages for Fedora and I believe AUR packages for Arch. The lead Snap developer is working with a Fedora developer to fix the issues with SELinux on Fedora (it's not a generic SELinux problem) and get it into the official repos there.

mhall119 avatar Jan 12 '17 21:01 mhall119

@mhall119 I did not say that packing steam with snap would require transfer copyright of steam to canonical. That's too evil!

Contributing to snap would require copyright transfer as this is part of CLA unlike to contributing to flatpak (when talking about community driven)

I'm sorry if this is not clear enough about what is required, I thought it's obvious.

Are you sure there are no IP associated with Snap? Any link to patent policy is appreciated because the only Ubuntu IP Policy I'm aware of says otherwise. Quoted

Canonical has made a significant investment ... You cannot use Canonical’s patented materials without our permission.

if you have a list of those patents and what they do cover exactly that would be great!

muayyad-alsadi avatar Jan 12 '17 21:01 muayyad-alsadi

The CLA does not require a copyright transfer either

I'm not aware of any patent covering Snaps, and the fact that they are in Ubuntu and Debian means that if there are it must allow unlimited, royalty-free distribution anyway. Furthermore Snappy is licensed under the GPLv3, which has an explicit patent license grant that keeps it "Free Software" by the FSF's definition

mhall119 avatar Jan 12 '17 21:01 mhall119

@mhall119 I apologies, canonical no longer require copyright transfer. old CLA did require that.

That's a step in the right direction. Thank you.

muayyad-alsadi avatar Jan 12 '17 21:01 muayyad-alsadi

@muayyad-alsadi yes, the original CLA was more like the FSF's Contributor Agreement, which transfers copyright. The new one is more like Apache's, which is is only a license grant

mhall119 avatar Jan 13 '17 18:01 mhall119

+ 1 For flatpak

Steam itself could be distributed in one as well...

0x647262 avatar Mar 05 '17 04:03 0x647262

Heart if FlatPak, Hooray if Snap!

Avamander avatar Mar 05 '17 12:03 Avamander

@Avamander are you authorized to take the decision if I voted with heart?

@mhall119 as I said, it's a step in the right direction (because FSF is a non-profit org, it can ask for copyright assignment from contributors). What bothers me is the "sub-license/re-license" terms in your CLA. I want to make sure everybody have equivalent writes to my contributions in other orders if canonical need to sub-license or re-license those new licenses should be under same terms (ex. if I contributed to a GPLv3 code, canonical should not be able to re-license my contributions into Apache or BSD ending into a proprietary software).

I would like to hear more about patent policy and possibly a link to detailed list.

muayyad-alsadi avatar Mar 05 '17 12:03 muayyad-alsadi

@muayyad-alsadi Irrelevant. It's needed to show the preference.

Avamander avatar Mar 05 '17 13:03 Avamander

Flatpak plan is to use SELinux as Security Module. Snapd uses AppArmor as security module. You don't lose security by using Snapd. SELinux is promoted by Red Hat. AppArmor is developed by SUSE and Canonical. Choose your poison. AppArmor is easier for administration and features continue to be added.

Being a non-profit organization does not entitle you to ask for a copyright transfer. Thanks to that, Libreboot could leave the GNU umbrella after the anti-transexual dispute.

Now, back to the distribution of games. Flatpak or Snapd? Whichever uses AppArmor for administration easyness.

Raulvo avatar Mar 19 '17 15:03 Raulvo

I guess it's easy to see the real adoption

https://kamikazow.wordpress.com/2017/02/09/adoption-of-flatpak-vs-snap/

and asking me to turn off my security to install it does not translate as choose your poison. but this issue is promised to be solved (which is a good thing, calling it a poison does not help)

ps. SELinux protected me from venom and last docker vulnerability, while app armor did not. AppArmor is just path based policy (ex. a file called xyz ), it does not fit to lock processes to the guest/container it belongs to. the same way app armor did not protect us from venom and docker last vulnerability it won't protect us when snappy future vulnerability come.

muayyad-alsadi avatar Mar 19 '17 20:03 muayyad-alsadi

@muayyad-alsadi So you had both SELinux and AppArmor on the same system? Congratulations for getting two LSM online at the same time. AppArmor is path based and SELinux is inode based, so what? That does not add anything to security but complicates things to system administrators. Why AppArmor can not lock processes to the guest/container it belongs to? Containers are deployed with distinct users, AppArmor can set permissions by user. Kernel patch for hardlinks: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=800179c9b8a1e796e441674776d11cd4c05d61d7 Sysctl enablement options: fs.protected_hardlinks = 1 fs.protected_symlinks = 1 These two are enabled in Ubuntu. I would consider revisiting your AppArmor policies.

Snappy allows core system software to be distributed while Flatpak is though for user session software.

Flatpak would be OK if they supported both AppArmor and SELinux.

Raulvo avatar Mar 20 '17 01:03 Raulvo

So you had both SELinux and AppArmor on the same system?

No i manage both ubuntu and centos/fedora on production both with mac enabled. I thought this is obvious!

muayyad-alsadi avatar Mar 20 '17 06:03 muayyad-alsadi

Why AppArmor can not lock processes to the guest/container it belongs to? Containers are deployed with distinct users, AppArmor can set permissions by user.

I would appreciate if you provide me a link how apparmo could mitigates venom or CVE-2016-9962 Because qemu and venom.website says that only selinux work and that app armor did not.

http://rhelblog.redhat.com/2017/01/13/selinux-mitigates-container-vulnerability/

muayyad-alsadi avatar Mar 20 '17 06:03 muayyad-alsadi

Flatpak has wider adoption, a roadmap for sandboxing and delta updates, and is largely seen as the more serious long-term player in this space. +1 for Flatpak.

troyfolger avatar Mar 21 '17 06:03 troyfolger

I dont see the wider adoption. Other factors subjective. Ubuntu is the most used distro, and snap is being ported to others. Snap has apparmor and selinux support. Snap already provides delta updates. Snap is more complete than flatpak and is already being deployed for containers of al kinds, including system and user software.

Raulvo avatar Mar 22 '17 11:03 Raulvo

@raulvo if you opened the wordpress link above you would see the status of both, if you cared to look you had seen that flatpak in the official repos of all distros unlike snap.

Being able to do system containers is out the scope steam is a user session app.

We don't care about system and daemons because that's what docker is for.

muayyad-alsadi avatar Mar 22 '17 12:03 muayyad-alsadi

If you even cared to read these messages you would know I already know that. The thing is, snap has more features than flatpak already in place. Flatpak is the inferior approach. I suppose you know the existance of SteamOS, based on Debian which already has Snap support.

Raulvo avatar Mar 22 '17 12:03 Raulvo