Software Approvals For Consumer Markets?
Odkin asks: "Some friends and I are struggling with a hardware project which is stalled due to costly consumer market approvals (which is alright I guess). But it struck me, why are there only market approvals for hardware and not software? The hardware approvals include functionality tests that ensure that the product works as intended in any way the user would handle it (even unsuitable use). Would such approvals for commercial software improve the quality of the products, including minimizing the risk of data loss and heightening the security? In other words, would it facilitate or inhibit the creation of good software?"
make a better product. However it would make it real hard for small software houses to put out software. Plus isnt the EULA's whole point to get around accountability in a product?
"All I can tell the "lesser of two evils" folks is that if they keep voting for evil, they'll keep getting evil."-Lp.org
Or is it both?
Some software goes through rigorous approval and acceptance testing. I'm looking at the software for the space shuttle. It's like civil engineering - due to the huge liabilities inherent in a failure scenario, an incredible amount of effort is put into ensuring that a failure scenario does not happen.
Some software gets cursory testing. I'm looking at my employer. It's like a burger - who cares if you get one pickle slice or two, as long as you get your burger?
And some software is like an analogy that makes no sense, like bridges and burgers. Mmmm, Chief Justice Warren Burger...
Posting anonymously. Hi, boss!
It would certainly have made Bioware realise Shadows of Undrentide crashed once every five minutes.
Karma: It's all a bunch of tree-huggin' hippy crap!
If there were market approvals for software, OSS would be dead in the water.
actually making a software product that functions, even when stressed? now that's just crazy talk.
but in reality this is somethign that every product (hardware or software) should go through. It'll just make a better product.
except stupid MBA people decided it would be a good idea to get the client to pay for the software and then test it for you on the job, you get your approval that way and the client gets his half baked product, of course any problems the client has with the software isnt really that important as you will fix them when you sell it to him again next year but under a different brandname
One word. Facibitate.
That is all.
-theGreater BuzzWordSmith.
But you can only find it in consoles. However, even that kind of approval is failing (eg: Pokemon real time clock bug).
Most closed source companies would be against it.. free or not.
Pretty much becuase Programmers aren't considered profesionals like "Doctors" and "Lawyers" by the govts, as they can teach themselvfes, and hence are exempt from Malpractice.
Also teh EULA especially in UCITA states shields the software company from damages. Go read just about any EULA when it talks about damages if you don't believe me.
It would certainly help usability. If you extend the analogy of unsuitable use of hardware to software, what if I click the wrong button or enter an illegal command. This should all be handled by good software.
But if that process ever became standard, it might help quite a bit with security. Throw in some bogus data and see if anyone can read it or write to it illegally.
Ultimately, this will never happen unless users demand it, and refuse to buy a product unless it passes such a test. And I don't know if that will happen.
Slashdot Syndrome: the sudden, extreme urge to correct someone in order to validate one's self.
If you are trying to get liability insurance, that's another thing - you can spend as much money as you have and it may not help.
So... give us a fer instance on what you're trying to do - your box looks pretty innocuous.
Been there, done that, paid for the T-shirt
and didn't get it
Dear Sir,
Because no one trusts a hardware engineer.
Sincerely,
A Software Engineer
Could you clarify exactly what a 'consumer market approval' is? Is it done in house by the company making the product or by a third party institution? Are there generally accepted standards for the process or does each reviewing group have their own procedure?
Could you imagine how much this would slow down the development process? If you had to get *approval* for the release of every new bloody version of a piece of software? (Not to mention patches, auto-updates, etc...) (Also not to mention how much time you'd have to spend simply doing your homework to ensure compliance!)
This has been suggested before, and is a *very bad idea*. It is tolerable for things like drugs and nuclear power where a mistake could injure or kill people. Outside of such high-risk things, this kind of regulation should be avoided like the plague.
Well, first off, the question is misguided -- software development usually does involve consumer testing and feedback at every stage of the process (at least, good software development for a specific user-client; the user never wants what they tell you, nor do you build exactly what they tell you anyway).
More to the point, though, a lot of commercial software would be loads better if it had a more thorough testing process. But this would result in such poor times-to-market that the market would've already been cornered by the piece of crap that was released first and patched in the upgrade.
So yes, this would result in better software, provided you don't mind hamstringing the developers (with tons of new user requests) and the sales staff (when they have a product they can never, ever deliver on time).
Incidentally, sometimes the end-user's ability to use software other than it was exactly intended can be useful, to a sufficiently creative and powerful user... for over-the-counter commercial software anyway...
Freedom isn't free; its price is the well-being of others.
This should probably just be added to the beta testing that most programs go through. Rather than doing it inhouse, simply give it to a bunch of average Joe Computerusers and see what they do with it. A few of them are bound to do something stupid with it, and that's when you fix the bugs there. There's your consumer approval. If an average consumer can use it without breaking it, then it's fit for the market.
Wouldn't that make it harder for open applications to get in industry? Who would pay for the validation?
Most small video game makers have to run there final versions by the box makers (Sony and Xbox). They run it through a bastion of tests before they will let it out to the consumer market. It doesn't seem to harm the video game makers ability to create good games. Of course, this doesn't include usability testing.
______________________
here's what I meant to write
It would certainly help usability. If you extend the analogy of unsuitable use of hardware to software, what if I click the wrong button or enter an illegal command. This should all be handled by good software.
The problem is that software producers (we can all think of one we hate) are in a rush to make more product and to release new versions. And that rush goes against the idea of quality. In a sense, the software has to be just good enough to get a user's money.
But if that process ever became standard, it might help quite a bit with security. Throw in some bogus data and see if anyone can read it or write to it illegally.
Ultimately, this will never happen unless users demand it, and refuse to buy a product unless it passes such a test. And I don't know if that will happen.
Slashdot Syndrome: the sudden, extreme urge to correct someone in order to validate one's self.
The major difference between hardware and software...Hardware you can return to the location your purcased it from, software you cant return. Anyone ever try to return open box software? Good Luck...cause it really doesnt happen anymore.
snowulf.com
Xerw scalth frelp fe!
play Temple of Elemental Evil first....
The Kruger Dunning explains most post on
Although, software can destroy 20 years of business data and bring down the whole company anyway, but it's easier to mirror/backup your data than it is to mirror/backup your house/office.
There are federal standards for code that runs inside medical instruments and code that runs in avionics. It would be great if there were some similar standard for internet desktop software that was mandated for all software license purchases by the government (that would give any serious vendor in someplace like Redmond a big incentive to gets its act together to meet the standard). But it should never be mandated for the public. We the people have the inalienable right to write and publish whatever software we want, just like we have the right to publish articles and songs that criticize the government. That right stays in force even if our software turns out to be buggy.
The FCC/CE wants to make sure that your widget doesn't interfere with the other widgets. UL/CSA wants to make sure your widget doesn't burn the house down.
I know that CE has some EMI susceptablilty stuff that isn't exactly safety, but for the most part, the issue is making a safe, non-interfering widget. The widget could fail in 2 days, as long as it fails safely.
You are posing a question that is pretty much unrelated to hardware approvals.
"Eve of Destruction", it's not just for old hippies anymore...
the only way to ensure the creation of better software is to destroy capitalism, thus taking away the profit motive for the speedy creation of software. once there is no money in it, only smart, skilled, and creative people like Dennis Richie or RMS will actually bother to make software. Only the creation of a Socialist Republic a la Seamus Costello and Malachy McAllister, James Connolly, or Karl Marx will create better software, true freedom, and a peaceful world.
The reason why we shouldn't have software approvals is simple, it would discourage people to start making software in the first place. Why should they even bother learning if they will have to go through tons of red tape?
Until Slashdot fixes the funny modifier, use insightful or interesting. The poster knows your intentions.
Find a middle man in Mexico, as Mexico has very few laws regulating the importation of products from overseas, and the United States has greatly deregulated the laws concerning the importation of anything from Mexico due to NAFTA/WTO/etc.
Try here for starters:http://www.importexporthelp.com/
Software is extremely difficult to regulate and probably won't ever be done, especially with the power of certain large corporations who put out shitty software and have no intention on releasing the source for inspection. Though a trade war with Europe is possible, the market trend is towards deregulation, especially with things like CAFTA, so it shouldn't be a huge fucking problem in the future, either.
You get to test the software to see if it fits your needs and if it's stable
Everyone can still release software
As a bonus bugs can be discovered more easily by having a large amount of testers Ofcourse this is what is really good about most opensource software, as in many cases you don't have to pay a license either.
Harald
I thought a few article ago posters debated that if software requires approval to be published, it will kill most open source projects, and Linux may be greatly hampered.
:)
Wait, this is exactly what the SCO CEO have said, GPL kills software industry!
More beauracracy has always helped in the past. Let's make sure that all software has to be approved by a baroque panel of arbitrary, disaffected drones. Software quality is sure to skyrocket!
Does narcissism count as a hobby? --Shawn Latimer
"In other words, would it facilitate or inhibit the creation of good software?"
Good question!
It would probably help facilitate good software creation and hopefully do away with companies who do as little work as possible. All they do is just enough to satisfy their contracts and could give a damn about the actual product and whether it worked or not!
Having been on both the hardware and software side of the business, the reason the hardware side goes through so many certifications and steps is purely financial. Building the board the first time is not just the same amount of logic but also checks for interference, electrocution, MTBF and usability. All this takes additional time and investment. If you produce a bunch and stuff goes wrong, fixing it is costly but you can also hurt people. Even liability insurance is more expensive because an inert CD just can't do much damage, but a loose wire can kill.
Every step of hardware is carefully vetted because mistakes (and even success) are so expensive. That, in my opinion, was the huge benefit of computers: they can adapt to your needs by loading cheap software.
{software manufacturer holds fingers in ears}
La La La...I can't hear you...La La La...
*whup* "Get along, little electrons. Heeyah!"
Not so with software. You can't know what hardware the end user will use. You can;t know every little idiosyncracy of every private network on the planet. You can't cover every edge case. Standardized testing like hardware can be put through is far less meaningful in such an environment.
This is not to say that testing, particularly thotough and thoughful testing is not desirable, I just suspect that it takes something other than a cookie cutter approach to test software thoroughly.
"Talk minus action equals nothing" - Joey Shithead, D.O.A.
"Talk minus action equals
It is the Project Managers responsibility to get the customers requirements correct, it is also their responsibility to ensure that the requirements are met through automated functional level testing.
cam--
- who will pay for the testing/certification process?
- will it have to be repeated for every minor version or every major version?
- Are you talking commercial software, non-commercial software or both?
The answers the the first two questions are obvious and make this a bad idea, Major s/w releases - like new MS Win/Office releases, Samba, KDE, Mozilla, the kernel . . . - go out for beta-testing by people who often know what the hell they are doing. Making that a necessity for small products (who decides what is small?) is not practible.Mielipiteet omiani - Opinions personal, facts suspect.
This will not make software better, only make it harder for free software developers and small software companies. Will slow the development process and add huge expenses.A way for big corporations to controle the software market.
...the free market is the solution.Yes, it's reasonable to have certification to check the product is safe, but that doesn't really apply to software. If the product is useless for its intended purpose or unreliable in a safe way, the consumer should make an informed choice and chose an alternative product. If all available products are useless the consumer should make an informed choice if they can do without or put up with the crap that's available. Any sort of certification is expensive and ineffective compared to comparitive reviews of the different options.It'll also tend to involve a fixed standard that will be hard to raise; there'll be a long time when new essential features aren't being tested for.
In soviet russia stale jokes recycle you!
As it applies to this situation, you know that your hardware will not be modified by the end-user, short of them taking a sodering iron or laser to it, and you probably don't have market approvals for that.
Software isn't the same - the end user (or others) can fairly easily modify it to operate in a manner it was not intended to, and there's really no way to guarantee what happens to bits on the user's storage media.
paintball
If Windows was a car, Microsoft should ask every copy back to repair, but no: those XP computers keep messing whole internet down.
You need approval for consumer hardware so that you don't kill people.
Bad software may have driven people to suicide
but I don't imagine there is any precedent for
changing the rules for software.
You can't (unless it's software that has a
real 'life-or-death' aspect) compare the
requirements to hardware certification.
Where such certification is required, the
software is produced by companies with big
bucks to invest and customers who are prepared
to pay what is costs to produce certifiably
good software.
Before anyone else jumps in; I know 'certifiably
good software' may be a pipe dream, no matter
what you pay for it, but that does not dismiss
the argument!
It's hard to test software for every possible use of it. Maybe for very specific propriatary software you can test every possible use and senario, but try testing everything you can possibly do with windows. Though you could force a company to test the hell out of specific uses of the software, like security, and possibly get certain aspects improved while other less essential areas just slide on by. However, this will never happen, as it would slow down the release and development of new software. Software companies can dump a lot of money into politicians and their campaigns to make sure they don't pass legislation making this kind of review mandatory for software. Look at cigarrettes. Their lobbyers have kept a deadly product with no redeaming value on the market, and it's less strictly regulated than meat or milk. Money buys everything, and Bill Gates has a lot of it.
The biggest problem I see is what type of software requires pretesting? If I include javascript on my webpage do I need to get my webpage preapproved? If you say webpages are exempt, they what about full blown web applications that are written in java and/or javascript. It would be next to impossible to decide when something switches from a "macro" to a "program" because there are applications that cover the entire spectrum.
I wonder how many bugs a independent tester
would find if they were to test Windows before
public release.
Would sure save the world a lot of pain, reboots
and worms.
how small is infinity?
The hardware approvals include functionality tests that ensure that the product works as intended in any way the user would handle it (even unsuitable use).
You can get that in software, but your gonna pay for it. There are contracts for medical, government, military, transportation, etc that say that the software will work(tm).
Would such approvals for commercial software improve the quality of the products, including minimizing the risk of data loss and heightening the security? In other words, would it facilitate or inhibit the creation of good software?"
Would it improve quality? Of course. But I can't think of any consumer level software that a) costs a significant amount of money and b) is of such poor quality that the customer needs some kind of preemtive certification saying its OK. (No windows jokes, please).
Software would cost more because of it, and I seriously doubt it would overall improve quality. Not too many ppl have THX certified home theaters, but many have hts and like them ok, and much more just have a TV or nothing.
Btw, the toy this guy is developing is pretty cool. Check out the samples before its slashdoted.
What of the Good products leading to a massice industry and then stagnates?
BTW, this comic comes to mind
Well, part of the reason there so much more upfront requirement for hardware than software is that it's a LOT easier to fix SW problems that arise than HW problems. You find a SW problem in 6 months? Make a patch available. You find a HW problem? Have everybody rip out their boxes and ship 'em back for replacement/upgrade. Whole different kettle of fish.
Software Testing/Quality Assurance is supposed to perform this function.
The problem is often insufficient tools.
The company I work for as a Software Test Automation Specialist is looking at WorkSoft Certify and we like what we see, except the price-point (approximately triple our current tool: Rational Robot), however, that is currently in negotiations.
This user account is inactive account replaced by the PDA
Haha sorry, I meant that if there were market approvals for software, OSS would be dead in the water because it sucks so much that it could never meet them, not because commercial software would be conspiring against it or anything... you can mod me back down now :)
This is not meant as a joke. I am Chairman of the American Republican Socialist Party, a member of the Irish Republican Socialist Party, the Irish Republican Socialist Committees of North America, a supporter of the Scottish Socialist Republican Party, the INLA, FARC-EP, ETS, and a venomous anti-capitalist. Communism for ever. Don't prop up free software if you're not going to prop up Communism. GNU is the proof that Marx was right.
Go to a library and find it out for your self. God all these losers come in and ask stupid questions which they could've answered if they got off their asses and looked.
I recently met two people from here at an IEEE Computer Society conference. I had never heard of them before, but they are funded by a grant from the DOD to improve Software Engineering practice.
t ml
Anyways they have come up with what they call Capability Maturity Models for different aspects. One that they have come up with is for software acquisition:
http://www.sei.cmu.edu/arm/SA-CMM.h
Most software goes through a few stages of testing, namely QA (or QC depending on your favorite acronym), alpha then beta testing. At that point it is deemed acceptable and released to the public. The nice part about software vs. hardware is the ease of upgrading, so it doesn't have to be 100% out the door.
Plus, who wants to build a hardware web server, application server, etc? Would it be fast? Yes. Would it be maintainable? No. Could you design it so you could add dynamically to the hardware? Probably. Would that be insanely expensive and take forever? Yes.
You get the idea. Software generally is an application of quick design meant to short-circuit designing things in hardware and give the option of easy upgradeability.
If your real question is, why is most software so crappy... if it's open source, fix it!
While it would of course be nice to have software without errors, the problem then becomes price and time to market. There is a saying in the project management world, "Speed, Price, and Quality. Pick two of the three." I've found this saying to be pretty accurate.
As consumers we tend to want everything now, and cheaply. This would obviously push down the quality of the product. Being an impulse buyer myself I find most products pretty much suck these days because manufacturers (of software or hardware) know that we want everything now and cheap, so they don't focus on quality at all, just time to market. I'm of course exagerating a bit, but it does seem consumerism kills quality.
This is similar to the question: "why can't we have warrantees for software?"
The problem with software is that its level of human-interface complexity is many orders of magnitude greater than that of hardware. This tremendously complicates the process of evaluating the binary question of whether it's "fit for use" or not.
It's one thing to twiddle few controls on a VCR and pronounce it "satisfactory for its specified purpose".
But software follows a fundamentally different paradigm -- software is more like a collection of tools that may or may not be helpful, depending on the task.
Take a grammar checker, for instance. Some people can get use out of a grammar checker, and others (like me) have style that causes them to spew out total crap all the time. How could you develop any kind of objective measurement about whether a grammar checker "works" or not?
Figuring out if software should bear a sticker saying that "this product works ok" is simply not a practical pursuit. It's better to view software as a tool that might or might not work, depending on individual circumstances.
That's why we don't have software warrantees, and that's why we won't be able to achieve a "seal of approval" process for software in general.
Both in conjunction might lead to (unfair) exclusion of unbeloved competition.
CC.
TaijiQuan (Huang, 5 loosenings)
Any form of semi-manditory software QA, like UL for code, will happen over the rotting corpse of Bill Gates, Bill Joy, Steve Jobs, and Robert Young.
A UL for software would greatly hurt FOSS, as few FOSS projects could afford the cost to get registered. No stickee, no washee - you would find GREAT resistance to deploying FOSS.
www.eFax.com are spammers
Safety critical software such as aircraft software has to be highly checked and certified. The problem with software which does not happen with hardware is that a a change which is supposed to only fix problem (a) means a recompilation, and there is always the chance that function (b) has been screwed up, so generally we have to restest just about everything, whatever the change. It costs much more to test software to a good standard, than to develop it. We reckon that the minimum change for engine control software will take 6 weeks of 18 hours per day testing to validate. And we DO find unrelated faults, which occur occasionally.
***You learn something Every day. And then you die.***
Nice way to improve your google ratings ;-)
It depends what you mean by "market approvals." If you mean mandatory, FDA / FCC / FTC style neck-stomping (which is what it sounds like you mean), then consider these actual responses from the Council of Wise Men, circa 2039 (they fell through a small time-warp, one of the many features in Gnome 6.2, which came out the previous year).
- "Your window manager isn't friendly enough to people with one hand and colorblindness. Sorry, you'll have to try again before you can legally release it."
- "Your human interface guidelines vary from ours. Sorry, you'll have to make yours conform to ours, or file a request for an initial variance hearing to take place within 90 days; at that juncture, an administrative board will determine whether a variance will be considered, and may at its option propose alternative remedies."
- "Your word processor saves in a format that's different from the Officially Approved Standard v1.39c (revised), and does not save into one of the other previously approved formats. Since it's new, you can't claim grandfathering protection either. Sure, you claim it's a transparent, XML-based, human-parseable format, but rules is rules. Sorry, you'll have to have your software re-evaluated by The Committee."
- "This game features images we think are offensive. You'll have to revise them before this can be released. Protection of children, dontcha know."
Trying to narrow this question to "commercial software" is a difficult task, too: remember, software can be written by people who don't program for a living, open source / Free software can be sold (and is therefore commercial, though distinct from the current conventional closed-source software business), and software not intended as "commercial" (is perl commercial? Not per se, it isn't) is often used in commercial settings.
Do you really want to limit the field of software to those pieces of software which have passed a bureaucratic approval system? Or to programmers who have buckled under and agreed to some imposed vision of software design? A lot of very nice open source software improves primarily by being tested (read "dragged through the mud") while in its raw state. Some of it might even be very useful in early stages, no matter how ugly it is, and since there's no accounting for taste, I would take umbrage at any particular list of requirements that tried to determine in advance how software should act. (Emacs?)
I like the fact that computers are flexible, and there's a robust, heterogeneous environment with lots of languages, security models, development styles and programmers. No system of centralized control *with the force of law* will do anything but weaken this.
On the other hand, there's plenty of room for voluntary, peacable information sources that do nothing but provide informative ratings, review compliance with currently conventional / acceptable standards, etc. Consumer Reports, Underwriters' Laboratories, Good Housekeeping Seal of Approval. This is also something Insurance companies do, and a reason that there's "hacking insurance" as featured on Slashdot a year or two ago. If a business cares to heed, or to act on, any of these sources' advice, they're free to and it may benefit them in the long run. I certainly don't want products to require the Good Housekeeping Seal, though.
[heart on sleeve]
timothy
jrnl: http://tinyurl.com/c2l8yr / foes: http://tinyurl.com/ckjno5
I am a Controls Engineer. One of my duties is to write software for automatated manufacturing equipment. I am going to have to do FDA validation on my software for functionality, mostly for faults and fault recovery.
my $.02
I know what the Internet is, what the hell is this Interweb business?!
Not only do we need Software Approval, We also need Posting to Slash Dot approval. Be the first one to form a committee and pass Software Laws.
Hardware testing is done because there are a number of Government regulations that require it (FCC, CPSC), product liability requires it, and the common law treats hardware just like any other property. After those minimums are met, the free market kicks in, driving toward better reliability/lower cost/pretty design - whatever the market wants at a given moment.
Software is a new animal, and neither the government nor the common law has caught up with it. (Hollerith cards @ 100 y/o vs. the Code of Hammurabi @ 1000's y/o.) As a result, software makers have had free reign in the market, because there is no mechanism that sets minimum standards. Seemingly absurd licensing practices are not challenged because there are few on-point cases in the common law and our legislators simply don't have the mental prowess to see software as a different class of stuff - part real property, part intellectual property, part printed word, part device. Nor do they have any incentive to work the problem out.
One of 2 things must happen to get software on the same footing as hardware:
1) Legislative action addressing the fundamental nature of software and how the law will treat it (I personally favor killing both software copyright AND patents and coming up with a 3rd classification)
2) Bold precedents in the common law to extend existing legal concepts to the current situation - unconscionable clauses applied to EULA's, detrimental reliance, or recongizing tort claims by users against software makers.
Either one will take someone, either judge or legislator, with some real balls. Other than that, don't hold your breath.
"As God is my witness, I thought turkeys could fly." A. Carlson
...unless that software controls the confinement ring in your homemade fusion reactor....
Winged Power Photography
Indeed:
.
Your questions is the kind of question that:
A) Children in their wide-eyed innocence would ask. or
B) Blooming genius would ask out of fortituded and courage and be shunned
I beg you to take the compliment that A) and B) bestow upon you.
To answer you;
your simple question begs a complex answer,...here goes,...
Hardware is a physical commodity whose use is subject to, The laws of thermodynamics, the Law of Gravity , the restrictions of the Laws of Entropy and choatic disorder, laws of motion, etc. in truth, anything that is itself physical matter or electromagnetic energy may interact with this physical object and derange it into a source of physical harm to another physical object/person.
Hardware can touch you and is seen, felt, touched, etc., etc., etc...
Software can -CAUSE- physical harm, through function or malfunction, through placement or misplacement/displacment etc., etc. but is not the thing that , you guessed it, made actual contact.
Accident investigation can be expensive, yes? Yes!
But imagine the expense of PROVING that software was intended, or intentionally recreated or created, copied or reverse engineered to introduce fault that led to harm or catastrophic event. Multiply this expense at the end and beginning,..huh?
At the creation of said device and at its discovery at the scene of a mishap it must then be examined for possible even probable fault against a model that should predict said apparent failure EVEN THOUGH said model cannot completely emulate all possible causes of fault/failure. ( a hackers-black hat- code as opposed to a hackers - white hats- code) Each has their own style and methods to achieve a particular end. Modern software construction is not so strictly controlled/modelled that there is only ONE WAY, one predictable and inescapable way to make a function in cyber reality / software development - see what I mean?!? The ability to check software would require software codes of conduct WAY PAST Posix or any present idea of standards or conformity.
To prove something or test something we must have limits on what that ' something' can do or be even if it can do or be a lot of things,...software does not have that and proprietary software makers will spend megatons of money to make sure such standards NEVER come about until they( one company) owns the entire theater of software deveopment: Examp: Microsoft helped create the POSIX standard but their own software is not POSUX compliant,..sheeesh!
I've never had a problem with a console game.
Not even Pokemon?
Dictatorship of the proletariat is still dictatorship. Does it matter if the corporations control the totalitarian state, or the totalitarian state controlls the corporations? The result is the same. The elite have all the power and wealth, and the masses have nothing.
Without democracy, freedom, and public ownership of essential services, the people are bound to tyranny. Anarcho-Syndicalism is the answer.
Idealogically speaking, it sounds like a very good plan. My problem with it is more political. Who comes up with these standards and polices them? Microsoft? The government? Its all pretty subjective and I could see alot of smaller projects (small companies, many open source software projets, etc) get crushed because of a large organization's interests. I'm scared to see who gets what control in enforcing Microsoft's "trusted computing." But that's a bit off topic...
The best model we can probably hope for is:
1) Have a well known peer review system where potential users of the software can see the advantages and disadvantages. I'd be happy even with a more centralized repository of professional reviewers.
2) Some maintenance and policing mechanisms so that the review system doesn't become flooded with disinformation
3) A software movement where more software (especially windows-based proprietary software) is designed using already existing and well tested software components and frameworks that can be scrutinized individually.
Well it all depends on who exactly controls the software world. Innovation doesn't always fit inside the box as we all know. If we limit our creations we need to think of specific guidelines to which that limitation can uphold.
Nintendo Seal of Quality
Same thing could be applied to software.
Javascript + Nintendo DSi = DSiCade
The problem with consumer testing requirements is that often that raises the cost of entry for the small guy. On several occasions I have talked to small inventors who found FCC and UL certification of electronic things (even things that are really unlikely to possible cause fire, shock, or interference) to be an incredibly high cost barrier. We're talking about a several thousand dollar certification process per model or revision. Unless you are pretty sure you're going to sell at least several thousand units, you really have no other choice but to license your design to some larger outfit.
I have the feeling that large commercial software vendors would with great glee lobby to have the price of the certification process raised as high as would be needed to shut out open source as well as small mom and pop commercial operations.
This can also lead to plenty of protection-racket like problems. You can still go out and by a non UL approved floor lamp, but if you read the fine print on your fire insurance, you'll see your coverage is void if you operate such a thing inside your house.
---
Play Six Pack Man. I
...with iChat A/V and Safari. Apple did a public beta release of both products. I'm currently using the final releases of both and they work great. I have literally NEVER had problems with either product. One very nice feature that was built into the betas was a very convenient "bug report" button.
Now I'm not saying that EVERYONE should release their betas to the world, but maybe a limited public beta would be a good idea. iChat and Safari were planned to be free/included in the OS products from the get go, so releasing those in a public beta didn't hurt any revenue sources. If you're developing a game or some new app a limited public beta is the way to go. Lucasarts did exactly that with Star Wars: Galaxies. They did a limited public beta. You had to sign up and they only took a limited number of people to try the product out. That way they were able to get REAL user feedback from the consumers. Not just from the QA guys going down a list and testing each component. I read some interviews with some of the game designers, and they made a LOT of changes to the game based on user feedback from the public beta.
This space for rent...
I like the idea in theory, but I don't think that it would be beneficial in practice. I'm a programmer for a mid-sized business, and I'm already hugely annoyed by bureaucratic red tape. Why create more?
Instead, what if there was a review body similar to the Consumers Union? They could test and review a variety of software (business, home productivity, entertainment) and produce their reviews similar to the magazine Consumer Reports.
Supposedly, this is what the magazine shelves are already filled with. In practice, those magazines are concerned only with following whatever is hyped as "the hot new thing", instantly forgotten after its release. Or sometimes recalled in the December-issue "year in review".
Consumers Union, on the other hand, is not concerned with "sneak previews" of new products. Instead it reviews stuff over the long haul, bringing the name of the manufacturer back into discussion with each new review. It asks the same review questions (does the reality match the marketing), but after the product has already been in use by consumers. They pool their member's money in order to purchase actual products, which they then test to the point of destruction.
This kind of review is very useful to people who aren't addicted to buying the latest gadget on its release day. For people who are addicted, they don't have the moral authority to blame the manufacturer for the bad stuff they're selling. Stop buying it first, then complain so that neophytes aren't suckered into becoming new addicts. (For instance, I never paid George Lucas one red cent for his Clown Wars. I boycotted after the disaster that was Episode I. If it's garbage, then stop buying it.)
- Terry, The Mellow Tiggerby software. Thank you, come again!
Please suck me.
But it struck me, why are there only market approvals for hardware and not software?
What approvals are you talking about? Certainly UL/CSA will prevent poor design from burning your house down!
Or are you talking about those really strict consumer oriented approvals--like Better Home and Gardens Seal of Approval or Approved by the American Dentistry Assoc. These are just marketing schemes to allow a logo usage with practically no guarantee of anything.
My cookbook recipe software database is certified with the Betty Crocker Seal of Approval!
Seriously, Microsoft submits its stuff to many so called independant testing laboratories, etc. There is the Windows Hardware Quality Labs (WHQL) which guarantees your signed driver will be months older than the one you need to fix the latest bugs. Is this really helping anyone other than Microsoft Tech Support narrow down the number of supportable combinations?
I know that this argument sounds rather hollow in the face of the enormous commercial success of certain error-prone software and operating systems, but...
The best consumer market approval should be (and will probably always be) the almighty consumer dollar.
We're not talking about machines that can be quantifiably tested for quality control in labs and upheld to rigid engineering standards. We're talking intangibles. Creating and enforcing regulatory standards for bits and bytes is far to complex and ambiguous a task to be trusted to the government.
If you build safety critical applications for a living, you are already aware of the hoops you have to go through to get the software approved for use. Definition of "safety critical" for the uninformed: You screw up, it gets through ... people die. Remembering that helps to keep things in perspective and helps to ensure that you develop software the *right* way even if it isn't the cheapest.
Weapon systems S/W -- DOD approval
Commercial Avionics S/W -- FAA approval
Non-military Nuclear Systems S/W -- DOE and other agency approvals
Manned Spaceflight S/W -- NASA and I mean *everybody* at NASA (or so it seems)
At least one major financial package vendor does that now. I've beta tested one of their newer products repeatedly, as a user, and given them real usability and bug feedback, some of which they've actually incorporated into the product. So, this *does* happen, but there are varying degrees. For example, this one package was slated to go through exactly 3 iterations in beta, come hell or high water. Well, the third try out, there were still several important bugs not fixed, which were fixed between beta 3 and release. As any good developer knows, you do *not* fix bugs then send it to market without first going through Q/A and/or another round of beta.
Relpacement Cost, Liability.
If the hardware futzes up, it's not an internet download, or a "I'll mail you the CD" step away from recoving that upset customer.
Plus, it's very hard (although there's probably a VB command to do it) for software to expose it's users to UV radiation, microwaves, flying parts, etc.
To use the same product as the poster references:
Imagine his product goes haywire and blasts out a frequency deafening the user. Now imagine a piece of software trying to do the same. The software will be limited by the "certified" speakers.
It's not software that electrocutes those sloppy with their coffee. It's not software that interferes with someone's phone call via EMF down the hall.
That said, it would be beneficial for testing to be done on software before it is unleased on the masses, but the majority of software bugs lie in corner cases or unexpected interations (hence ones that you wouldn't test for anyway).
If a company or organization out there were setup a clear system where software makers had to meet a clear set of defined standards to receive their seal of approval and enforced their standards strictly with in-house testing, then I imagine that they could become a unofficial standard in the software community. Much like Consumer Reports is for home appliances and what not.
Diplomacy is the art of saying, 'Nice doggie!' till you can find a rock.-- Wynn Catlin
The problem is in defining what exactly consitutes a GOOD approval process for any given piece of software. It's often easier to define this for hardware. You define proper operating ranges and how the thing should respond when used or abused in specific ways, and the result is often a product that will behave as expected in almost all realworld conditions.
In software the failure cases tend to be more open-ended. The set of all possible types of input to the system may involve infinite permutations. You can only test the ones you thought of, and if you thought of them they're probably handled correctly in the first place. If you're developing a commercial app you have to deal with the fact that the hardware and OS your program relies on may in fact be subtly flawed. Also, any set of tests for a piece of software must be custom designed for that piece of software.
Ideally software testing is more of a verification process than a corrective process. Your tests should (but rarely are) be created at the same time as your design and run continuously throughout the project lifecycle.
If you are asking questions about product certifications, then you need to talk to a good insurance broker about product liability and guarantee policies. The broker will do a great job of explaining how your firm can be held liable for malfunctions, injuries, etc... all of wich the certification process is designed to help with. This testing is an important step in that:
a) it helps you determine specifications that become important limits for warranties
b) it ensures you will have minimal exposure to suits.
c) it helps the insurance company underwrite your liability policy.
-- $G
You can't easily patch hardware. The consumer:
with software once you identify the problem and fix it, the customer might be out of commission a half hour while the download, install, and possibly reboot the machine.
In the Windows world, there's always Windows Logo certification.
Of course, it doesn't guarantee that the software is especially useful or bug-free, it simply means that it follows certain user-interface standards (whether those "standards" are ideal is another question, but consistancy is important). Of course technically, Office 2000 and Media Player should not have passed the certification, but that's another story...
The point is, as others have pointed out: hardware testing is mostly about safety and interference concerns, none of which really applies in the software world (barring specific examples like medical, aviation, or RF software, which already are required to meet certain criteria).
I don't see any standard hardware certifications that could be applied to software (usability, design, functionality, etc). So I'm not totally sure what the OP is asking about...
Add to that, much of the time these days, hardware comes with software; be it firmware, drivers, or a full-blown OS and hard disk (set-top boxes, etc). And many times a very high-quality piece of hardware comes with a buggy, closed, crash-prone driver that makes the thing more useful as a paper weight. Or maybe I'm just bitter about my Lexmark X125...
If you want to know that a particular hardware device is a good buy, high-quality, easy-to-use... you either test it out yourself, or you find reviews from magazines or other sources you trust. You ask a friend who has one. Or you buy hardware from a company you trust, and avoid companies that you don't.
The above paragraph works equally well if you substitute software in place of hardware. Thus, I don't feel we need any standards-bodies (or much worse, any sort of mandated certification procedure) for software any more than what we already have, in those cases where it's life-critical.
NGWave - Fast Sound Editor for Windows
Don't be surprised if you see a bill floating around Congress suggesting that software to be sold must meet pass some sort of regulation testing that (gee, how about that!) open source software will have a very hard time passing. Microsoft has in their possession a nice crop of congressmen, and since neither their illegal monopoly tactics nor the msft-funded lawsuits are slowing open source adoption, expect legislation next.
BTW for FCC part 68 testing, stuff connected to the telephone network, there are some specific tests regarding the way the firmware works. So yes, there can be some overlap.
"Eve of Destruction", it's not just for old hippies anymore...
If software development is in a commercial context, then making it bulletproof is going to happen in proportion to that being a requirement.
For example
- Your likely customers know the difference and will pay more to get a robust product rather than a fragile one.
- Internal standards mandate bulletproofing, at least against Oopses that will get your ass sued, even more strongly than the urge to get the product shipped this quarter.
- External standards like the software Underwriters' Lab under discussion become well enough known that Joe Consumer demands the seal of approval even if he doesn't know what it involves.
But if bulletproofing isn't in the spec it's unlikely to happen. And as a side note, the acceptance test is the spec.
Caution: Do not look into laser beam with remaining eye.
Anyone ever try to return open box software? Good Luck
You could always claim that you didn't agree to the EULA that the program presented when you tried to install it, and that this obligates the retailer to offer at least store credit.
You might find it easier to get your business
off the ground if you were to manufacture
and market in countries that don't suffer
from eurocratic parasitism, such as China
and the U.S.
-I like my women like I like my tea: green-
Not so with software. You can't know what hardware the end user will use.
If it's a fixed system rather than a PC, you know exactly what hardware you're running on. This is part of why console games almost never crash compared to PC games.
The probem is that the word "software" is essentially meaningless in exatcly the way the word "religion" is essentially meaningless. I use the phrase (if I may be allowed to coin a phrase in public) "nomnitave adjective", or just plain "ad-noun" to refer to this problem.
Consider the adjective "good", we all know how to use this word and we all know when we think something does or doesn't deserve the label. Fair enough.
Now move on to the word "religion" there are all sorts of things that can be religion to all sorts of people. But as soon as you try to codify the difference between religion and not-religion you get into trouble. Like pronography, you know it when you see it, but to others, the evil alien Xenu and his penchant for filmmaking are a religion, a position with witch I would tend to disagree.
"Software" is likewise sufficently vague in construction and scope. In its meaty center you are on firm ground, but as you aproach the edges things get abstruse and indeterminant.
Consider that there has been, to date, no instance of someone implementing in software, something that was not (or at least could not be) implemented on paper in the real world. Start with easy analogous items like solitare. The game exists in both forms, but there are versions of the game on the computer that would be impractical with actual cards. You could *play* them with real cards, but the experience would be unweildy. The thing is, by extension, the most obscure exercise in pointer indirection is essentially analogous to using a card catalog in a library. Cross referencing and doing lookups. Chain of evidence, data integrety. eBay... All of it exists out here first.
So, is there one methodology for validating all software persuits? Should their be?
No and No.
That method would first have to exist as a means to validate all human endevour, and then it would have to validate that the software properly performed the analog of that endeavour.
It's impractical.
When the word "software" is applied to a "real" noun, e.g. "Accounting software" "database software" and so forth, you get your first (only) glimpse at a rational subset of operations that can then be considered and validated.
"Management Software" is a double ad-noun, it must be combined with something else, "database management software" "finincial management software."
The unending chain of ad-nouns is where people get lost in the great fire swamps... "business management software"... ouch. A tripple ad-noun. how do we tell "good business management software" (a quadruple ad-noun 8-) from "bad business management software"? At these points we are speaking with aparent spesificity, but still managing to say absolutely nothing spesific or concrete.
So...
There should be, and are, ways to tell if the particular thing you are codifying into software is being codified correctly. Unfortunately (for some) that requires knowledge of "software techniques" and the spesifics of the thing being codified.
All else, that is all "official procedure" that isn't talored to the particular project, is just ISO9000 documentary masturbation.
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
to insert software into your backside.
Last thing I want to do is get FTC approval for every program I write!
Isn't the failure of communism the fact the humans are not "perfect" and actually desire power (money can be power) over others?
No Government was cited as a benefit of socialism/communism. I thought Government was for the protection of the people from other people. I can pursue work or dreams far better if I don't have to constantly worry about my own protection.
If people were "perfect," it is could be said that no government was necessary, but certainly no communist or socialist government I know of has ever achieved even a slight decrease in government, let alone none.
Any time you have something of value, some one will try to take it from you. I can program a computer and thankfully I trade this asset for other things of value to me (food, house). I am glad a farmer has something of value (food) that he can trade, because I could not easily grow my own food. Here are two people with something of value of which they both worked (and traded valuable time). There will always be someone with some measure of power over another. They would have to be "perfect" to not exploit that power. No form of government will change this. We can only try to protect ourselves from it.
Even if we all only did farming and all people shared all produce equally. I'm lazy, I do not work as hard as the next person. Do I get an equal share (unfair). If I get a share equal to some factor of the work I put out, you then have control over one person by another (the person determining the percentage). But then were does that unallocated produce go? Someone will get it and they will have power over those with less. Finally what about our talents? More food allows free time to create something. A weapon to take produce without working perhaps? Gangs of people would form because robbing is far easier than working.
There really is no end to this discussion because people are imperfect. For every benefit of a form of government, there is someone willing and able to exploit that for personal gain. If I could exploit something I have so that I would not have to work ever again, I would, and everyone I know would (with certain moral limitations).
I was once part of a trade union, the people at the top made 500 times more than I did. A trade union is merely a way in which one person oppresses another. If every got paid the same, then everyone would want to have the easiest jobs and the people that have them would then have something of value (and power) from which they could trade for something else of value. This is capitalism and it happens everywhere, especially in between one person and another. For any rule, there are more than two people willing to break it for gain.
I am horrified at the amount power large corporations wield over the people elected to take care of my needs and protection. This should not happen. I challenge you to show me one form of government that cannot be corrupted by corrupt people. Even a system of beliefs or religion that preaches equality and egalitarianism can be corrupted by leaders and others with power.
Sorry for my rant. I do not have the answer, but Socialism/Communism is not a magic bullet.
It is dangerous to be right on a subject on which the established authorities are wrong. - Voltaire
By your logic, the New York Post newspaper (published by Rupert Murdoch) should be enjoined from publication because their product isn't fit for informing the public of what's going on in the world. Fact is, they have the right to print and sell it even if all it's really good for is wrapping fish.
I run it on Linux. I don't know what you were trying to imply with that half of the statement but the game sure as hell isn't flawless.
It crashes for me on Linux in several completely reproduceable locations in the game. One of them was right at the end of the first half of the game, and I could guarantee it would crash every single time. We're talking segfaults which make 100Mb corefiles, just a little too big to mail to Bioware.
What I did to get around the problem was to save the game, copy the savegame to Windows, play through the movie, save the game, and copy the savegame to Linux.
Karma: It's all a bunch of tree-huggin' hippy crap!
You can find out how to get those approvals on the respective websites.
If you mean something else, what would that be?
Tech Public Policy stuff
Having trouble with hardware regulatory issues? Just issue your product as a software plugin. There are several standard formats (DXi, VST etc.) that work with different software platforms. You'll probably sell more that way anyway, plus you can be making bucks (and we can use the cool sounds) while you wait for hardware approvals.
David Hughes
editor, newscienceparadigms.com
om namo bhagavate vasudevaya
is strictly regulated by the FDA. Not only is a software company required by law to obtain premarket approval 510(k) from the FDA before marketing certain types of medical software in the US, but it is also required by law to document and follow a very thorough software development and validation process.
Although this kind of software is usually not sold to the general public, it is used every day in hospitals and clinics to do everything from analyzing bacterial infections to robotic surgery to radiation oncology treatment planning.
I have worked for several software companies, developing software that is considered a class II medical device. Not only did we have to completely document everything from requirements to validation testing, but we had to keep the documents themselves under version control! Knowing that your software could mean life or death to someone, really puts the software engineering process into perspective.
Because it is difficult to burn, lacerate, irradiate and/or electrocute yourself with a piece of PC software.
I'm sure it could be done, but you'd have to be trying very hard. Software standards would be nothing more than a tax grab and a pain in the ass.
Please do not wish for more government involvement in the computer industry, we have enought trouble with the bastards as it is.
I've been following this guy's project (Droid-3) for probably 2 years now waiting for them to actually sell these things outside Denmark. In fact, they could probably sell all the units they could produce in a fairly short amount of time. The demand for these types of quirky boxes is actually quite high.
I keep thinking they could bend the law in some way to export these thing. I can't imagine some of the modular manufacturers like Blacet and MOTM have to get their stuff certified by anyone. Maybe a kit form would be the answer (as long as its super-easy to build).
Anyway, best of luck getting this box out.
Software doesn't kill people -- hardware does.
-- Jack
Sorry, I'll bite. That's all good and fine in theory, but in practice that's another story.
I do not regard stuff like a game crashing every half an hour as being caused by "unreasonable" use. Or for example: which of Fallout 2's many script bugs were "unreasonable" use?
I also do not regard stuff like "oops, the user used the back button in the browser" or "oops, the user opened a link in another window" on web sites to be "unreasonable" use. Use of bog-standard browser features, that have been around for more than a decade, _is_ reasonable.
It's the retarded ex-burger flippers who moved into software development during the dot-bomb that are unreasonable there. If Joe Coder can't use the HTTP session right (yes, including supporting multiple windows _and_ the back button) then the only "unreasonable" part is Joe Coder still being employed. Period.
Etc.
Basically I don't know about mandatory government testing, but I would very much like to see some legal responsibility that can't be waved away with an EULA. Some part that says that your responsibility is to the user, not just the current "hey, we only need to take their money. And then who the fsck cares if it works?"
I'd also like to see some legal responsibility for the marketroids, same as in any other industry. If you say that a piece of software does something, then it damn better do that, to the letter. Just like if a steel company's marketroid says "we'll sell you 10 ft long, 1 inch thick beams, with 0.1% carbon content", you can sue the pants off those guys if it's only 9 ft long and with a completely other carbon content.
And yes, I _am_ a software developper. It just makes me sick to see what this industry has turned into. It's the biggest snake oil operation in history. Hundreds of billions of dollars worth of snake oil every year.
And this doesn't come out of nowhere. It's draining the rest of the society to keep a bunch of cheats, liars and leeches in business.
A polar bear is a cartesian bear after a coordinate transform.
Depends on how it is implemented. If (as I understand is the case with hardware) _every_ software project is required to go through a certification process, which requires paying, and obviously has to be done for each version, I think it would be a very bad thing. It's easy to see how this would kill the development of free (as in beer) software, concentrate power in the hands of the already-established software houses, and stiffle innovation.
On the other hand, if there is (and I suspect there already is) a certification program through which it is possible to obtain a seal of quality, that would be a Good Thing. Companies could require software considered for use to have such a seal, and even fund obtaining the seal for software they think is interesting but doesn't have the seal yet.
Come to think of it, maybe it should be this way for hardware, too. The reason certification is mandatory is probably to protect customers and the world from faulty hardware - but I maintain that faulty software can be just as dangerous.
Please correct me if I got my facts wrong.
Several software process certification and maturity measurement programs exist in the software development industry. These include ISO 9001 and CMMi. Although these certifications don't apply to software products themselves, they apply to processes. In order to achieve a higher rating, the organization attempting to be certified must document their processes in such a way that describes how they go about creating a product of measurable quality and reliability. Such processes involve identifying requirements and documenting how these requirements were met and verified. I don't know how many consumer software companies have these type certifications.
Software's much more complex than hardware. How would you prove MS Office correct? How would you write down a definitive treatment of what it *means* to say that MS Office is "correct"?
You can prove the correctness of, say, the software in a home thermostat because it's almost entirely out of the user's control and therefore fairly simple. The trend in end-user software is toward ever more adjustability, and *nobody knows* what a given customer is going to do with it.
(There seems to be a problem with the middle ground here. Computer hardware is by definition so open that nobody knows what users will do with it, but it's *so* open that we can readily ignore the parts we obviously can't predict and concentrate on whether it executes the instructions defined for it. That thermostat is so simple that we can analyze it completely. But in between there's a region in which we don't have the tools or the brainpower to completely analyze the system, but nevertheless we somehow believe that it must be possible to do so, and we get upset that it hasn't been done.)
I think software standards WILL happen. All it takes is for some major catastrophe to occur. Modern software has so many bugs that it's amazing that some companies get away with it.
Sivaram Velauthapillai
Sivaram Velauthapillai
Seeking the meaning of life... @slashdot of all places
...like the software didn't hijack file types, or otherwise fuck up my settings -- and that it uninstalled cleanly, without leaving chaff all over my hard drive, and crud in my Registry. I could go further, demanding that all data and settings go to standard locations -- and that directory trees are easy to understand, with names that make sense.
But nah, as long as they're writing Windows(TM) software, they can write any old shit they want.
9 steps to greasing your anus for Yoda Doll Insertion!
v 4.02.0
$YodaBSD: src/release/doc/en_US.ISO8859-1/yodanotes/9steppro cess.sgml,v 4.02.0 2003/12/05 14:15:45 tsarkon Exp $
All in a days work with a Yoda figurine rammed up your ass.
I HAVE A GREASED UP YODA DOLL SHOVED UP MY ASS!
GO LINUX!!
Tux is the result