Publish or Release?

If your packaged failed review, it will have this button at the bottom of the age:

Clicking on this button does exactly what it says. If you have a package pending review, you get a button that says “Reject …” which also does exactly what it says.

However once your packages passes review you get this:

If you click this button it does not release your package. Actually, there is no such thing as “releasing” a snap, the correct term is “publishing”, and that happens automatically when the snap passes review.

So it is not clear at all what this button is supposed to do, and it is actually misleading because it gives the impression that the snap has not been released, when actually it has been published.

The button should actually be labeled something like “select channels where this package should be published”.

Thanks for raising this issue. It’s very timely because we just had this exact conversation in the sprint last week: we have some confusion on whether to say “publish” or “release” for that purpose, and we should define so we stop going back and forth in different conversations, interfaces, or documentation.

I believe the term we actually agreed to for this purpose is to release, though, and that’s also what the interface looks like both in the web and in the command line.

Do we have any user interface saying publish for this action?

Yes, all over the place:

Top right: “Package status is Published”

Main part: “Status Published”

And you also have “Channels edge – Release” where “Release” is a link that does the same thing as the button at the bottom.

“Release” is indeed the correct term. That release button should do the same thing as the “release” link next to the “Channels” list in the “Technical Details” section for the revision, taking you to the channel selection page. Is that not the case for your snap?

We should remove the “published” terminology from Status.

1 Like

Yes, it does the same as the release link. The problem is that neither of them do anything that could be considered “releasing” as the snap is already publicly available.

It is only publicly available when there is a revision in a channel, and we define “releasing” as setting the revision in a channel.

Yes, that is the problem. Why can’t you just say “setting the revision in a channel”? It would be a lot less confusing.

To someone who has not studied the docs forwards and backwards, “make publicly available”, “publish”, and “release” all mean exactly the same thing.

We’re not making it publicly available if it’s already in a different channel. It was already public before. What we do is to release it to a set of users which are following a given channel. Of course, we could also say that we’re “publishing” it to the users which are following a given channel, so in that sense both terms are very similar and either of them will do. We just need to be consistent, so you are right to raise the problem above, thanks!

The rules we have been following in snapcraft UI are simple:

  • push means uploading the snap to the store.
  • release means putting the snap in a channel.
  • we never use the word upload.
  • we never use the word publish.
1 Like

It seems fine to use the term “publish” in the context of the “publisher” term. In other words, I’m a snap publisher and therefore I publish snaps. “Releasing” is a more specific term which means making a snap available in a given channel.

Tracking this for https://build.snapcraft.io in #740.

1 Like