Free (as in Freedom) Software Helps Tackle the Software Liability Issue, It Lets Users Exercise Greater Control Over Programs
A couple of days a site sponsored by Microsoft asked: "How should software producers be held accountable for shoddy cybersecurity products?"
To quote the summary: "Richard Beutel, a senior researcher for the Baroni Center for Government Contracting [founded in 2019], explains the concerns about a new White House cyber proposal."
Beutel is a GAFAM lobbyist. To quote the Bezos-owned media:
But the recent SEC filing did warn that the company faces risks related to “government contracts and related procurement regulations.” And last year, the company also retained the lobbying services of Richard Beutel, who previously served a senior staffer for the House Committee on Oversight and Government Reform and was the original author of the last major law reforming federal IT policy. Beutel left the government in January of 2015. By April, his new firm was registered to lobbying on behalf of Amazon Web Services -- engaging “with policymakers regarding cloud acquisition and deployment," according to one disclosure.Bringing in people who have deep ties to the government contracting process like Beutel shows that Amazon's efforts to woo the government are maturing. But Leong said they're still playing catch up with their major competition in the cloud IT space, Microsoft, who has a longer history in government contracting.
So now Beutel is an "expert" in liability? He's shilling proprietary software.
This is yet another way Microsofters (proponents of secret back doors) have been trying to ban or exclude Free software.
Dan Geer wrote about the subject just over a decade ago, with a plain text publication in his site. Here's section 3: ("Source code liability -- CHOICE [...]")
3. Source code liability -- CHOICE
Nat Howard said that "Security will always be exactly as bad as it can possibly be while allowing everything to still function,"[NH] but with each passing day, that "and still function" clause requires a higher standard. As Ken Thompson told us in his Turing Award lecture, there is no technical escape;[KT] in strict mathematical terms you neither trust a program nor a house unless you created it 100% yourself, but in reality most of us will trust a house built by a suitably skilled professional, usually we will trust it more than one we had built ourselves, and this even if we have never met the builder, or even if he is long since dead.
The reason for this trust is that shoddy building work has had that crucial "or else ..." clause for more than 3700 years:
If a builder builds a house for someone, and does not construct it properly, and the house which he built falls in and kills its owner, then the builder shall be put to death. -- Code of Hammurabi, approx 1750 B.C.
Today the relevant legal concept is "product liability" and the fundamental formula is "If you make money selling something, then you better do it well, or you will be held responsible for the trouble it causes." For better or poorer, the only two products not covered by product liability today are religion and software, and software should not escape for much longer. Poul-Henning Kamp and I have a strawman proposal for how software liability regulation could be structured.
....................... 0. Consult criminal code to see if damage caused was due to intent or willfulness. .......................
We are only trying to assign liability for unintentionally caused damage, whether that's sloppy coding, insufficient testing, cost cutting, incomplete documentation, or just plain incompetence. Clause zero moves any kind of intentionally inflicted damage out of scope. That is for your criminal code to deal with, and most already do.
....................... 1. If you deliver your software with complete and buildable source code and a license that allows disabling any functionality or code the licensee decides, your liability is limited to a refund. .......................
Clause one is how to avoid liability: Make it possible for your users to inspect and chop out any and all bits of your software they do not trust or want to run. That includes a bill of materials ("Library ABC comes from XYZ") so that trust has some basis, paralleling why there are ingredient lists on processed foods.
The word "disabling" is chosen very carefully: You do not need to give permission to change or modify how the program works, only to disable the parts of it that the licensee does not want or trust. Liability is limited even if the licensee never actually looks at the source code; as long has he has received it, you (as maker) are off the hook. All your other copyrights are still yours to control, and your license can contain any language and restriction you care for, leaving the situation unchanged with respect to hardware-locking, confidentiality, secrets, software piracy, magic numbers, etc.
Free and Open Source Software (FOSS) is obviously covered by this clause which leaves its situation unchanged.
....................... 2. In any other case, you are liable for whatever damage your software causes when it is used normally. .......................
If you do not want to accept the information sharing in Clause 1, you fall under Clause 2, and must live with normal product liability, just like manufactures of cars, blenders, chain-saws and hot coffee.
How dire the consequences, and what constitutes "used normally" is for your legislature and courts to decide, but let us put up a strawman example:
A sales-person from one of your long time vendors visits and delivers new product documentation on a USB key, you plug the USB key into your computer and copy the files onto the computer.
This is "used normally" and it should never cause your computer to become part of a botnet, transmit your credit card number to Elbonia, or copy all your design documents to the vendor. If it does, your computer's operating system is defective.
The majority of today's commercial software would fall under Clause 2 and software houses need a reasonable chance to clean up their act or to move under Clause 1, so a sunrise period is required. But no longer than five years -- we are trying to solve a dire computer security problem here.
And that is it really: Either software houses deliver quality and back it up with product liability, or they will have to let their users protect themselves. The current situation -- users can't see whether they need to protect themselves and have no recourse to being unprotected -- cannot go on. We prefer self-protection (and fast recovery), but other's mileage may differ.
Would it work? In the long run, absolutely yes. In the short run, it is pretty certain that there will be some nasty surprises as badly constructed source code gets a wider airing. The FOSS community will, in parallel, have to be clear about the level of care they have taken, and their build environments as well as their source code will have to be kept available indefinitely.
The software houses will yell bloody murder the minute legislation like this is introduced, and any pundit and lobbyist they can afford will spew their dire predictions that "This law will mean the end of computing as we know it!"
To which our considered answer will be:
Yes, please! That was exactly the idea.
"The full section 3 should be read," an associate said, as it's highly relevant to the proposal made by the Microsoft-sponsored site. "Compare and contrast," he said.
The media owned by GAFAM is a megaphone of GAFAM. It's a profound problem. The oligarchs control the narratives. They also control the Linux Foundation, which despite devoting a mere 2% of its budget to Linux viciously culls Linux developers. █