Why isn't the Snap Store open source?

Just to clarify - the actual snap store is closed source.

1 Like

Yeah, I guess they have to monetize development Ubuntu somehow being a for profit business.

It’s not even for that purpose - they currently don’t have any infrastructure for making money from snaps… I’m sure that will be added eventually (maybe even after they see what the AppStoreForEveryone sprint does with the elementaryOS app store.)

Paraphrasing (and hopefully not messing up) what @popey said from his recent Linux 4 Everyone interview, basically Canonical had been requested lots of times to open source ‘Launchpad’, and after considerable time and effort (ie: spending considerable amounts of money to pay developers to do it), absolutely NO ONE that they can tell then actually implemented it, or made any considerable contributions to the code…

So, after that experience (and expense for no real reason), the powers that be at Canonical decided that they aren’t going to waste those resources (possibly ‘at this time’) to open source the snap store.

And then gave another good explanation about why having ‘multiple’ snap stores ‘could’ be bad… referencing the PPA system.

You can read the rest of the thread above to see how some folks respond to that…

1 Like

Lots of companies are following the Google style of doing things now. Offer for free then start charging once you got enough people hooked. Google did that with G-Suite, and now started with their cloud storage; they finally stopped offering more storage, and if you want more, gotta pay.

I don’t see that happening with the Snap store. I think it’s more like what elementaryOS does - where they will be able to allow developers to charge for their snaps if they want, and even use a ‘pay what you want’ model.

Which I think would be great as lots of people would gladly donate funds for software they use, but don’t have an easy way of paying a developer…

If that is the case, then how long before they start taking a cut like the Google Play store does?

While I don’t like what Google has done from a data collection and privacy stand point - but I’ve never begrudged the fact that they ‘curate’ a store for android and take a percentage (maybe heftier than they should but app developers know going in what google will take). Why is that made to sound like they are doing something wrong?

The Spying stuff is straight up nonsense. There was no evidence to suggest any of that happened, that was all hyperbole against Canonical because somehow it became a fad to hate them.

You shared links and claimed you are not going to debate it and are just linking them to show there was controversy . . . there is a ton of misinformation on all sorts of things. People think all sorts of baseless nonsense so pointing out that people said absurd things in articles proves only that those people said absurd things.

Canonical has made mistakes in the past for sure but Spying is not one of them and there is nothing wrong with the way they did Data Collection YEARS after they were hated on for spying, which I remind you that they did not do.

The data collection thing was, in my opinion, a good thing. They gave people the option to participate or not and they respected that choice. This is the best approach for data collection and collecting that data is very important considering we should have been doing that for decades so we could actually have even a remote idea of how many users the platform had.

Controversy can be created by all sorts of worthless things . . . I mean Ubuntu got hate for the audacity of them moving the close button of a window to the left instead of the right OMG NO HOW DARE THEY! I am not saying you did that or anything but that was a controversy that did happen and just like the other controversies . . . just because a controversy exists doesn’t make it fact.

Snaps are open source in every way except the main server, it is still possible to setup your own server if you want to replace the main server . . . in fact, an employee of Canonical provided server code to use if someone wanted to do that.

What are you talking about? Canonical was never “caught” tracking. I agree with Jason that “tracking” should not be used “loosely”.

If you referring to the “spyware” hyperbole of the past, that didn’t happen. It was weird propaganda.

If you are referring to the data collection that started in 2018 then how on earth were they caught doing something when they publicly announced it was going to happen months ahead of actually doing it? You can’t be caught doing something you tell people transparently that you are doing. . . . which again, was a good thing to do in many ways and they did it the best way I can think of to do it.

4 Likes

This is true in some cases but I have had to install multiple runtimes because people use various different runtimes requiring the installation of multiple runtimes thus more space used.

I think Flatpaks are great but a single runtime is not enough in my experience.

I understand your point but I would argue that the single repo is a very important asset to something that is meant to be a universal format. Trying to use something that requires many hoops to use creates more headaches for average users than it helps.

Flatpak is a fantastic example of this because they started without a single repository and that dragged on for a while. Flatpak didn’t really get momentum until Flathub was created to be that single repository because then people knew where to go to get Flatpaks.

In regards to Snaps, I wont reiterate what Popey said so instead I will add on to his compression point. If you compare the size of DEB files once every dependency is satisfied and placed on the system to the compressed Snap . . . in many cases the Snap is smaller overall. This biggest value though is that lack of version locking that Debs and RPMs have to deal with due to the traditional dependency systems. Even if Snaps were always larger, the lack of version locking makes that worth it in my opinion.

2 Likes

This part is kind of yes and no. Snapcraft itself is open source so the store is both open and closed since the main repo server is closed. So it’s inaccurate to say the Snap Store is just closed source because it’s basically both.

I agree and disagree with this.

I agree that open sourcing something especially on this level requires a LOT of effort that closed source code doesn’t require. That’s just how it is and there are some cases that I dont open source some of my stuff because I don’t want the obligation to manage that extra work for pull requests, bug triage, etc. if it something that I’m not looking to turn into a public project. I get this approach.

I also agree that having multiple repos would be bad for Snaps. It was incredibly bad for Flatpaks the entire time the Flathub didn’t exist and it took a 3rd Party to create a central repo before Flatpaks became even remotely practical to use.

I disagree that it shouldn’t be opened overall because it would be better PR to have it open even if no one uses it or helps with it like Launchpad but the PR for it being closed is worse for Canonical in my opinion.

That is not something Canonical has ever done and they have done so much for Linux ecosystem that people should be thanking them every day for what they did for Linux and especially what they did for Desktop Linux . . . prior to Canonical, no big company even bothered to care about Desktop Linux.

If they were to implement some kind of payment system to the Snap Store they should take a percentage for facilitating it. elementary takes a percentage of like 30% for sales in AppCenter, there’s nothing wrong with that.

First off, excellent video and thank you both for some clarity on this issue. My two cents are as follows:
1)I buy 100% that it would be considerable effort to open source the snap store and think that is the main reason that it is not open sourced now. The point that Canonical expended effort to open source Launchpad and no one stood up an instance seems moot since, there are many reasons people want projects to be open source (e.g. being able to vet the source code they are using or to have it vetted).
2) It seems strange that for Launchpad ‘no one stood up an instance so why should we have put in the effort’ and for the snap store being open sourced ’ we won’t put in the effort because maybe someone will stand up an instance and the discoverability of snaps will be compromised’ (obviously me paraphrasing). Just some thoughts at first blush.
P.S. I think the work Canonical has done is great for the Linux community overall, and it’s just the sticky bit of closed source software where I struggle to see the logic and benefit to the community.

1 Like

On the ‘prior to Canonical, no big company even bothered to care about Desktop Linux’ bit… To be fair, RedHat is a big company and didn’t they do great things for desktop Linux before Canonical? Pretty sure Canonical’s DE resembles RedHat’s DE now too… Just sayin’

No. I would not give Red Hat credit for Desktop Linux pretty much at all because they did and still do very little for it. Red Hat is completely focused on Enterprise.

Ubuntu’s DE doesn’t resemble Red Hat’s, they use the same one . . . GNOME. So let’s take GNOME for example. GNOME is not officially a Red Hat project or initiative. Yes, many people who work at Red Hat work on GNOME but at this point thats true for Canonical as well. The thing is if you ask people from Red Hat if Red Hat is behind GNOME, they will say no. If you ask GNOME developers if Red Hat is behind GNOME then they will say no. GNOME classifies Red Hat as a sponsor or a backer but they are very clear that GNOME is not a Red Hat project.

Let’s take Fedora for example now, the “Desktop Linux” distro by Red Hat. Fedora is technically by Red Hat but there are some catches to this. From the About page that explains the relationship:

Fedora is built by the community (getfedora.org) for the benefit of the community. Red Hat Enterprise Linux is developed by Red Hat with the explicit intent of being used as an enterprise IT platform.

So Red Hat classifies Fedora as not being by Red Hat in contrast to RHEL being by Red Hat for Enterprise.

Developers and Linux enthusiasts flock to Fedora for the latest features and the opportunity to directly collaborate with Red Hat engineering.

This is essentially saying that Fedora is for developers and enthusiasts, not really meant for average users.

Fedora creates an innovative, free, and open source platform for hardware, clouds, and containers that enables software developers and community members to build tailored solutions for their users.
. . .
Fedora Workstation is a polished, easy to use operating system for laptop and desktop computers, with a complete set of tools for developers and makers of all kinds.

So Fedora is something made to be used by developers and people who make solutions for users but not really meant for users directly based on their phrasing.

In fact, Fedora doesn’t claim their releases as “Stable” and they say this very clearly in their docs related to their Four Foundations.

“First”:
We recognize that there is also a place for long-term stability in the Linux ecosystem, and that there are a variety of community-oriented and business-oriented Linux distributions available to serve that need. However, the Fedora Project’s goal of advancing free software dictates that the Fedora Project itself pursue a strategy that preserves the forward momentum of our technical, collateral, and community-building progress. Fedora always aims to provide the future, first.


so GNOME isn’t a Red Hat DE because both Red Hat and GNOME will say that isn’t. Fedora is a Desktop Distro but they classify it as being made by the Community and not Red Hat. Even if it was technically made by Red Hat it would still be a quick moving distro that is meant to be an incubator for Red Hat Enterprise Linux not meant for general purpose uses unless that general purpose is Developer.

Red Hat has been around since 1993 so in 27 Years, Red Hat has advanced Desktop Linux somewhat by giving funding to non Red Hat projects but directly . . . not much. Red Hat has of course done a TON for Linux overall and this comment isn’t to say otherwise but rather to point out that the credit they get for Desktop Linux efforts, they deny involvement for the most part.

Canonical started in 2004, 11 years after Red Hat. Canonical took an operating system that was difficult to use and focused almost exclusively for Enterprise and Server with some Desktop usage for Developer or Enthusiasts and set out a goal to make Desktop Linux usable for everyone. This is why I give credit to Canonical more than any other company involved in Linux.

I should probably make a video detailing the history of Canonical and why I like the company in contrast to the plethora of hate thrown at them.

1 Like

I think that I understand your position. From my point of view, the diversity of many different linux distributions and repos is of more value than the monoculture of a single repo and a single way to distribute software.

Your argument about the lack of version locking just makes me more concerned. That pretty much guarantees that a machine will have multiple versions of a dependency taking up space on their hard drive. Some of those versions are bound to be old, and therefore contain vulnerabilities that would be patched in later versions.

When you tout the value of compression for snaps, I’m just hearing you say that my computers are going to need expensive upgrades or replacement to handle the extra demands.

A central repo is a necessity for average users. Without a single place to go average people will not find it and thus it will leave whatever it is in a state of stagnation. Let’s say for example, Andoird and iOS didn’t have App Stores . . . they would have never taken off because they would have been stuck with the enthusiast market who are willing to jump through hoops. The average user isn’t able to find repos and is certainly not interested in learning why one repo is better than another or why there are even multiple options.

So even if there were multiple repos to serve Snaps, there should still only be one Snap Store. Flatpaks learned this accidentally because Flatpaks were pretty much ignored by everyone except GNOME (because they help to make Flatpaks) until the creation of the FlatHub, a central repo. People shouldn’t have to jump through hoops just to find software to use and FlatHub proves that.

That can be true for traditional packaging as well. Let’s say a package vulnerability is found but that package is “feature complete” so it hasn’t been updated in years then it takes time for someone to update that package then distribute it around to Distros or the Distros themselves have to patch it adding barriers. In addition to that potential problem, traditional packaging locks every package dependent on it to a state of stagnation.

In contrast, yes there might be duplication but storage these days is very cheap. You can get a 500GB SSD for around $50-$60 USD. The worry of a few kilobytes here or there is not really a concern that should hold people back from using it especially with the compression approach which makes it take up less space than traditional packaging.

In regards to security concerns of versions not being updated, Snaps are confined so the vulnerability would also be confined making it not an attack vector. It also makes it easier for developers to perform updates because they don’t have to worry about compatibility with the rest of the system. So yea, some developers could be lazy and not update but other developers could be very proactive and update as much as they want.

I know there have been examples where people introduced bug fixes that were completely ignored by distros because they weren’t “security updates”. In my opinion, that is MUCH worse than duplication.

That’s the opposite. The compression is handled on the Snap Store so the user computers don’t need to do anything other than be able to run the software. The decompression is minimal and not resource intensive. This does create the slow launch speed of initial launches but its not detrimental considering the rest of the benefits.


here is an answer I gave on AskUbuntu about Snaps and why they are beneficial if you’d like to learn more.

I also created this video a while back that explains how they work.

I have for sure never thrown hate at Canonical and even quite like most of what they have given the Linux community. I just would not consider the phrase ’ prior to Canonical, no big company even bothered to care about Desktop Linux’ to be accurate. Maybe if you would have phrased it ‘no big company has done more for desktop Linux than Canonical’ I would have been more on board. Finally, I never meant to imply that Gnome was a Red Hat DE in the same way that Unity was a Ubuntu DE. I just intended to point out that even Canonical has benefited from Red Hat’s contributions to desktop Linux and Ubuntu even ships now with Gnome, a DE that Red Hat has been contributing to for years.

@charlesDelaware I know you’re not throwing hate at anyone and I know that you did not imply that Canonical did not contribute to Gnome, but I wanted to let people that might have doubts about Canonical’s donation of time and money to not only Gnome, but other desktop environments. Microsoft is the company that got me into computing, and Canonical thru Ubuntu is what got me into Linux. OK, I lied, PCLinux was my first but after a few months in 2006 I moved to Ubuntu for years.

1 Like

I agree. Canonical has spent a lot of time and money supporting and advancing desktop Linux and I am most grateful to them for that. I guess my only point was that Red Hat has spent a lot of time and money contributing to desktop Linux as well and that is why I took issue with the original post. For instance, here is that same page from 2017:

and again from 2003:

2 Likes

I guess it takes a while for companies to educate themselves. I also realize Canonical could do a 180 and not support Gnome at anytime. They are a profit making company, hopefully. I just hope they keep following this game plan by contributing to Gnome & KDE.

It surprises me that the Linux Foundation is not on that list anymore.

I wasn’t referring to you throwing hate. I was talking about the hate they’ve received in general for almost 10 years.

The way I phrased is my opinion it. Linux on the Desktop was not very usable to non-nerds because of how complicated it was. It wasn’t until Ubuntu that it became reasonably usable for most people. I am also comfortable with making the statement because Red Hat had 11 years to do something about it prior to Ubuntu but they didn’t . . . SUSE had 12 years to do something about it prior.

Red Hat and SUSE focused almost exclusively on Enterprise and you could argue they both still do.

I see, my mistake.

Red Hat has also benefited from Canonical just as much though. This is another reason why I am comfortable with my statement. For example, before systemd there was Upstart and Upstart was made by Canonical. Red Hat actually used Upstart for years prior to their development of systemd.

Canonical also contributed to GNOME for years prior to starting Unity because GNOME 2 was their default back then. I’d say that their contributions certainly rival Red Hat’s in regards to GNOME especially because Canonical also contribute to GNOME while making Unity because Unity was a GTK based DE. They submitted contributions to GNOME even when not directly using GNOME. I’d also argue that choosing GNOME was a mistake on Canonical’s part and I am also sad that Unity died but that’s a totally different topic.

My statements about Desktop Linux being something Canonical did is because prior to them it was a nightmare to use Linux as a regular user and Ubuntu is what changed that. Red Hat and SUSE both had over a decade to do that but neither even attempted . . .I mean openSUSE didn’t exist until after Ubuntu was started.

1 Like