Hacker News new | ask | show | jobs
by niemeyer 2802 days ago
There's a long thread with in depth discussion about this:

https://forum.snapcraft.io/t/disabling-automatic-refresh-for...

For those that understandably won't want to go through it all, the short version is that by design snaps will force the update eventually, so that a system isn't simply left behind, but since snapd came out a few years ago we've been constantly working on multiple methods to offer control over when exactly the update takes place. These are features such as:

- Fine scheduling of updates (https://forum.snapcraft.io/t/refresh-scheduling-on-specific-...)

- Disabling over metered connections (https://forum.snapcraft.io/t/snap-refresh-over-metered-conne...)

- Holding of refreshes after boot (https://forum.snapcraft.io/t/delaying-refreshes-and-registra...)

- Manual delaying of updates (can't find topic)

So, the goal is actually to offer control, but we are indeed trying to prevent systems from getting out of date for good. Maybe that's a bad idea, and if it turns out to be we can change that in the future, but we've been making an honest effort to try to fix the problems of automatic updates instead of simply giving up. Once we give up, there's no going back since the dynamics around package updates will change. We have plenty of experience around these aspects with the traditional systems.

3 comments

Sorry, but unless there's an option to hold back the update until I explicitly allow it, that's not being in control. This is still my computer and I decide when to update software.
This is this being downvoted? He is exactly right.

The ability to pin at specific version is needed not just because, but for multitude of reason: the newer version breaks something, or you have only license for up to certain version (think non-subscription Jetbrains products), etc.

The inability to disable updates removes that packaging system from further consideration. It is a showstopper.

The comment is mistaken. I suspect it’s being downvoted not because update control isn’t appreciated, but because it’s very much there with snaps. There are several ways to disable snap updates, and they are really quite nicely balanced for modern operations.

For example, if you publish a snap that depends on another snap, say an app which uses a database, you can set things up so the database won’t update until you publish a validation certificate that your app snap version X has been validated with database snap version Y.

Updates can be deferred by anybody, and I think there is a plan for snaps themselves to be able to defer their own updates (for example, a movie payer that is playing a movie at the scheduled update time).

Enterprise management systems can also control the flow of updates very nicely. For example, they can have a different snap revision as ‘stable’ or ‘beta’, which means they decide when a new revision of a snap will be considered for update by all the machines tracking those channels. They can also prevent any updates from happening on specific machines.

Device manufacturers also get a layer of control, similar to snap publishers with their dependencies. So an appliance that uses snaps might see specific revisions of snaps only once those have been certified on that device.

Considering how rich the actual reality of ‘software update distribution and managment’ is in practice, it’s nice to see that level of thinking built in to the system. We’ve had simplistic approaches around for decades and the results in practice are too or, there are millions of vulnerable machines out there because of neglect. I’m interested to see if these mechanisms achieve a better result all round, and the simple thing you are focused on is certainly already there.

Tl;dr. Your computer isn't yours, and "We" know better than you, lousy user.

(That's what I took out of the shitty design decision and disgusting justification you wrote. I'll be damned if I have to defend myself against open source apps in some shitty all-in-1 format with fascists at the helm.)

Could you tone it down a bit?

Your opinion is one shared by many on HN regarding forced updates, but the parent comment has made a proper effort to answer your questions and you resort to name calling.

I am all for freedom of speech but if you write it on a brick and throw it through my windows you're going to have a hard time getting me on your side.

Comments like these alienate people from what you're trying to accomplish.

> Could you tone it down a bit?

So, a decorum "argument"... Every last thing I said was true.

I'm putting the Snap maintainers in the same bin as Facebook, Microsoft, and Google. They want to idiot-ify the user experience with "We know better than you" style of rules and degrade MY ownership.

For that, yes, I will show anger. Even if this is -1'ed and buried, I'm sure one or more of the maintainers saw it.

> So, the goal is actually to offer control, but we are indeed trying to prevent systems from getting out of date for good. Maybe that's a bad idea

You think? Someone saw all the complaints about Windows 10's forced updates and thought "we should totally do that too"? Seriously?

Wow this is almost windows level of terrible.