Hello everyone, and sorry for my bad english. So lets start with a usual topic about Open Source, and that is “everybody can see the code of a OpenSource programm to see if it is malware”. And my question is: how people that cannot read a single line of a programming language manage to do that? I mean, they can just trust in everybody that say which software is secure or not. If the software is a virus or malware, or poses security risks, people won’t know that unless they’re programmers, and so the same thing happens to these kinds of people as used to happen with proprietary software: they have to rely on those who “know” to find out if something. I find this quite problematic because, as I said, anyone who doesn’t understand the code wouldn’t be able to verify whether such a program is secure or not, and would have to place their trust in third parties. That aside, it’s also worth noting that most software has hundreds, if not thousands, of lines of code, which would make it take longer to parse all that code—and even more tedious than reading a typical “EULA.” Can you think of any way to fix this?
How do you know that proprietary code is secure? Open source at least has a collective self interest in finding and patching flaws. There is no such natural mechanisms in software development by giant corporate conglomerates.
i answer this in the same post, lol
In short the answer is this: you have two companies selling you boxes, one that it’s literally impossible to look inside, and another one that’s very easy and encouraged to do so. Even if you know nothing about bombs, if both those boxes claim to not explode, which one do you trust more?
It’s sorta the same thing, it doesn’t necessarily means that the closed box is inherently less safe, but even if you personally haven’t verified that the open box doesn’t contain anything dangerous you can be somewhat safer in the knowledge that people COULD have verified it.
haha interesting point of view, i like it!
There are many science articles that I personally do not understand, most of them in fact. But I trust that as long as the methodology and findings can be studied, people who are specialized in that area will point out mistakes and try to disprove and improve each other. We don’t talk about phlogiston anymore, because science did its thing. I see free software in a similar way. As long as the source is free to study, and people are interested in finding errors, those errors can be fixed. Trusting software becomes more about trusting a community. It’s not perfect, but what is.
I’ll offer the contrarian answer: FOSS does not guarantee secure software; in-fact, neither does proprietary software, nor government software, nor anonymous software.
As others have mentioned, assurances about software come from audits or by trusting someone reputable who has done the audit. Delivering security guarantees is not what most FOSS projects are meant to do.
So what exactly do FOSS projects do? Why are they any better than proprietary software? The short answer is that FOSS is about continuity. You can and will find FOSS projects from 30 years ago, which have been kept updated so they can run modern machines. The folks doing that didn’t need anyone’s permission to do that; they can just do it.
Meanwhile, if Adobe of MSFT declare that a certain proprietary software suite is going EOL and will not receive any more security updates, then the user base is SOL. FOSS gives a potential route away from this fate, if someone or some group is willing to put the elbow grease into security updates. Even if it’s just one person.
So in the short term, there are no security assurances for either proprietary or FOSS. In the long term, all software cannot escape the unstoppable march of time and vulnerabilities. But at least FOSS has a chance to be corrected, years or decades later.
I guess the main thing is that it’s not just one person saying “I looked at the code and didn’t find any malware” - depending on the size of the project it could be millions of people saying that. Also, changes to programs generally have to be approved by the maintainer, so it can be pretty difficult to slip malicious changes in unnoticed.
The arrangement isn’t perfect, but keep in mind that closed-source software also requires trust on the part of the users - It’s just that in that case nobody can vet the code.
yeah i use floss software for that too! but maybe somethere is a malicious code hidden by a very good programmer (or a group of these) in critical software…
For a good case study: https://en.wikipedia.org/wiki/XZ_Utils_backdoor
If this had been closed source, the attacker would not have been able to use the technique to commit the changes in the first place.
However, if they HAD snuck the changes in, nobody would have caught them, and only the developer would have been able to identify something was wrong before full deployment.
But we should all assume that while the xz trojan never made it out, others likely have, both in open and closed source.
If this had been closed source, the attacker would not have been able to use the technique to commit the changes in the first place.
No need for speculation we have such a real equivalent.
The SolarWinds Cyberattack Explained: Hack, Victims, and Key Facts
Both are supply chain attacks and the proprietary world let it go farther. They both highlight vulnerabilities. There are going to be small and important FOSS projects that have burnt out maintainers, and possibly few eyes on. In principal someone should be getting paid to keep things safe in closed land, but security is a cost center and an easy cut for the MBAs in charge of things.
It is always possible. The point is that while open source software doesn’t solve this problem, it gives you a non-zero chance of someone detecting it and raising the alarm. Non-zero may be large or may be small, it is probably never 100% chance, but large non-zero is very good, and even small non-zero it is much better than the 0% detection chance that closed source offers.
Sorry but i dont understand what do you mean with “non-zero”
Personally when I install some software I generally look at popularity (like stars if the code is hosted on Github), whether an audit has recently happened, it is recommended by someone I trust, and whether the permissions it needs are reasonable (I’m on Silverblue so I only install Flatpaks)
When I used to use Arch I also looked at the pkgbuild beforehand since they’re generally fairly small en very human readable. I also looked at popularity there and whether the developer maintained an Arch package. But that obviously doesn’t say anything about the code itself.
I definitely don’t consider myself non-techy since I’m doing an an engineering masters with a CS track but those things shouldn’t require any programming knowledge.
But I think most of the more common users don’t really care and install the packages they need without thinking too much about it. Unless the source seems very untrustworthy.
Edit: you can never truly be certain that a project’s code is safe. You can only have soft guarantees. Albeit some like formal verification are harder than others like project popularity.
Basically: public audit
A bunch of people better than me look at the code and post their findings. However this take time and with AI coding it’s becoming increasingly difficult to make good audit of a code
so distros have default package managers with default configured repos. The repos are like curated stores of software. So if you trust the linux distro you might trust its default repos it uses. you can further add repos if you think they are reputable. its all sorta repuation if you don’t read the code.
No. Software hasn’t thousands, but millions of lines of code. So what did you think that programmers owe you?
Open source software is none the worse just because you can’t read source code. Nobody requires you to read it.
You can decide to trust the others that have actually read the source code. Or the ones that use it without reading the source code. Or you can decide not to trust them. You are free to decide. You are even free not to decide :)
Now tell us about your freedom when you pay for Microslop.
Devil’s advocate: if there’s actual malicious code in Microslop, I’m free to sue (and there’ll be evidence, not just from me but other paying customers as well).
No you’re not free to sue. If you read that license agreement you will find that your right to sue has likely been waived into some corporate-friendly arbitration process. Yes, you can try to sue anyway, but you have to find a way past that clause first.
I’d assume that to be considered an unfair term under EU law and not be binding in case of malicious code.
I keep forgetting there are people who live in places without all the FREEDOMTM we have in America. Carry on, then…
Why do you compare reading the code to reading an EULA ? A nefarious or compromised closed source program can still do nasty stuff not described in the EULA.






