Confusion of snaps in Ubuntu Software

On Ubuntu 20.04 I have opened Ubuntu Software program. I clicked on search icon and typed in pinta. I have received two hits:


First confusion is, Pinta is listed twice. Inexperienced user has no clue why are they listed twice, so it may just click on first one - first solution is offered by Ubuntu Software. And it gets:

This is Pinta from official Ubuntu repository. In this case it is Pinta 1.6 which is 5 years old version and there is additional confusion License = Prorietary. But searching the license https://github.com/PintaProject/Pinta/blob/master/license-mit.txt Pinta is licensed as MIT open-source license.

Now back to first picture and select second option:


This is Pinta 1.7 freshly released one month ago using snap. Perfect. License = Free is also correct. But confusion is Developer = James Carroll. From snap store https://snapcraft.io/pinta-james-carroll it is clear James Carroll is snap package maintainer and not Pinta developer. Pinta developers are listed on project official web site https://www.pinta-project.com/contact

My questions:

  1. Why does Ubuntu Software offer two version of Pinta and there is no distinction which one is from official distribution and which one is snap - I think average user should get some info like “recommended” or “new version” or anything that suggest which version to install.
  2. Why are there inconsistencies in program description. It looks like there are two different versions of program.
  3. Why are there so many “bugs” in metadata information? Where to report those bugs?

I also see similar situation searching “vlc” for media player.

  1. Different descriptions of the same software and not clear why are there two VLC versions. If clicked on first one it is clear it is VLC from Ubuntu repository and second one is VLC from snap. But interesting both are on 3.0.11 versions.

I don’t know if this is proper forum for Ubuntu Software discussion, but if it is, there is some room for improvements. :slight_smile:

1 Like

Lots of questions in this post, so I’ll try to get through them all:

GNOME Software (on which Ubuntu Software is based) does support de-duplication of items like this, but only when the packages provide metadata. More specifically, it requires that both versions provide the same AppStream ID. It does this because simple matching on human readable names is unreliable:

  1. sometimes people reuse the name of an existing application (whether intentional or unintentional).
  2. sometimes an application has name variations.

To merge the two Pinta entries, the .deb package of the package would need to install a metadata file to /usr/share/metainfo, and the .snap package would need to list the same ID from the <id> element in it’s common-id metadata attribute.

In general, it is up to the upstream maintainer to provide AppStream metadata and pick an ID, since there is no guarantee that packagers would pick the same ID if they wrote the metadata. In the specific case of Pinta, it doesn’t look like 1.6 provided AppStream metadata and newer releases don’t look like they’re using a valid ID.

As for the versions, the archive of .deb packages mostly represents a snapshot of the world some time around the feature freeze for the Ubuntu release. Pinta 1.7 was released in August 2020, so the five year old version was the most recent at the time Ubuntu 20.04 was released. Snaps provide a way for developers other than the Ubuntu maintainers to distribute software in a way that won’t interfere with the base system. In this case someone has done that.

Based on the contact details for the snap, they’re maintaining it here:

If you’ve got problems with the snap, you could open an issue there. It looks like he named his snap pinta-james-carroll, so if the Pinta developers wanted to publish a snap called pinta (possibly based on this existing snap as a starting point) the name is available.

As for the free vs. proprietary indicator in Ubuntu Software, I’m not sure what is causing that. I can verify that it shows as proprietary in snap-store.ubuntu-software, but shows as free software in the .deb packaged gnome-software. Perhaps @robert.ancell has an idea about this?

2 Likes

You can tell there’s a difference between the two packages. The snap has a source of snapcraft.io, and the Apt package has a source of ubuntu-focal-universe. Perhaps this could be made more clear for users, but it would only solve the problem for Ubuntu users with the snap-store GUI. In the context of other distributions and desktop environments, this problem would still exist. In some scenarios, I’ve seen app stores list Flatpaks, Snaps, and native installs side by side! This is a problem that every single distribution would need to decide upon themselves. Generally however I do agree this is a source of confusion. I maintain the runescape snap too, and I’ve had many people with issues over why there’s 5 different Snap hits, a Flatpak version, Apt versions, PPA’s, versions in the AUR, and how many App store frontends make it more confusing by putting several of these side by side, and most of them don’t work or work with significant problems. But this goes well beyond the snap-store gui Ubuntu uses alone so I’m skeptical it’ll ever be solved properly. There’s some extra confusion caused by the ODRS review system merging reviews for some packages, and then seperating them for other packages.

I could add the AppStream data if it provides the deduplication, but I wouldn’t say deduplication is always beneficial. Sometimes Snaps have issues and the native counterparts don’t. In an ideal world Snap is the superior platform for everything, in the real world, Snap can have flaws, the sandboxing can cause issues, and I wouldn’t personally like deduplication to be an automated process but perhaps something that the Snapcraft store itself could curate, marking a snaps quality as suitable enough that it could replace native package. Pinta I would argue would be suitable for deduplication, but a lot of snaps aren’t there yet IMO. VLC too is debatable whether it should deduplicate. I’m sure 99% of users of VLC would be satisfied with the Snap, but there’s some VLC features that are niche and won’t work in a Snap environmnent, so it’s nice the choice still exists. There’s a lot of features behind VLC beyond it’s utility as a simple media player, though I’m sure to many people, that’s all it needs to be.

Whilst I’m not a Pinta developer, the pinta-james-carroll snap is actually on the Pinta downloads page https://www.pinta-project.com/releases/ so I can only assume I’ve not caused them that many problems yet :)! It’s also worth considering that the Ubuntu apt package is also made by people other than the Pinta devs themselves as well, and whilst I would generally trust the Ubuntu maintainers over random unknown Snap maintainers like myself, as far as Pinta itself being the official upstream goes, the Ubuntu apt package isn’t anymore approved by them than the snap is.

1 Like