Please address "store is not open-source" again

I do not know what the solution is, but I think that having a canonical and updated answer to some of these questions might help. Currently, the answers to a lot of these questions are scattered over a bunch of threads on this forum, different podcasts and blogposts.

1 Like

By helping allay some of the FUD being thrown, it would help the Snap organization and community.

Developers (of apps and distros) may be reassured that they’re not becoming wholly dependent on Canonical, that they have a fallback position even if they never use it. It’s similar to Mint’s reasoning for producing LMDE.

People who hate Canonical / Snaps will have one less arrow in their quiver.

Guys, on this one you are fighting a public relations battle. The best way to do that is to publish simple, clear, accurate information. This should not be a huge effort for someone inside who knows the info. Just one blog post.

Can they do that and still call it Ubuntu 20.04?

1 Like

We could require them to change it, but we choose not to. Odd, considering what tyrants we are :slight_smile:

3 Likes

There’s a clever law which points out that the cost of responding to FUD and trolling is much higher than the cost to spread it.

In life, you have to make choices about what’s important and where you focus.

If someone finds it helpful to them to believe that Canonical are terrible people, who am I do deny them that pleasure? It seems pointless and sad to me, but I know from experience that I can’t help folks that don’t want to be helped, or worse, that it’s self destructive to get anxious about people saying toxic stuff. They have an endless supply of arrows if they are willing to invent them and distort them, and infinity minus one isn’t much different :slight_smile:

I don’t know if the old open source store code still works.

I do know that the basic conversation between snapd and store is pretty simple - “I have this installed, what should I do?”.

There are of course a lot of things that a good store factors into it’s answers, for example, cohorts and progressive releases and epochs and bandwidth optimization and regional cache offloading etc - but a store doesn’t HAVE to do those things. A simple store could just say “here is the new version for you” and be done.

But isn’t it interesting that the open source store attracted precisely no users and no patches?

My guess is that nobody who is capable of doing that work is so irrational that they think that work is an important use of their time. Anybody who is capable of maintaining a web service like that understands that a really good experience for lots of users doesn’t hang on just having a store, it hangs on connecting a million details across multiple parts of a complex software ecosystem. That’s a lot of work, and it’s work I’m committed to doing so that more people can use more open source.

That feels like a useful way to spend my time. It’s also going to attract controversy, because people abhor a vacuum, and I’m just not going to get distracted by that.

We should engage in a healthy way with people who want to engage. There are things for us to fix, particularly in desktop integration and performance. Let’s focus on those people and those issues.

11 Likes

I started a series of blogposts explaining varying questions I’ve seen come up around the internet.

Let me know if I’m wrong about something or missed something. Ideas for future blogposts are also welcome.

14 Likes

Excellent blog posts, thanks very much !

1 Like

I work at a company that is likely about to embark on an Ubuntu Core deployment.

I am conflicted about this as a “person”. From a business perspective I think this is definitely the right thing for us and in general I like snaps and think they are a net-positive.

I love Ubuntu. I’ve been with it a long time. I think at times Canonical has been treated unfairly.

Having said all of that, the single-source of snaps is a major bummer for me and it keeps me, the person, from going “all-in” on them. I keep eyeing flatpaks.

Like; if I’m going to do something in my free-time (and I do a lot of that) I’m not going to invest in snap generation.

I don’t think Canonical’s past reasoning of “no contributions, etc.” is valid here. Even if you got none it’s about good faith and principles.

Plus- people run gigantic Kubernetes clusters in their houses so the notion that it’s too burdensome strikes me as insincere.

Ultimately, it’s a real identity crisis for me. Having just installed 20.04 on several of my machines it makes me question that decision.

Take all of this for what it’s worth, not much.

[my opinions are my own and do not represent anyone except me, the private person]

2 Likes

Having said all of that, the single-source of snaps is a major bummer for me and it keeps me, the person, from going “all-in” on them. I keep eyeing flatpaks.

I don’t think Canonical’s past reasoning of “no contributions, etc.” is valid here. Even if you got none it’s about good faith and principles.

I think it’s important not to conflate the “proprietary back-end” with the “single-source” complaints. In my opinion, there are good reasons to have only a single source, but the snap store should be open source.

The brand store mechanism removes most of the downsides of having a single-source design and if Canonical’s store is open source, it will be a lot easier for other people to build their own, if only by looking at how everything is implemented.

Having a proprietary back-end however, is an issue, plain and simple. I also think the reasoning behind not open sourcing it is off. I do think the effort required to open source it will pay off. Even without any contributions, having Launchpad open source was, and still is, a huge boost to Ubuntu.

As an example: given that so many Ubuntu derivatives started out on Launchpad, would the same have happened if it was closed source? Would a company like Elementary inc. bet their entire business on using a platform completely owned by a competitor?

Open Sourcing Launchpad was like adding airbags to a car. Even when they’re never used, they’re still useful. They sell more cars, they give people trust, and in the unlikely event that something bad happens, they prevent a lot of suffering.

This doesn’t stop me from contributing to the Snap ecosystem though. GitHub has significantly improved the Open Source community, even though the service is completely proprietary. Snap is already significantly improving Linux, even though it has a proprietary back-end. Flatpak is a cool project but it its scope and potential is limited. I’m convinced we need the Linux printing stack in a container and Flatpak isn’t going to give us that. I’m convinced that almost any game should not have access to my webcam, and Flatpak isn’t going to give us that either.

6 Likes

Sorry- I shouldn’t have referenced Flatpak specifically as I’m not at all interested in contrasting or comparing them or debating about the merits of one or the other.

What I should have just said was that my potential, personal investment of time and energy in the Snap ecosystem will be pretty limited; whereas if the source was open and one had the ability to have their own source of snaps I would have zero reason to reserve.

I run on open source systems for a reason. I learn open source systems for a reason. I refuse to put my personal time and energy into proprietary systems (to the extent I’m able now and moreso going forward).

And further, those points above make me increasingly call into question all of my future support for Ubuntu and Canonical as my home in Linux. If that could truly sink in with someone above it might mean something. But probably not.

1 Like

whereas if the source was open

github.com/snapcore github.com/canonical-web-and-design/snapcraft.io

Only part that is missing is server code, Amazon S3 buckets, snap signing (assertions) and database APIs. You won’t find these things open sourced in any good store, for a reason. Everything else is open source.

one had the ability to have their own source of snaps

Repositories are overrated. Even Flatpak devs have realized this and created Flathub, which is a single source of flatpaks with extra steps. :smiley: You can make your own snaps and “sideload” them (local/private/branded snaps). I would advise against installing from untrusted sources.

2 Likes

Please, do tell.

Even if you have a centralized location for distributing most/all apps there are plenty of use cases where that is not what you want.

I shouldn’t have gotten in this thread/debate. I was really just trying to communicate that the feel is real and it’s real from long-time lovers of Ubuntu.

Please don’t speculate about reasons why the store is not open source. Canonical’s official position is that the store is currently woven into their own internal infrastructure. Open Sourcing it would require a massive effort to untangle this and they don’t think it’s worth the effort.

There is already enough FUD about Canonical spreading around the internet, we don’t need to add to it.

I am not trying to debate the merits, I’m sorry if it seems that way. I’m also not trying to argue against you. I’m simply explaining why I personally still contribute to this ecosystem, even though I am uncomfortable with the proprietary back-end.

I’m sorry you feel like my comments are debating you, this is not my intention. I want to thank you for voicing your opinions here.

It might be hidden deep inside my post, but the main thing I’m trying to ask you is “do you only have an issue with the proprietary back-end or do you also have an issue with the centralized design?”. If the latter, I’m interested in knowing why this would still be an issue for you, even if the entire snap store was open source.

2 Likes

I think two things would satisfy me:

  1. Snapd without modification allowed you, the user/owner of the system, to provide another source of snaps, prioritizing them as providers when a conflict exists.
  2. Either the “store” source code was open source OR full documentation was released that made it a “low-effort” for someone else to implement an alternative. Low-effort in this context means no reverse-engineering required.

We know #1 is possible because alternative stores exist. My suspicion is, and they’ve more or less said as much, that there is economic incentive for them NOT to do these things.

This, for me, goes back to part of my crisis. It makes Ubuntu feel less like it felt in the past. Free forever but with all of our development effort and the availablility of the apps you’ll use on our platform coming from us.

This is also sort of an innovation barrier as well because it’s a single source of control.

The more I dwell on it, the less I become enamored with the future of Ubuntu. Which I cannot stress enough is very, very sad. I’m not a troll and I’m not a hater. Quite the contrary so it’s upsetting.

We all have to make hard choices in life; perhaps this is one. We shall see.

2 Likes

I think this is a serious trivialization and grouping that does you and the community a disservice. There are passionate Ubuntu users that care deeply about these things.

Maybe I’m the only one? Seems unlikely. But way to dismiss ALL of the people that love Ubuntu and deeply care about these things as well.

Wow. Just wow.

Please consider these thoughts:

  • What will you, personally, gain from the Store being open source or documentation made available for someone else to reimplement?
  • What will you, personally, do with that code or documentation?
3 Likes

As I said previously. I shouldn’t have jumped in this thread. I’m not really interested in debating my position or externally validating it, I’m not.

I have my position, what I want from a platform and if that platform doesn’t give me those things then I have to look elsewhere.

It seems like that’s the resounding, overwhelming drumbeat. Fine. I’ll deal with it and move on.

But, again – long, long time Ubuntu user and lover. It makes me sad. Cheers.

1 Like

I am not trying to say your opinion is wrong. Nor am I trying to argue. My aim is for those thoughts to be considered - you don’t have to tell me or the rest of the internet your reasoning. I wanted for you to introspect your own opinions and try to appreciate what it is that you personally are sad about. For example, more thoughts: are you concerned by the potential for the store to be shut down with no replacement? Or are you concerned that there is an ethical GPL/FSF-style problem? Or are you concerned on behalf of other people but don’t actually have a problem with things yourself? etc…

3 Likes

It’s as simple as this; if I want to distribute software (as a snap) that is signed by me and asserted to be valid by me there is currently no mechanism for someone to trust me and take the snaps.

Sure, I can give them a download and tell them to use “–dangerous”. (If I’m mistaken, please correct me).

This is creating an Android / side-loading style setup for a platform. Technically other ways to get software on your computer but made to be as unattractive as possible as to scare away 90% of the users.

I don’t think there are ethical issues. Perhaps philosophical ones. I would argue it violates the spirit of the early days of what made Ubuntu my choice of platforms.

I am sad because it no longer seems that way to me.

I think the news with Epic, Apple and Google and stores is very poignant in this discussion. Take that for what you will.

6 Likes

Trust. Some kind of airbag, as @futuretim said, if Canonical someday decide to (hypothetically speaking, sure) shutdown the service, for example, taking with it a lot of community effort.

Just an example.

2 Likes