this post was submitted on 31 Mar 2024
453 points (98.3% liked)

Open Source

31417 readers
16 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

Thought this was a good read exploring some how the "how and why" including several apparent sock puppet accounts that convinced the original dev (Lasse Collin) to hand over the baton.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 128 points 8 months ago (4 children)

Pretty bad is also that it intersects with another problem: Bus factor.

Having just one person as maintainer of a library is pretty bad. All it takes is one accident and no one knows how to maintain it.
So, you're encouraged to add more maintainers to your project.

But yeah, who do you add, if it's a security-critical project? Unless you happen to have a friend that wants to get in on it, you're basically always picking a stranger.

[–] [email protected] 50 points 8 months ago

Unless you happen to have a friend that wants to get in on it, you’re basically always picking a stranger.

At risk of sounding tone deaf to the situation that caused this: that's what community is all about. The likelihood you know the neighbors you've talked to for years is practically nil. Your boss, your co-workers, your best friend and everyone you know, has some facet to them you have never seen. The unknown is the heart of what makes something strange.

We must all trust someone, or we are alone.

Finding strangers to collaborate with, who share your passions, is what makes society work. The internet allows you ever greater access to people you would otherwise never have met, both good and bad.

Everyone you've ever met was once a stranger. To make them known, extend blind trust, then quietly verify.

[–] [email protected] 39 points 8 months ago* (last edited 8 months ago) (2 children)

honestly these people should be getting paid if a corporation wants to use a small one-man foss project for their own multibillion software. the lawyer types in foss could put that in GPLv5 or something whenever we feel like doing it.

also hire more devs to help out!

[–] [email protected] 21 points 8 months ago (1 children)

If you think people are going to be trustworthy just because they are getting paid you are naive.

[–] [email protected] 11 points 8 months ago* (last edited 8 months ago) (1 children)

not trustworthy per se but maybe less overworked and inclined to review code more hastily, or less tired and inclined to have the worse judgement that makes such a project more vulnerable to stuff like this.

these people maintain the basis of our entire software infrastructure thanklessly for us in between the full time jobs they need to survive, this has to change.

as for trust in foss projects, the community will often notice bad faith code just like they just did (and very quickly this time, i might add!)

[–] [email protected] 3 points 8 months ago (1 children)

I guess you are using trust in a different way here. Trust in competency can vary with both volunteer and paid workers, everyone makes mistakes though. Trust that someone doesn't do something deliberately malicious is a different matter though.

[–] [email protected] 3 points 8 months ago (2 children)

i can't see how paying someone would have changed anything in this scenario.

this seems to be a long running campaign to get someone into a position where they could introduce malicious code. the only thing different would have been that the bad actor would have been paid by someone.

this is not to say, that people working on foss should not be paid. if anything we need more people actively reviewing code and release artifacts even if they are not a contributor or maintainer of a piece of software.

[–] [email protected] 6 points 8 months ago (1 children)

i can't see how paying someone would have changed anything in this scenario.

we need more people actively reviewing code and release artifacts

I think you’ve answered your own question there

[–] [email protected] -1 points 8 months ago (1 children)

no, the solution is not to pay someone to have someone to blame if shit happens.

there are a bus load of people involved on the way from a git repo to actuall stuff running on a machine and everyone in that chain is responsible to have an eye on what stuff they are building/packaging/installing/running and if something seems off, it's their responsibility to investigate and communicate with each other.

attacks like this will not be solved by paying someone to read source code, because the code in the repo might not be what is going to run on a machine or might look absolutely fine in a vacuum or will be altered by some other part in the chain. and even if you have dedicated code readers, you cant be sure that they are not compromised or that their findings will reach the people running/packaging/depending on the software.

[–] [email protected] 3 points 8 months ago

Of course you can’t be sure anyone involved, paid or not, isn’t compromised. But if you want more human effort put into a project, people need a reason to do so. Complaining that volunteer contributors don’t spend enough of their time and effort with no compensation isn’t going to solve anything. Maybe AI tools will make that work more available in the near future.

[–] [email protected] 5 points 8 months ago

If my job didn't pay me, I would have certainly burned out years ago. For one, I'd need another job.

[–] [email protected] 20 points 8 months ago (1 children)

I think bus factor would be a lot easier to cope with than a slowly progressing, semi-abandoned project and a White Knight saviour.

In a complete loss of a sole maintainer, then it should be possible to fork and continue a project. That does require a number of things, not least a reliable person who understands the codebase and is willing to undertake it. Then the distros need to approve and change potentially thousands of packages that rely upon the project as a dependency.

Maybe, before a library or any software gets accepted into a distro, that distro does more due diligence to ensure it's a sustainable project and meets requirements like a solid ownership?

The inherited debt from existing projects would be massive, and perhaps this is largely covered already - I've never tried to get a distro to accept my software.

Nothing I've seen would completely avoid risk. Blackmail upon an existing developer is not impossible to imagine. Even in this case, perhaps the new developer in xz started with pure intentions and they got personally compromised later? (I don't seriously think that is the case here though - this feels very much state sponsored and very well planned)

It's good we're asking these questions. None of them are new, but the importance is ever increasing.

[–] [email protected] 6 points 8 months ago (1 children)

Maybe, before a library or any software gets accepted into a distro, that distro does more due diligence to ensure it’s a sustainable project and meets requirements like a solid ownership?

And who is supposed to do that work? How do you know you can trust them?

[–] [email protected] 2 points 8 months ago

Fair point.

If the distro team is compromised, then that leaves all their users open too. I'd hope that didn't happen, but you're right, it's possible.