Snaps, Flatpaks and the Problem of Choice

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

Systemd and now Snapd in a month.......... trying to outdo Dr. Fauci in the popularity stakes?

I have both installed as I use whatever Google shows first in the results that works as my Installation preference. When it comes to Arch it's normally AUR, but if that fails I go further down the Google Results Rabbit Hole.

You are a pain in the A... now that you've pointed out the issue of updates and security, ignorance was a much happier place.

👍︎︎ 2 👤︎︎ u/SmegHeadOz 📅︎︎ Jul 26 2020 🗫︎ replies

Nice overview.

Canonical history demonstrated they are not able to go by themselves:

  • upstart: everyone is is using systemd
  • Mir: dead, Wayland is very slowly finding it's way
  • Unity desktop: no more officially supported, now community project and Gnome is the de facto corporate desktop (Canonical, Red Hat, Suse).

Therefore I bet my 50 cents on flatpaks (Red Hat, Suse).

👍︎︎ 2 👤︎︎ u/gabriel_3 📅︎︎ Jul 26 2020 🗫︎ replies
Captions
hello and welcome to the otb channel choice and freedom are good things there can't be many in the linux community who would disagree with that statement the problem is one of the side effects of having choices is it can often divide people or polarize them if you like into separate camps now that in itself isn't necessarily a bad thing but often the people in those separate camps will be so convinced that their rights and others are wrong that we can have all sorts of arguments and drama which ultimately aren't good for the community recently there has been lots of drama around this whole issue of snaps and flat packs and container inspired packages and in this video i'm just going to take a light touch look at what these things are and what the situation's all about and actually whether it's even worth worrying about see you after the intro [Music] okay welcome back so there's something inherently tribal about human beings we like to divide into our own camps and whenever we're given a choice a large proportion of people will go to one camp or another and although some people will be fence sitters and say okay well it's great having choice others will adopt a really strong position and we see this throughout well every aspect of human life but perhaps it's more noticeable in the free software community because we have so many choices and going all the way back from when i started using linux we had well the first thing that comes to mind is the big kde versus gnome wars with people on one side or another and then of course there was the uh vi versus uh emacs wars flame wars with uh people finding very little middle ground i covered one of the other flame wars that has been recently systemd versus the rest and it seems to me that even though that seems to have died down a little bit now that we keep hearing now about these new container inspired packages snaps flat backs and i haven't mentioned them here but app images also fall into this category what people think about them whether they think they're a good thing or a bad thing and more specifically whether you should use one over the other let me state my position here before we go much further i think generally that they are a good thing and i think uh some of the advantages that you can get from using them are brilliant and they solve a lot of problems and we'll we'll talk about that in a second which one ultimately ends up being the winner if any though is a matter of hot debate so let's get into this let's go to the combined screen and then let's just broadly have a look at what we actually mean by these container inspired packages okay so what are these things snaps and flat packs and and yes app images let's throw that into the mix i'm not going to get too technical here going into the ins and outs of exactly how each of these things works other than to say the similarities are perhaps in many ways bigger than the differences especially when you compare them to traditional package formats such as the deb files and the rpm files so these are whilst not a container in the sense of docker they are inspired by the container sort of paradigm the format they're not just a package in their own right they are a package that comes bundled with the dependencies and libraries that that package needs to run and the great thing about this is it means that a flat pack or a snap is not necessarily dependent on the libraries that are already installed on the system that you are running it on so just to give you an example here i have run the latest version of obs studio on debian stable and because debian stable doesn't actually contain the latest version of obs studio the easiest choice for me was to install the flat pack which doesn't require all the libraries that the latest version of obs studio depends upon because they come bundled within that that container or package if you like so they make things very easy and because they will run on multiple systems it doesn't really matter whether that system is a deb based system an rpm based system or or even an arch system you can run snaps and flap packs there is a a caveat here snaps will only run on systemd systems but flat packs and app images don't have that restriction how do these things work well to a greater or lesser extent they can all use this concept of sandboxing where they run as an independent entity it doesn't mean that they are completely walled off from the rest of your system they obviously need access to certain parts of the system in order to be functional can you imagine running a particular package that didn't have access to for instance your home folder where you needed to access other files or packages that are on there and often they'll need access to things like wayland or x11 in order to run properly and that in itself can be problematic as far as security is concerned because this sandbox essentially has to have holes punched in it to to ensure that these packages can function but ultimately they they can run in a sandbox which gives it a layer of security that perhaps other apps don't necessarily have and they have the dependencies bundled together within the package and you don't have to make a choice you can have a system that runs app images snaps flat packs and standard dev or rpm packages so it sounds like a good thing doesn't it on the whole it sounds like we might actually be getting away from this issue that you either run a deb system or an rpm system and you can only install packages which have a dead version or have an rpm version well those problems are gone you can just install a snap a flat pack or an app image well yes and no let's have a look at the advantages so what are the advantages of using these packages well the biggest advantage is for developers or companies who produce software and they want to get their particular application distributed across as many linux distros as possible now let's just take ubuntu for a prime example they support multiple versions of their operating system so you have your lts releases and that you have all the other ones in between if they just stuck to producing a deb package for all those applications they're going to have to develop a deb package for each of those different versions which will all no doubt have different dependencies based on different versions of libraries that problem is taken away by having something like a snap because the same snap will run on every single version so if you're running an lts release and it's getting to the point of two years old because of snaps you can still be running up-to-date software so that's a huge advantage let's think of independent software developers as well if they wanted to develop a package for linux they would have to make the choice about well in what format do we develop this do we produce a deb an rpm do we produce an arch version of the package how are we going to do that well with the introduction of these uh distro independent packages they no longer have that issue they can just create a snap or they can create a flat pack or an app image and they only have to create the one package it can then be distributed across multiple different distros of different ages so it makes the whole process of software development so much easier it really does i think personally that if we're ever going to get some of the big proprietary companies developing their software for linux uh let's talk microsoft for an instance and microsoft office uh as an example i would imagine that if it ever comes it will come in the form of a snap or a flat pack and the same could be said if adobe ever go the same way although they don't seem to be showing that much inclination so far but obviously it's going to be easier i mean i know that people may not see that as an advantage why on earth would you want to get proprietary software on a linux system well sometimes the restraints of work would just make it a lot easier an example that i have for instance is my my company the company i work for full-time has moved towards using microsoft teams for all conference calls now it doesn't matter whether you think that's a good package or a bad package the fact is that i have to use it for work and the choice i have is either to run my windows laptop and use it from there or an option which is far more convenient for me is to run from my linux system which is likely to be up and running as well well luckily you can do that now you can install uh microsoft teams by snap or by flat pack and i've got to tell you it works pretty good so there are certain advantages here they're making the barrier to entry into the linux ecosystem much easier for software companies and developers and for the user well there are advantages as well i mean they're easy to install there's no dependency hell for instance as you know i run slackware on one of my laptops uh slackware current in fact i'm running at the moment and it was stable but i've upgraded and it's not always possible to easily install a particular package on slackware it doesn't do automatic dependency resolution luckily though you can install the flat pack package and suddenly all those problems are gone if i need up-to-date software to run on my slackware system without having to go into uh compilation and compile the package from source i can just install a flat pack so there's a big convenience aspect here and i can run the latest software on on my version of debian stable which is great i don't need the latest software for everything but there are some packages where i do really need the latest virtu version for some of the features so yeah installing the latest apps on older systems is certainly an advantage for users i'm pleased to say that uh all the formats are widely supported as well so it doesn't really matter which distro that you're using in fact this this notion that some people are putting forward that distros don't really matter it sort of tends to support that notion it's not something i completely agree with but certainly we're going towards that if we're just using a standardized package format it takes away the the issue of well if i want to run such in such a package i'll have to run debian or ubuntu and last but not least it means that you get a consistent experience running a particular app on whatever system you're running it on wow there's a lot here isn't it there's a lot in favor of snaps flat packs and app images and i'll be honest i've used all of them obviously snaps only run on systemd systems i have run them but i've tended to use flat packs by default app images are a bit of a strange one for me and i've not had as much success in them running especially on slackware but essentially they're completely self-contained they're just like a self mounting iso file you make it executable and you run and everything that you need is included within that framework they don't seem to be as popular as snaps and flat packs but nevertheless they're a contender but the fact that they don't necessarily integrate as well with an existing desktop environment is perhaps why they haven't become as popular in our perception as they perhaps deserve to be so from what i've said so far you might be thinking to yourself well sounds like a good thing it's given us an additional choice or additional set of choices and the advantages seem to be pretty good you know i can understand why people use them and why perhaps ubuntu has gone down the route of more and more snaps because they can support all of the different systems that they need to support without having to develop different packages for each one unfortunately that's only half the story as i'm sure you're aware because there are disadvantages as well let's go back and have a look at them so with all the advantages of these universal package systems what are the disadvantages well there are a range and i should start this by saying that many of these have been tackled over the last few years and they're becoming less of an issue but desktop integration has been one of the big things initially when you ran a snap or a flat pack you'd often run it and it wouldn't quite look the same as the other packages on your system this has been worked on and is now less of an issue but nevertheless they don't always have exactly the look and feel that you would perhaps hope for i've also noticed with snaps that are very much developed with ubuntu in mind that if i install a snap package on vanilla debian or on arch um they don't automatically add themselves on onto the menu and i found that i had to uh create a little script to make sure that that happened automatically in fact if you uh have a look past on my past videos you'll see where i've talked about that um so desktop integration yeah there are a few quirks here and there but uh it's getting better updates are a sort of different matter yes if you've got the ubuntu software store or you use gnome software the chances are that updates aren't going to be an issue with snaps in particular the the underlying system or library that is called snap d will automatically update your snaps on a daily basis i believe not quite the same thing with flat packs if you have the the gnome software store yes automatic updates will happen but if you're running something like uh slackware or arch i find that i have to manually update these apps via the command line because there is no mechanism installed on my systems that would allow for that auto updating it's not a big issue but it's just an additional step there is of course a concern here that the libraries bundled within these uh these packages may not be as up-to-date as perhaps they should be and there should be some maybe some security flaws in some of those libraries that really need updating and this opens up the whole issue of security which we'll come on to in a second size well yeah they are bigger than your traditional rpm or deb package of course they are because they have all these additional libraries bundled into them um app images seem from what i've just been reading to be the smallest but when it comes to snaps and flat packs there's a lot of variation and without a doubt they are many times larger than their equivalent deb or rpm package or or legacy should i even use the word legacy with the standard packages let's just call them the standard package systems um not perhaps such a huge issue these days storage is cheap we have terabytes worth of storage so does it really matter that that's really something that only you can decide and if you haven't got a lot of space it could be a major concern speed well initially when i started using these a year or two ago i noticed that they were incredibly slow to start and they tended to be a little bit more slogation use more system resources than a standard package that problem is another of those that seems to be getting better yes there is a slight delay to them launching compared to a traditional package but once they're up and running i have to say that honestly i i haven't noticed much difference in terms of making everything a flat pack or a snap though you've got to ask yourself you know small tiny packages like gnome calculator etc is there much point in making a a universal package for something like that and i would say no right so we come on to security and uh when you do a search about the security of flat packs and snaps etc etc you'll come across loads of articles i mean i suppose the famous one a few years ago was when uh canonical found that one of the snaps in its snapcraft store uh had actually got a crypto mining um software built into it so there was a big hoo-ha about that and in terms of flat packs well we also read a lot about uh how secure the sandbox is and some people have uh suggested that actually most apps don't even really use the sandbox they can be set up with certain permissions and uh often it's just tantamount to running as a normal package with no sandbox at all i'm not going to go into the ins and outs of that other than to say that the criticisms have been taken on board they've been worked on and i think from an outsider's point of view they seem to be less of an issue now than perhaps they were initially last but not least i i've put this category under ethics i don't know if that's the right word if i'm honest but it's about whether or not they conform to the standards of free and open source software that i suppose we we've come to expect of linux in general and one of the major issues here is that uh snapcraft which is the store the ubuntu or canonical owned store the centralized repository for snaps is proprietary now ubuntu will insist that there are reasons for that a lot of it's to do with the legacy of where the snapcraft technology came from and they've argued that actually it doesn't mean that it won't be open sourced in the future but would there be any advantages of doing it straight away i'm not even going to get into it the fact is it has a proprietary element and the fact that it has a proprietary element has meant that many people are put off using snaps and have used flat packs or app images instead i'd be the first to admit that that quick look at advantages and disadvantages has been very sweeping it wasn't meant to be a detailed look at all the my new tie behind the various arguments many of which i have to say pass straight over my head um so it's more about key themes and just picking up on the security thing i do have to say that we can get ourselves in a not about the security of snaps and flatbacks and app images but many of us with our distros of choice perhaps take decisions which are not exactly secure every day i'm an arch user i use packages from the aur there could be anything there yes there's there's a degree of uh i suppose self uh discipline in as much as if a package has something wrong with it it'll soon be found out but nevertheless you can't guarantee that aur software is gonna run properly and and not interact with the rest of your system and tear it into little pieces um ubuntu ppas there's another one fill your system full of ppas and just by doing that you probably make it less secure so we make decisions about security all the time and those decisions are often based on whether or not we we want a particular piece of software and in order to get that particular piece of software we are prepared to make an informed decision about taking a particular risk i grant you not all decisions will be informed but nevertheless that's how things stand overall my my view is that these universal package formats are a good thing uh i like to have the option of using them if i need to i wouldn't choose them by default because i prefer a smaller package and to use my distributions packaging system out of choice which is just automatically updated with their standard cli commands but i do see the benefits the problem is whilst we have these additional choices they themselves have caused a number of problems so why are all these extra choices a problem in itself well we now have flat packs we now have snaps we now have app images and to be honest i wouldn't be surprised if we don't see another fork or the development of yet another universal package somewhere along the line but if you come all the way back to what one of the main benefits was of these universal packages it was mainly about developers more than anything else that it gave developers the option that they could just develop one package and it would run on multiple distros no matter what the age of those distros was well in many ways by having these different universal package managers we've still got that problem they now have to decide well they don't just produce a snap or a flat pack or an app image they have to decide which one they're going to do and of course it may well be the case that if they decide on a particular format that might not be supported by another distro i'm thinking here about linux mint preventing the installation of snap d and we'll come to that in a minute but nevertheless there is a contradiction here we love choice we like having the option but sometimes all of those options can do away with the benefits that these new things were went to meant to provide and this contradiction will always be there kind of coming away from universal packages there are some out there who think we should have a single standardized linux distribution that everybody uses i know one of the people that i watch on youtube toss total operating system today is a big proponent of that i can see the advantages that it gets rid of the fragmentation within the linux ecosystem but personally i would hate that and if a linux standard distribution were ever developed by anyone and started to dominate the market i would run a mile to the smallest independent distro i could find because i would want no part of it i would still want it to be a choice the last thing i would ever want is for the linux world to become another microsoft or another apple but those who want to uh appeal to a wider market would see that as a great benefit so does that inbuilt contradiction between choice and ultimately what people want to happen in the long run there's also the fact that as these packages become more and more popular they effectively decrease our choice and i'll use ubuntu as an example here a huge proportion of that distribution is now based on snaps which minimizes the possibility of installing other packages especially the old deb packages if you install an ubuntu system you're going to install a system with snaps and yes i know that technically if you install the server the minimal server you can remove snap d but nevertheless most people aren't going to do that you are going to get a system that is basically built on snaps and does that really matter well it depends on your viewpoint many people won't see it as a disadvantage and certainly for ubuntu the increasing popularity and usage of snap makes a lot of sense from a corporate and a development point of view but as a user yes it decreases our choice there's also the fact that we're just seeing constant debates at the moment uh increasing polarization you know what's wrong with snaps what's wrong with flat packs why aren't we using app image and we're all dividing into different camps it seems i personally feel like i'm a fence sitter because i don't much care as long as they work but i personally still want to be able to use standard debs or arch or rpm packages wherever i can because i prefer it to have a smaller footprint and i like the ease of updating but nevertheless these debates are going on and some of them are getting quite nasty um the linux mint one that's recently happened uh is probably fresh in everybody's mind and i'll talk a little bit about that in a second so yeah polarization and debate now in many ways debates are a good thing you know you hope that the evidence is presented from both sides and eventually whoever has the strongest evidence who makes the strongest points they will win and the winner will emerge and the winner will be the one that deserved to win that's quite a naive viewpoint um firstly winners don't always emerge this polarization and debate could go on for years and years and years and never end but if one does eventually win i personally think it's probably going to be snaps because it has the power of ubuntu which let's face it is the biggest distro out there it has that behind it i think snaps will eventually take over and become the dominant universal package now that doesn't mean it's right if you go all the way back an example i've got from outside the linux world is uh when they first introduced videos you know the video recorder and there was two formats there was vhs and betamax technically betamax was a better format vhs however was cheaper to produce the producers of vhs managed to uh persuade all of the video stores to to hold vhs copies of videos rather than betamax videos um and eventually and it was cheaper to produce vhs video machines and eventually betamax well it just became you know a historical thing that happened it was technically the better the better format but the other party won because there was other things in its favor okay so that's a bit off subject but what i'm trying to say is debates and battles don't always result in the right side winning even if the other side have won the arguments along the way and a big example of uh the nastiness i suppose of what can happen is what we've just seen with the ubuntu and linux mint guys linux mint work weren't initially against snaps but what they didn't want was for ubuntu to essentially control the complete distribution of software to people who were using their their base as a foundation and one of the things that seems to have sparked it all is the chromium web browser what ubuntu did is that they actually replaced the chromium dev package with a snap and if you did an apt install chromium what would actually happen is behind the surface the system would actually install the snap package of chromium um so that caused a great deal of worries uh um especially as uh it did it all in a sort of underhand way as far as linux mint was concerned so bottom line is what actually happened is uh linux mint blocked the installation of snap d and although it is possible to re-enable it as it stands in its default format you won't be running snaps if you run linux mint even though it's based on ubuntu what is my view about this well i sort of understand where the linux mint developers are coming from and i would also say that i do think it's a little bit underhand doing things like this to i would say to ubuntu but ultimately canonical and ubuntu they can do what they want it's their distro you know what they're doing you make your choices and if linux mint don't like it well they can take action as they have or they can just go to uh debian yeah why not go to debian just move bases so choice yes they give us more choice but in many ways that they've resulted in a more complicated situation that has not exactly been positive for the community so far let's go and have a chat right so it's difficult to get away from the fact that whilst i generally believe these universal distro agnostic packages are a good thing they're tied up with that issue of choice and is really important from the developers perspective it would probably be better if there wasn't a choice and we just had one single uh package format i personally feel that snaps is probably best place to take that position if there are any winners from a personal preference point of view though if there were to be any winners i think i would prefer flat pack for a couple of reasons one that it's not tied into any sort of proprietary platform and two it doesn't depend on system d so it has wider applicability as far as distros are concerned overall though i i find it hard to criticize something that gives us extra choice even if it does create all sorts of issues in between so i thought i'd just give you my view of this and i know that i've swept over what can be a very complex situation but sometimes you've got to distill these things just to have a chat so guys i'm going to call it a day from here don't forget to join me on library come and have a chat with us on the facebook group and i'd like to end by saying a big thank you to my patrons who are constantly growing my uh list is getting bigger and bigger thank you so much guys i'd like to say thank you to the newest member gary moore who's come on as a premium member but we now have uh corbinian schilderman as an executive member coming uh well he came across a few weeks ago he's now in the top tier also robert boudreau who's a supporting member and of course i don't want to forget everybody who supports the channel so aristotelis papa giorgio storm picks stephen cross mike long david bird entropy uk richard wade tiger and philip espy i can't believe there's 12 of you now guys you are the people who are going to make all this make this channel all it can be over the next year thank you so much guys thanks for watching the video hope you enjoy it and uh i'll see you next week
Info
Channel: OldTechBloke
Views: 3,809
Rating: undefined out of 5
Keywords: oldtechbloke, otb, linux, flatpaks, snaps, appimages, choice, the contraditions of choice, ubuntu snaps, snaps and linux mint, oldtechbloke youtube, old tech bloke youtube, ramble, distro agnostic package formats, containerised package formats, whats the problem with snaps, whats the problem with flatpaks, snaps and flatpaks compared, snap packages, snappy vs flatpak, ubuntu snappy, open source, flatpak vs snap, appimage vs snap vs flatpak, snap packages linux mint, ubuntu snap store
Id: ocVCeG2ZqZk
Channel Id: undefined
Length: 38min 32sec (2312 seconds)
Published: Sat Jul 25 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.