News for hackers. Stuff that matters.
Re:The modern packager’s security nightmare by hctaw on Sunday February 21, 2021 @05:15PM (#26217812)
I'd disagree that the problem of large organizations are different from the problems of the FOSS ecosystem. Organizations just have a financial incentive to fix them, the FOSS ecosystem does not. If mutually incompatible dependencies and security updates breaking software weren't problems for both corporate and FOSS ecoystems, these new technologies wouldn't have needed to exist. They'd just use the existing platforms.

And mind you, this is not a corporate/open source split. The burgeoning ecosystems are also full of FOSS technologies doing new and exciting things, they just don't break when a dependency updates!

>Anything I install with a package manager just works, 100% of the time

I run into issues with packages weekly. So much so I've spent engineer days purging references to system packages. It's universal too - yum, apt, pacman, brew, macports, I have to make sure nothing tries to reference packages installed outside a local working directory for an application because of mutual incompatibilities. Maybe it's because I'm trying to write software that runs on multiple targets and not use software where someone else has already spent the time and money to resolve these issues.

> I know you know this, but just to be clear, that's not a solution to the problem of "making things easier for maintainers to distribute", that's cutting maintainers out of the loop. The whole point of my focus on ecosystems is that this is something that I, as a user, don't want to happen.

They should be cut out of the loop. Maintainers don't have a right to dictate what design decisions I put into my applications because they don't think it adds value (the value is, it doesn't just run on their distro!). Another comment in this thread put it better, maintainers shouldn't place themselves in the development process.

Re:The modern packager’s security nightmare by bscphil on Sunday February 21, 2021 @05:22PM (#26217882)
> They should be cut out of the loop.

I disagree. This is how you get the Google Play store or the "freeware" app marketplace. It sucks. As a user, I'm quite happy to continue using a traditional distribution even if it means I don't get to use a handful of flashy programs by developers that disagree with the concept of maintainers. So far that choice has been much more positive than negative for me, and I'm doing my best (by promoting the open source ecosystem) to keep it that way.

> Maintainers don't have a right

If you're creating open source software, they quite literally do! https://www.gnu.org/licenses/gpl-3.0.en.html

If you put in a bunch of crap that doesn't belong in an application (ads, for example), I'm glad I have a maintainer that can either strip this out thanks to the GPL (or BSD / MIT etc), or else choose not to include your app in the distribution at all.

Re:The modern packager’s security nightmare by lifthrasiir on Sunday February 21, 2021 @09:17PM (#26219991)
> As a user, I'm quite happy to continue using a traditional distribution even if it means I don't get to use a handful of flashy programs by developers that disagree with the concept of maintainers.

As a user, I'm afraid that you don't seem to be a representative of typical users. I would be happy to use a traditional distribution if they don't break on updates, which is still not the case. It's clear that traditional distros were not satisfactory on even keeping their own promises. I know they work hard, but ultimately the visible outcome says everything.

Re:The modern packager’s security nightmare by drran on Monday February 22, 2021 @03:22AM (#26222099)
Distributions are not breaking software, they are just distributing broken software. Blame upstream for lack of testing. Or create your own distribution of flawless software and keep it up to date and flawless for the rest of your life.
Re:The modern packager’s security nightmare by lifthrasiir on Monday February 22, 2021 @05:00AM (#26222680)
Oh, sure. Softwares are broken, you can't fix that. Traditional distros just happen to (falsely) believe that they can somehow fix at their level. What we need instead is a distro that is resilient to software breakage, not flawless software. Does my hope look that unreasonable to you?
Re:The modern packager’s security nightmare by drran on Monday February 22, 2021 @06:37AM (#26223356)
My distro works just fine, when an X11 app crashes due to a bug in the Nvidia driver, but I cannot.
Re:The modern packager’s security nightmare by sanxiyn on Sunday February 21, 2021 @05:50PM (#26218153)
> a handful of flashy programs

This only works if "core" refuses to use Rust, so it's not sustainable. We already can't build Firefox and GNOME without Rust. Maybe Apache and curl next. And then?

Re:The modern packager’s security nightmare by ticviking on Sunday February 21, 2021 @07:54PM (#26219186)
We may be forced to work for free to make rusts build less of a pain. Or to abandon those projects which have abandoned us.
Re:The modern packager’s security nightmare by lmm on Monday February 22, 2021 @01:48AM (#26221567)
> If you're creating open source software, they quite literally do! https://www.gnu.org/licenses/gpl-3.0.en.html

Clearly you missed the disclaimer of warranty in the licensing terms.

Packagers are welcome to maintain their own patches, or their own fork, if they like. But they don't have any right to tell upstream what to do or demand particular guarantees from upstream.

Re:The modern packager’s security nightmare by drran on Monday February 22, 2021 @03:26AM (#26222110)
It's temporary, I'm sure. When broken software or a weaponized patch will slip through weak fence of maintainers and then break critical infrastructure, Congress will vote for something to stop that.
Re:The modern packager’s security nightmare by ticviking on Sunday February 21, 2021 @05:22PM (#26217879)
> maintainers shouldn't place themselves in the development process.

Then perhaps we as developers should spend more time thinking about and participating in the maintenance process?

Re:The modern packager’s security nightmare by lmm on Monday February 22, 2021 @01:45AM (#26221553)
Which is exactly what developers have done, and what this guy is complaining about: developers have figured out a different approach to maintenance that works better.
Re:The modern packager’s security nightmare by ticviking on Monday February 22, 2021 @07:21AM (#26223659)
I don't pretend to have an answer but I'm trying to listen to both sides so maybe I can formulate "the question" a little bit better and improve the discussion around this.

It seems like have posts every few months where security professionals, maintainers and sysadmins explain that the "developer usability first" approach to maintenance and dependency management is having massive consequences to our ability to keep systems secure, and to even know if an affected version of a library is on a system.

That is a different problem that doesn't seem to be addressed at all in the current iteration of these tools. If you're aware of efforts to solve that problem in the rust and go ecosystems(since those are the ones cited here) I'd love to read about it.

Re:The modern packager’s security nightmare by lmm on Wednesday February 24, 2021 @12:19AM (#26246854)
Knowing whether a vulnerable version is somewhere in your dependency tree, and making sure it gets fixed, is absolutely being done and being made part of CI etc. (I don't know about Rust/Go specifically, but the JVM ecosystem is the subject of similar complaints and we're absolutely doing vunerable dependency scanning and also things like "edge builds" where we bump every transitive dependency to the latest version and see if anything breaks). Nowadays Github itself will give you an alert without you even needing to do anything.

Frankly, most distribution maintainers seem to not know or care about how upstream software is built; they have an idea about what's "best practice" in the handful of languages they're using to build their distribution (which is mostly, like, C and Perl) and insist that they know best, without realising the rest of the world has passed them by.