As the maintainer of certbot for Debian, I promise you that there's no intention of deprecating the certbot packages that exist in the archive. The EFF fully supports this decision and has promised to continue to assist. Their recommendation for snaps is meant to target new and inexperienced users who may not understand why they are not getting the latest software when they see it was updated "on the website". If any…
Certbot deprecates operating system packages, “standardizes” on snaps
41–50 of 57 posts
Re: Certbot deprecates operating system packages, “standardizes” on snaps
#42This was mentioned 2 months ago, but without traction. https://news.ycombinator.com/item?id=25141524 This is a ridiculous requirement for a glorified Python script, over-engineering at its worst.
This seems unnecessarily hostile. Certbot is a complex beast that generates TLS configurations, has multiple plugins that likely require specific system configuration, and is I think charitably more than "a glorified Python script". The rationale makes sense for me: "While the Certbot team tries to keep the Certbot packages offered by various operating systems working in the most basic sense, due to distribution poli…
I didn't meant it as a knock on certbot, which I use and cherish. It's just not something that I would install and entire parallel package management system over, lest of all some ugly thing like snap.
Re: Certbot deprecates operating system packages, “standardizes” on snaps
#43Earlier quoted context omitted.
A distro-independent avenue for distribution could be important, but surely we can do better than snapd.
Have we done better, or is snapd the best option for their needs as of today?
Re: Certbot deprecates operating system packages, “standardizes” on snaps
#44Just to clarify something I think a lot of replies don't understand: The Ubuntu Certbot packages have been horribly broken for well over a year, probably at least two. The PPA for Certbot includes updates of a lot of OS packages, with with incompatibilities with other Ubuntu provided packages. I've spent hours tracking down and fixing the problems that have come from installing certbot via apt. Usually, I'm much more…
Hello! I formerly maintained this PPA before turning it over to some of the Ubuntu people. It's my understanding that certbot is going to be migrated out of universe soon and into the main Ubuntu archive. That will cause it to gain full support from Canonical. Either way, we will continue to support certbot in Debian (upstream of Ubuntu, if downstream from /actual/ upstream) indefinitely. The Ubuntu maintainers and I…
Re: Certbot deprecates operating system packages, “standardizes” on snaps
#45Snaps require you to allow each publisher to automatically push arbitrary software updates to your machine, and snap deliberately does not allow you to disable this misfeature. It's not a bug or an oversight -- it's part of the design of snap, and it's not going to change. Handing out the keys to the kingdom like this is supremely annoying on a desktop (e.g. Windows 10), but it's completely unacceptable on a server.…
I suppose the rational is that updates should happen. You can take your time to hold updates for up to sixty days but they should happen anyway.
The certbot snap package is published by the EFF/LetsEncrypt themselves.
You could also trick snapd that you are on a metered Internet connection, therefore avoid updates.
Re: Certbot deprecates operating system packages, “standardizes” on snaps
#46Just to clarify something I think a lot of replies don't understand: The Ubuntu Certbot packages have been horribly broken for well over a year, probably at least two. The PPA for Certbot includes updates of a lot of OS packages, with with incompatibilities with other Ubuntu provided packages. I've spent hours tracking down and fixing the problems that have come from installing certbot via apt. Usually, I'm much more…
I think you're mistaken. The Ubuntu Certbot packages are maintained and work fine. What you're referring to is the PPA, which is no longer required (since Ubuntu's distribution-shipped certbot packages have worked fine for a long time now).
Or, if not, can you point to specific issues with Ubuntu's own certbot packages please?
Re: Certbot deprecates operating system packages, “standardizes” on snaps
#47As the maintainer of certbot for Debian, I promise you that there's no intention of deprecating the certbot packages that exist in the archive. The EFF fully supports this decision and has promised to continue to assist. Their recommendation for snaps is meant to target new and inexperienced users who may not understand why they are not getting the latest software when they see it was updated "on the website". If any…
But good to know it'll continue to be packaged (even though I didn't expect anything else from Debian). Thanks for your work!
Re: Certbot deprecates operating system packages, “standardizes” on snaps
#48Snaps require you to allow each publisher to automatically push arbitrary software updates to your machine, and snap deliberately does not allow you to disable this misfeature. It's not a bug or an oversight -- it's part of the design of snap, and it's not going to change. Handing out the keys to the kingdom like this is supremely annoying on a desktop (e.g. Windows 10), but it's completely unacceptable on a server.…
Your emphasis is completely unwarranted here, since it's easy and trivial to install a snap without it being tied to the store such that it will never update:
snap download certbot
then use the two commands given: snap ack certbot_889.assert
snap install --classic certbot_889.snap
Now certbot is installed as a snap, but software updates for the snap are disabled.Edit: I wouldn't recommend this, of course, because telling users to never update their Internet-connected software is a really bad idea, both for their security and for everyone else. More conventionally you'd want finer grained control over update schedules for production use (https://snapcraft.io/docs/keeping-snaps-up-to-date) rather than block updates entirely. Claiming that you cannot do it, with emphasis, though, is outright false and is an invalid claim only used by the haters. I bet you're now going to come back and tell me how the control isn't good enough somehow, but that doesn't matter. The point is that you can control updates, and you're being outright misleading by claiming otherwise.
Re: Certbot deprecates operating system packages, “standardizes” on snaps
#49Earlier quoted context omitted.
Have we done better, or is snapd the best option for their needs as of today?
Flatpak, probably. I'm not saying Flatpak is great, but it's the best we have, in my opinion. That said, having published one application on Flathub, packaging Flatpak is not a great experience, especially when the two major repositories: Flathub and Fedora both use two completely different build processes.
Re: Certbot deprecates operating system packages, “standardizes” on snaps
#50Snaps require you to allow each publisher to automatically push arbitrary software updates to your machine, and snap deliberately does not allow you to disable this misfeature. It's not a bug or an oversight -- it's part of the design of snap, and it's not going to change. Handing out the keys to the kingdom like this is supremely annoying on a desktop (e.g. Windows 10), but it's completely unacceptable on a server.…
You can hold off the update of a snap package for up to two months by enabling the appropriate key at https://snapcraft.io/docs/keeping-snaps-up-to-date I suppose the rational is that updates should happen. You can take your time to hold updates for up to sixty days but they should happen anyway. The certbot snap package is published by the EFF/LetsEncrypt themselves. You could also trick snapd that you are on a mete…
But the rationale for completely removing your ability to opt-out of an update is different. Snapd is not actually providing a service to users, at least not in earnest. They're providing a service to software publishers.
They're making it possible for publishers to ship software that isn't stable. This is a useful service for publishers, because stabilizing, releasing, and maintaining software is hard work, and requires resources that might otherwise be used implementing new features or writing new software. The life of a software publisher would indeed be easier if everyone was on the latest version as quickly as possible, and if multiple versions with conflicting feature sets were never allowed to exist at the same time.
In order to convince software publishers that snapd is capable of providing this service, snapd needs to convince users that running unstable software from these publishers is a reasonable approach. But for many server operators, it isn't reasonable.
I'm not here to talk about possible workarounds, or to argue about whether a delay is an adequate workaround, or about whether the delay interval is long enough. That would miss the point.
I'm here to assert that snapd's philosophy is wrong, that it's design is broken, and that this makes snapd unfit for purpose.
Here are three scenarios:
1. A security vulnerability is found in some stable piece of software. A minimal fix that mitigates only this vulnerability (without changing other behavior) is written and backported to the stable release.
In this case, it makes sense to apply the targeted patch as quickly as possible. It's time sensitive, and the risk of unintended fallout is minimal. You can do this automatically with debian-security and unattended-upgrades. Even in industries with complex software compliance processes, there's usually a fast-track exception for targeted fixes to critical security vulnerabilities.
2. A feature was improved, added, or removed. It might improve your server's performance. It might improve performance for a different system that needs to talk to your server. It might reduce the load on the software publisher's server. It might change or remove behavior that you rely on, causing your system to break in obvious or not-so-obvious ways. It might introduce a new feature that you've been desperately waiting for.
Everybody wants these updates to happen.
But it takes time and resources to figure out what's changed, to figure out whether the change breaks your system, and then to implement and deploy a fix for your system that allows you to upgrade.
3. Adobe or Autodesk want to silently "upgrade" your perpetually licensed software to their new monthly SaaS version.
lol, fuck that, and fuck them.
----
The problem with this approach (for software publishers) is that writing and backporting targeted fixes is hard, boring, thankless work. Similarly, it can be difficult and expensive for a publisher to have to deal with multiple versions of their software existing at the same time. They might interact in conflicting ways, they might require lots of ugly, bug-prone version-checking in client software so that different feature sets can be handled correctly. The publisher may desperately want to turn off a legacy feature on their servers, but can't until the last stable releases that rely on it are properly deprecated.
But this is how stable software works. If you don't want to deal with these things, and want to insist that everyone needs to be on the latest version as quickly as possible, then your software isn't stable, and has no business running on a server.