Implication of the word "developer"

If a user runs snap find gnome they will see output similar to this:-

alan@hal:~$ snap find gnome
Name                              Version          Developer         Notes    Summary
gnome-calendar                    3.26.3           Canonical         classic  Calendar for GNOME
gnome-calculator                  3.26.0           Canonical         -        GNOME Calculator
gnome-recipes                     1.6.2            Ken VanDine       -        GNOME loves to cook
gnome-contacts                    3.26.1           Canonical         classic  A contacts manager for GNOME
gnome-system-monitor              3.26.0           Canonical         -        System Monitor

The word Developer in the third column may mean different things to different users. They may wonder is it the "Developer of gnome-calendar` is listed here, or the “Developer of the snap”? Should it say “Publisher” given the publisher of the snap isn’t always the developer of the upstream software? Can we refine the wording here so it’s clear who the “developer” is in this instance? Should we?


I agree with this. If a “Developer” title is still desired (for upstream), maybe an additional field could be added called “packager”, or “publisher” as Alan suggested.

For now we do have the two ideas throughout the code base of the snap daemon and store:

  • Publisher - The one responsible for the package right now. The one who controls the name.
  • Developer - The person that built the actual snap.

You are right that there is some conflict in the second case between upstream developer and package developer, and there’s also some actual overlap in the real life between those. We might think about different terms for the second case, such as Packager. We cannot use Publisher as it already means something else.

notice that in some internal places we have fields called developer though that actually carry the publisher information instead. Indeed the current value of developer for snap list comes from such a place

+1 for packager. It is very to the point.

Indeed, when doing collaboration, the developer field out of snap list does not update to whoever built and/or pushed. It should probably be more clear to rename it as publisher.

I’d like to bring this thread back since I just experienced a case where the word “Developer” lead to quite some confusion. I strongly recommend to use “Packager” here to draw a line between the upstream developers themselves and me as the one providing the snap package.

I think renaming the “Developer” to “Packager” works for snaps provided by the upstream developers and by third-party snaps - in the first case, the end user will just notice that the snap is packaged by the upstream project, so I don’t think we have a regression for upstream-driven snaps here.