Free Software Only in snap store

We have for many years had a “Free Software Only” option on the Ubuntu ISO. This installs Ubuntu without the problematic non-free firmware/drivers and disables restricted/multiverse as a convenience to make it less likely a user will inadvertently install some non-free software.

The Snap Store doesn’t have such an option. We have been asked for this a number of times. Is now a good time to add a filter, which prevents the store from showing “Proprietary” or “unset” licensed software from the Snap Store?

Tagging @robert.ancell as he’d likely have to support this.

I don’t know how many people actually use Ubuntu as a “Free Software Only” platform, either using the above mentioned option, or by active choices made at software install time. But I think it would be a valuable feature to the users who do choose this path.

I appreciate that we expose the license in the metadata on screen, so users are at least informed when making software choices, but it might be a nice feature to enable them to hide it all completely from view. What do we think?

9 Likes

Agreed, this way to those saying ‘I want free software only’ it’s easier to say ‘use Ubuntu with ‘free software only’ option’ rather than ‘use Trisquel’ or something :stuck_out_tongue:

1 Like

It might also spur more snaps in adding their license instead of leaving it unset. Not trying to name and shame, but for example I noticed recently the chromium snap has the license unset.

4 Likes

well, the chromium license not showing seems to be more a store/snapd bug somewhere … if you check:

it properly shows license info …

1 Like

Interesting, I was looking at snap info chromium (and I’m using the beta channel FWIW).

If you have the snap installed, the license shown will be whatever was set in the snapcraft.yaml for that snap. It doesn’t appear as if the chromium snap sets this, so just adding that to the snapcraft.yaml will make it show correctly in snap info output if you have the snap installed (which sounds like a task for @oSoMoN)

looking at the snapcraft.io chromium page that might double the size of the snapcraft.yaml in the end :stuck_out_tongue:

(it would really be great if snapd could just obtain that info from the store ad-hoc)

We can’t do searches from snapd with a license filter but we can filter after we get results. This would break if all the top searches were propietary (i.e. we’d filter most of the results out), so this probably needs some snapd work to do this well.

it would just be one string? i.e.

license: "Apache-2.0 AND BSD-3-Clause AND LGPL-2.0 AND LGPL-2.1 AND MIT AND MS-PL AND (GPL-2.0+ OR LGPL-2.1+ OR MPL-1.1)"

it does for non-installed snaps, but for installed snaps, snapd prefers whats in the snap.yaml, because i.e. you might have a dev version of something installed locally and so that info is more precise/up-to-date than the store info. Also this is a problem more generally in that snapd always prefers info from local sources over the store, but there’s not a great solution that’s not also widely confusing under some circumstances (though perhaps the current decision to always use local sources is more confusing than to always use the store)