canonical / open-documentation-academy

Learn open-source software documentation skills with Canonical
https://canonical.com/documentation/open-documentation-academy
Apache License 2.0
69 stars 39 forks source link

Snap: create apt/deb, snap comparison table #7

Open degville opened 8 months ago

degville commented 8 months ago

Create a table of features to compare deb package management capabilities with snap package management.

Background

This is a table that has been requested by many different people. It's purpose isn't to say one packaging scheme is better than another, but rather to show a comparison of their capabilities side-by-side.

An overview of snap's most important features can be found here: https://snapcraft.io/docs/quickstart-tour

Prerequisites

You will need some experience with snap and deb packages, and how they're installed and maintained.

See also Contribute to our documentation.

Owslla commented 6 months ago

Hello @degville, I'm considering taking this one on. I have experience using apt/deb and snaps, but no packaging knowledge, though I'm packaging curious. (:

A few questions:

Would this table exist on the snap reference page you listed in the issue? Are we expecting this table to be for users of the two forms of package management, or for developers deciding which way they would like to package? Would it focus on the aspects of snap usage covered there, or be a more general overview comparison?

Thanks in advance. Look forward to working with you.

degville commented 5 months ago

Hello @Owslla! Sorry for not getting back to you until now - I've been away. And thanks so much for your interest in tackling this. I'll try to answer your questions:

Would this table exist on the snap reference page you listed in the issue?

I think this page would exist on its own, probably part of our reference documentation.

Are we expecting this table to be for users of the two forms of package management, or for developers deciding which way they would like to package?

Great question - I'd not thought about this, but I think both, if possible (not sure how we'd tackle this). It's important for developers that you only maintain a single package, for instance, that should work across all snap-supported distributions. Equally, you can host your own PPA or signed debs without requiring Canonical's Snap store.

Would it focus on the aspects of snap usage covered there, or be a more general overview comparison?

I think something like this needs to be a pragmatic and factual comparison, helping people understand which packages may be best for them under specific circumstances. It absolutely does not need to be snap-centric, but hopefully showing the advantages/disadvantages of both.

Thanks again for your interest, and I promise to respond quicker next time!

RasheedAZ commented 5 months ago

Hi. I'm also a user, not a packager. My question is: why not expand this to also include flatpak and appimage formats?

Why... because from my experience that's the question and comparison people need and are actually asking for and there's a lot of FUD around snap in relation to other formats that is being propagated online.

For example, even though I'm a Flatpak user, I had to defend snap online today but some of the claims I provided were unfortunately from my personal experience rather than easily accessible up-to-date documentation that I could discover:

Snaps can have advantages over flatpaks like:

So if flatpaks are included in the table and the above claims are indeed correct, perhaps they can be added?

degville commented 5 months ago

Hi @RasheedAZ. This is a really good question - thank you for asking it. And I totally agree; it would be brilliant and useful to have a pragmatic and objective table that included all packaging solutions for Linux. We'd absolutely publish such a table comparison verbatim, and it would help all of us.

At the same time, for people who may be new to open source and open source contributions, I didn't want their first engagement with the community to potentially involve negative commentary (I may be being over cautious here, but I want the Academy to always be as inclusive and as welcoming as possible). This was my thinking behind restricting this task to deb and snap.

Perhaps the best solution is to start with this apt/deb/snap comparison (which would still be useful), and then create a new issue/task to include the other packaging formats. That way we could hopefully communicate in the new issue (sensitively) what we wanted to achieve.