Should Developers Be Liable For Their Code?
Glyn Moody writes "They might be, if a new European Commission consumer protection proposal, which suggests 'licensing should guarantee consumers the same basic rights as when they purchase a good: the right to get a product that works with fair commercial conditions,' becomes law. The idea of making Microsoft pay for the billions of dollars of damage caused by flaws in its products is certainly attractive, but where would this idea leave free software coders?"
As a developer, I say that surely it's the tester's fault if there's flaws!
Go home and shave your giant head of smell with your bad self
and no one to sue. and don't think the fact that you get it for free matters -- you can sue a soup kitchen if it gives you food poisoning.
Any guest worker system is indistinguishable from indentured servitude.
if you get it for no price, you don't enjoy such priviledges.
If someone sells GPL based software, they are free to do so and pick up the tab on flaws in the product. Same goes for proprietary software.
This should have been done at least 10 years ago.
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
Going to medical school.
umm... to avoid being sued?
Any guest worker system is indistinguishable from indentured servitude.
http://www.opensource.org/licenses/gpl-license.html
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
MABASPLOOM!
The idea that code should be perfect is a stupid idea: consumers don't want that.
They want "good enough," not perfect. Perfect costs a great deal of money, probably 4X, and consumers will buy the good enough product, at 1/4 of that price, well beyond 95% of the time.
C//
Say a developer uses a number of 3rd party libraries (ie. Boost, TinyXML, etc), who will be pay damages if the program crashes in a bad way? The developer for not trying to catch 3rd party crashes, or the 3rd party for writing in bad code?
A morning without coffee is like something without something else.
Until the coders get total control of the project, from inception to completion, then no, they cannot be held responsible for bugs in the code.
How many companies push to get code out the door with *imperfections* - claiming they'll fix those in the first update?
Too many these days.
I'd say it's the management that controls the release schedules that should sign their names in blood on the bugs still known about (and unknown as testing probably wasn't allowed to complete).
Who is general failure, and why is he reading my hard drive?
or coders liable for anything. It will allow the government to say thing like, "Well your small company does not have the financial ability to support your product for "X" amount of years and you need insurance in case there are millions of lawsuits we are sorry but you can't sell your product". Meanwhile the large company (they are to big to fail or follow the rules everyone else is expected to) caries on as usual having eliminated to competition through government assistance and gets to carry on as usual because they are the only company left and we need them.
When you buy software, for example a Linux distribution, you may expect that the distributor has tested the packages and that the software mostly works. Because you pay more for MacOS, you may just expect MacOS to work better.
Off course there has to come jurisprudence on all this, but I don't think that finding just one bug will entitle you to your money back. However, when the software won't work at all for you, the supplier can not hide behind EULAs and could be forced to compensate your damages... It will be a case-by-case balancing of responsibilities.
extern warranty;
main()
{
(void)warranty;
}
If the EU wants higher-quality software, they should support an industry-wide system for the licensing and qualification of programmers, like we have for other engineering disciplines and professions. For example, they could require that all government software, or software for use in aircraft and life-critical functions. These developers wouldn't be "better" than anyone else, but they'd have taken an exam and be nominated by their peers, like a state bar.
If the software is developed by professional developers with licenses, it gets a big seal on it, and then people can choose to buy it or not based on the rep of the licensing body, and their risk tolerance.
Don't blame me, I voted for Baltar.
If they pass a law to protect consumers tho, eula cannot go against it. Those parts in the EULA would be just as null.
Thats how it works in some countries in europe aswell. For example most eulas try to prohibit you from making *any* copies of the software/game, but laws state that you can make yourself personal copies. Law goes on top of EULA, and if they differ law always wins.
However theres a little bit of difference on complexity on programming and constructing something (I know, constructing requires knowledge aswell, but not on so wide scale and on the same level of complexity)
I am tired of these implicit assumptions that FOSS is better than proprietary/closed source. You assume that because you have an FOSS product that you automatically have more people testing your it.
A large company just released a RC for their new OS. It's a closed source and proprietary product and it's being tested for free by more people than your product is (admittedly). You should check it out.
Furthermore, open source only matters for testing when your testers are actually doing white box. Unless your free testers are staring at code all day trying to force defects, it's all in vein.
Sure it's all in the license at the moment. The question is whether we as a society are happy that these are valid licenses.
We don't let doctors do surgery with the EULA-like conditions that "anything they do is at the users own risk and the doctor isn't held to any standards."
We don't let engineers build bridges with the EULA-like conditions that "the bridge is delivered as is and people drive over it at their own risk."
Why do we allow software to get away with such a cowboy attitude when we're more rigorous about other important infrastructure?
Or, why are we so up-tight about doctors and civil engineers when they should have the same laissez-faire setup as software engineers?
Because the software is not purchased there is no contract. "permission to use" is not the same as a sale.
This is an unworkable plan. Personal computers, by their very nature, require the end-user to tamper with them. The moment the end-user installs some 3rd-party software, or swaps out any piece of hardware, the environment the software runs under changes. This new environment will frequently produce a permutation that is impossible to predict and test against.
Additionally, many mainstream hardware manufacturers are TERRIBLE at producing hardware that conforms to the standards to which software developers target their code. Software developers can do everything right, but still see their programs malfunction due to circumstances beyond their control.
If this brain-damaged statute passes, the European Union will witness a steady exodus of consumer software, both closed and Open Source, from its member nations. There are just too many intermediaries between the software producer and software consumer to make this kind of liability feasible in any way, shape, or form. The price of even simple software would also rise to that of a small skyscraper, as a deluge of lawsuits would be filed by users for problems they caused themselves, but blamed on the software.
The cost to the European Union would be devastating.
I have mixed feelings on this.
This would only work if 'coders' gain the professional standing like doctors and lawyers. I would welcome the chance to have better qualified people in the field as well as bigger bucks.
On the other hand, all of software is design. It's hard to fault someone for breaking breaking standard protocol, when each piece of software is essentially designing something new. I heart surgeon doesn't invent a new heart procedure with each patient... By definition in software, everything is new as the compiler and CPU handle ALL the repetitive work.
Similarly, all products have a limited use. A company manufactures locks. Well with some kind of equipment, virtually all locks are breakable. IF a thief breaks into a my house can I sue the lock company? Well... only if the lock was defective I suppose... but what does defective mean? It means, it violated what a lock could reasonably stop. Normally by some specification (can withstand X amount of force, tension...). So what is it going to be with software?
They will have to list such specifications too which will basically amount to: this software will work as intended as long as you use it as we instruct. Take your care for example, if you are driving at 100 kph and put the car in reverse, which u can, you will blow up your engine. Yet in software, it is expected to take care of cases where the user pressed the wrong button at the wrong time... It should not crash. In most respects, software is remarkably reliable if you compare it to the rest of the world.
It's kind of pointless.
I think this is just more pointless European regulation. A body that has decided it doesn't want to do anything and just create an economy out of regulation and finance. Just my view anyways...
I say let the market handle reliability. I mean... amazing how Toyota does so well in the free market non? The market is the best structure to determine the trade off between price and reliability.
From my experience, it's often more like,:
Accounting slashed the budget so that we were short developers and testers. Marketing advertised it for other than it's intended purposes, or more featureful than originally designed. Sales cut us out of client meetings and added a bunch of glitzy features or things that weren't even really possible to do properly.
The end product had features tacked on at the last minute, a shortened development cycle, a bunch of extra eye-candy thrown on at the expense of real features, a neutered budget, and almost no testing because even with the above cuts they still ensured customers it would be released at a way-too-early date...
Even with the headline's example of Microsoft, I'd have hard time placing all blame on the devs when all the above bullshit tends to happen, not to mention the overall fragmentation I've heard that they suffer from lately.
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to destroy you and leave you (and or your business) reeling in economic and personal obliteration*. That our software looks like it does something productive should not be mistaken for any intent to be useful in any fashion â"the software is free for all its users.
*The GPL or authors of software using the GPL license make no guarantees regarding the efficacy of said software's destruction potential.
Platform advocacy is like choosing a favorite severely developmentally disabled child.
I make software that goes on an aircraft for a living.
All such software is required to be certified by the FAA, which has elaborate requirements for development, documentation, and testing (the applicable document is DO-178B).
I'm told that the reason for certification is not safety, but culpability. If your software satisfies the requirements and passes review by the FAA, then your company will not be held liable if it causes problems.
In essence, certification represents "best effort" engineering practices and tries very hard to eliminate bugs in the final product.
By the time a software package gets on a plane, many people have combed over it looking for problems, and the testers have spent a massive amount of time running it. There is a safety/failure hazard analysis which asks all the "what if" questions, and the flight crew has written procedures in case it fails.
If a bug is found after deployment (this happens occasionally) and it is discovered that there was a flaw in the certification process, all hell would break loose. It would open up the FAA and the company to all sorts of lawsuits from injured parties. The people who signed off on the certification would essentially be screwed.
The FAA is generally a bunch of bureaucrats. The one thing they do well is look out for their own interests.
Oh, and I worked for the company that got Microsoft Windows certified to run in the cockpit as a map display. It's Posix compliant, dontcha' know!
> I'm looking at a silica packet that is labled, "Do not eat."
I followed those instructions and nearly starved to death!
My lawyer advised suing for "negligence causing anorexia."
"Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
The result will be two versions of software. One will be priced the same as today, with a detailed license agreement with you ultimately giving up those rights
The purpose of the law would be to prevent license agreements taking those rights away. You already have them by default anyway (google "implied warranty of merchantability").