Outils pour utilisateurs

Outils du site


issue200:mon_opinion

Ceci est une ancienne révision du document !


The love, the hate, the controversy, like sands through the hourglass, these are the days of our lives… From the snapcraft page: “ Snapcraft - Snaps are universal Linux packages Canonical Snapcraft The app store for Linux Pre-built apps C/C++ Java Node.js Electron Flutter Ruby MOOS ROS 2 Snaps are easy to discover and install. Millions of users can browse and install snaps graphically in the Snap Store or from the command-line. Snaps install and run the same across Linux. “ So what did we get from this? I got universal Linux packages and a waste of my time reading it.

L’amour, la haine, la controverse, comme le sable dans un sablier, ce sont les jours de notre vie…

De la page snapcraft [Ndt : n’existe pas en français, apparemment] : « Snapcraft – les Snaps sont des paquets Linux universels. Canonical Snapcraft est le magasin d’applis pour Linux : des applis pré-compilées en C/C++ Java Node.js Electron Flutter Ruby MOOS ROS 2, qui sont facilement découvertes et installées. Des millions d’utilisateurs peuvent parcourir et installer des snaps dans le Snap Store, avec interface graphique, ou à partir de la ligne de commande. Les snaps s’installent et s’exécutent de la même façon partout sous Linux. » Et alors ? J’ai obtenu des paquets Linux universels et j’ai perdu mon temps en lisant ce descriptif.

Let me see if I can find out more and share it with our readers. Self contained packages are nothing new in the world of software. If you have ever used MacOS you would be familiar with them. I intentionally did not use the term universal package when talking about MacOS as that refers to something slightly different, but in essence, Snap packages are a universal package format for Ubuntu. OK, but what does that mean? That means that the application and all of the bits-n-bobs, that it needs to execute (run), are all in one convenient package. (They say it is inspired by mobile applications.) Basically a self contained application. On Windows you may have encountered “portable apps”, that is similar and indeed, Snap packages are portable. Because they contain more than just the application, they are not managed by your distribution’s package manager and you need a separate tool to manage them. Let us dig a little deeper into the subject as it has so much contention at the moment.

Voyons voir si je peux en trouver davantage et le partager avec nos lecteurs. Des paquets autonomes ne sont point nouveaux dans le monde des logiciels. Si vous avez déjà utilisé MacOS, vous les connaîssez. C’est exprès que je n’ai pas utilisé le terme paquet universel quand je parlait de MacOS, puisque cela se réfère à quelque chose de légèrement différent, mais, essentiellement, les paquets Snap sont un format de paquet universel pour Ubuntu. D’accord, mais qu’est-ce que cela veut dire ? Cela veut dire que l’application et tous les à-côtés dont elle a besoin pour s’exécuter (run) se trouvent dans un seul paquet commode. (Ils disent que leur inspiration veient d’applications mobiles.) Essentiellement une application autonome. Sous Windows, vous avez pu rencontrer des « applis portables », qui sont similaires et, en fait, les paquets Snap sont portables. Puisqu’ils contiennent plus que l’application seule, ils ne sont pas géres par le gestionnaire de paquets de votre distribution et vous devez avoir un outil distinct pour les gérer. Approfondissons un peu plus le sujet puis qu’il suscite tant de discorde actuellement.

As a user, with a modern computer, Snaps may just be another way for you to get apps. One cannot argue with the fact that Snap packages bring lots of software to Linux that wasn’t previously available and this is great. Snap packages also support channels, meaning you could have software from a stable or nightly channel, all great. Because Snap packages are self-contained, it means that it has to first unpack and load all those bits-n-bobs when it executes, if you have the same version in your memory, or not, resulting in longer load times and more memory consumed. Again, not a major issue if you have a modern computer. But … If we look at this from the perspective of someone who bought an Asus i3, 1.8Ghz with 4GB of memory and 80GB, 5400rpm slow spinning rust, ten years ago, more hard drive space wasted, more memory wasted, more CPU cycles wasted, makes no sense, specially if you wanted to “save” your laptop and not let it end up in landfill. You now have redundant data all over as each snap uses the same resources, but in its own little world. On top of this, imagine you are using your cellphone to tether for internet connection. You’d be out of pocket so fast, it will make your head spin. (Contrast this to Ubuntu 5.10 where I had 10MB of data a month and my updates were in kilobytes, and it was enough!) I do not have a fear that Canonical are doing nefarious things with Snaps, unlike MS, but Linux Mint is kicking against snaps like crazy.

Ref: https://hackaday.com/2020/06/24/whats-the-deal-with-snap-packages/

The thing that irks me about Snap packages is that people are “snapping” things that you would not need a Snap for, (eg, VIM) wasting space and time, sort of like Microsoft is doing with their store, FORCING people to use it. Do you want your sound card control panel or Nvidia control panel, that was conveniently shipped with your drivers? HA! No more!! Microsoft now has that exclusively in their store. Why? Probably so they can add more spyware to them and mine you for more data to sell. Let’s look at the software store page of Firefox. You do not get the choice to install the .deb-file it’s Snap or Snap. From a business perspective it makes sense, but not for a home user, as we like choice, I prefer faster apps to containerized ones, don’t you? From a resource standpoint I would like the choice not to fill my drive with redundant data. (I have to stress that not all Snaps are a waste of resources, I recall Blender being the same size Snap as a native install plus dependencies.)

There are lots of strides made to better Snaps and I am all for that. Previously if you did df-h you would end up with a scrolling screen of loop devices and you needed to modify the command with an alias. In the latest versions that has been fixed. The Firefox Snap now launches at a decent speed and so forth. There is undoubtedly a demand for a Linux universal package. However, if you do a lsblk, you will still see them (Snaps) as mounted file systems, when all you want to see is if your mounted drive is still there, for instance.

We have made so much forward strides in things like virtualization, saving on resources, just to go the opposite way with software. (my Windows 7 pre-release machine with less than half the power booted faster than my Windows 11 machine with a super fast SSD and four times the memory, as an example.) Even when Snap packages update, they download the complete thing, wasting bandwidth and writing lots of data to your drive, and should you have an early SSD, shortening the life thereof by quite a margin.

The main point of contention for a lot of people is the single point of failure. If the Snap store goes down, say DDOS attack, so does your chance to get more software or updates. It is not open source, so you cannot run your own store on your own server, making it feel like Apple’s walled garden. While you can have your own “store”, so to speak, on Canonical’s platform, you cannot have your own mirror.

The good: Applications are isolated, promising more security. Snap confinement describes the level of isolation of a snap on your system, you have strict, classic and dev mode. With ‘strict’ the application cannot access your system resources. This may be problematic when you need to say, save a file from your snap application onto a flash drive. In ‘classic’, the confinement level gives snaps the same access to system resources as traditional packages have. ‘Devmode’ is reserved for snap creators and developers. A snap with devmode confinement level runs as a strictly confined snap, but has full access to system resources, and provides a debug output.’ You can also revert to a previous version of software, if, for some reason you are unhappy with the update, you can revert (downgrade) easily. One Snap store also eliminates the use of lots of PPA’s. It is a convenient way to find software for Ubuntu users.

The Bad: There have already been malicious apps in the store, as nobody really checks them and all you need is an account to publish an application on the store. (You don’t have to be the author or maintainer.) There have been articles that argue that the isolated security is only skin deep. Snaps do not integrate with your theming, be it pointer or icons or colours. Then there are the forced updates, a main reason people leave Microsoft Windows and migrate to Ubuntu. Lots of package managers are also annoying people.

From a business perspective, it makes total sense and Canonical is a for-profit company, smooching up to businesses, even if it had got it’s fame from home users. Thus, I think Snaps are here to stay. I do not have a crystal ball, but as someone in the IT industry, constantly having to comply with x,y and z, set in place by Microsoft to exclude others, this is one way Canonical is clawing at that market.

My two cents

Here is where I think Canonical has to make a decision; be a business OS or support home users who want the same OS they have at work at home. Maybe it is time to follow Microsoft’s example and split into a home and business edition, where you have choices in the home version and the business edition is rigid. Either way, snaps are only part of the bigger picture. Ubuntu is a Canonical product that is also a community project, with a benevolent dictatorship. It’s really hard to maintain a balance between the needs of the community and that of a company. We have all witnessed the Red Hat fiasco the last few months…

issue200/mon_opinion.1704033772.txt.gz · Dernière modification : 2023/12/31 15:42 de auntiee