If you've been following the tech news, one of the recent things that's happened is that there has been another incident where a bunch of popular and widely used packages on a popular package repository for a popular language were compromised, this time with a self-replicating worm . This is very inconvenient to some people, especially to companies in Europe, for some reason , and so some people have been making the usual noises . On the Fediverse, I had a hot take :
Hot take: free and open source is fundamentally incompatible with strong security *guarantees*, because FOSS is incompatible with strong guarantees about anything. It says so right there on the tin: "without warranty of any kind, either expressed or implied". We guarantee nothing by default, you get the code, the project, everything, as-is, where-is, how-is.
Of course companies find this inconvenient, especially with the EU CRA looming, but that's not FOSS's problem. That's a you problem.
To be clear here: this is not about the security and general quality of FOSS (which is often very good), or the responsiveness of FOSS maintainers. This is about guarantees , firm (and perhaps legally binding) assurances of certain things ( which people want for software in general ). FOSS can provide strong security in practice but it's inimical to FOSS's very nature to provide a strong guarantee of that or anything else. The thing that makes most of FOSS possible is that you can put out software without that guarantee and without legal liability.
An individual project can solemnly say it guarantees its security, and if it does so it's an open legal question whether that writing trumps the writing in the license. But in general a core and absolutely necessary aspect of free and open source is that warranty disclaimer, and that warranty disclaimer cuts across any strong guarantees about anything, including security and lack of bugs.
Are the compromised packages inconvenient to a lot of companies? They certainly are. But neither the companies nor commentators can say that the compromise violated some general strong security guarantee about packages, because there is and never will be such a guarantee with FOSS (see, for example, Thomas Depierre's I am not a supplier , which puts into words a sentiment a lot of FOSS people have).
(But of course the companies and sympathetic commentators are framing it that way because they are interested in the second vision of "supply chain security" , where using FOSS code is supposed to magically absolve companies of the responsibility that people want someone to take .)
The obvious corollary of this is that widespread usage of FOSS packages and software, especially with un-audited upgrades of package versions ( however that happens ), is incompatible with having any sort of strong security or quality guarantee about the result. The result may have strong security and high quality, but if so, those come without guarantees; you've just been lucky. If you want guarantees, you will have to arrange them yourself and it's very unlikely you can achieve strong guarantees while using the typical every-changing pile of FOSS code.
(For example, if dependencies auto-update before you can audit them and their changes, or faster than you can keep up, you have nothing in practice.)