Slashdot Mirror


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?"

55 of 227 comments (clear)

  1. Probably would by KingKire64 · · Score: 4, Interesting

    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
    1. Re:Probably would by DeICQLady · · Score: 2, Interesting

      The problem with voluntary tho is you can't promise someone will get paid so it would never get done.

      If there were a reliable (testing) house that could offer it at relatively low cost then maybe we could incorporate most types of developement. *shrug*

  2. Is software a bridge or a burger? by Anonymous Coward · · Score: 5, Insightful

    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!

    1. Re:Is software a bridge or a burger? by Anonymous Coward · · Score: 4, Informative
      Speaking of bridges...

      http://www.cs.bell-labs.com/cm/cs/pearls/sec073.ht ml

      I think every software developer should read that... perhaps annually. :-)

    2. Re:Is software a bridge or a burger? by Frymaster · · Score: 3, Interesting
      and some software is like... a lawnmower.

      ever read the warranty that comes with yr lawnmower? about how it's only valid if the mower is used "reasonably and correctly"? if you run over rocks or now nine foot wet grass, the warranty won't cover damage. most software is like that.

      testing is done for "reasonable" use and the software shop regards "unreasonable" use as being either a) uncovered or b) a violation of the eula.

  3. usability testing? by ljyang · · Score: 3, Funny

    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.

    1. Re:usability testing? by I8TheWorm · · Score: 2, Insightful

      Ahhhh, but....

      Last week I wrote an app for one of my users in about two hours. Obviously, that did not give me time to add exception handling, or really test it, other than the usual "yes, it gives her data, and it looks right."

      She needed it in that amount of time, and I had no choice, other than to say no. So I handed it over with a disclaimer regarding it's stability. This week I'll find time to tune that app up, but who knows if she's handed it off to coworkers, etc.... and in that case, another buggy app just hit the masses.

      I liked the previous burger analogy. All she needed was a burger, not a bridge.

      --
      Saying Android is a family of phones is akin to saying Linux is a family of PCs.
  4. EULAs and No Programmer Liability by Anonymous Coward · · Score: 3, Informative

    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.

  5. Yes, it would help by Doesn't_Comment_Code · · Score: 3, Insightful

    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.
  6. OK - I'll bite - what hoops are in your way? by rcpitt · · Score: 3, Informative
    If you're talking about UL and/or CSA or whatever then you're probably designing things wrong - this is why many such systems use a "wall-wart" power brick since that is all that needs to be certified if the power it puts out is less than 48Volts.

    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
  7. An Open Letter by tds67 · · Score: 4, Funny
    But it struck me, why are there only market approvals for hardware and not software?

    Dear Sir,

    Because no one trusts a hardware engineer.

    Sincerely,
    A Software Engineer

    1. Re:An Open Letter by Anonymous Coward · · Score: 3, Funny

      Dear Sir,

      You're not really an engineer.

      Sincerely,
      A Hardware Engineer

    2. Re:An Open Letter by Dr+Caleb · · Score: 4, Funny
      Because no one trusts a hardware engineer.

      Dear Softwhere Enjineer,

      If it's not on fire, it's a Software problem. :P

      Sincerely,
      A. Hardware Engineer.

      --
      "History doesn't repeat itself, but it does rhyme." Mark Twain
  8. What is a consumer market approval? by UltraOne · · Score: 4, Insightful

    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?

  9. Government Regulation.... uuuuughh.... by Anonymous Coward · · Score: 2, Insightful

    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.

    1. Re:Government Regulation.... uuuuughh.... by RLW · · Score: 3, Interesting

      You have never worked in an ISO9000 shop.
      Of course that doesn't mean that processes are any good. It does mean that the processes are documented and we stand by them.

      There are some good software shops out there that do a good job of vetting their code of bugs: like the guys who make VMWare. Then there are other shops that don't: like the guy who make MS Windows.

      Besides it's too late to require government involvement. The accepted industry practice of putting out buggy crap has already been established with the notable exceptions where NASA(proof that one can't catch every bug) and the FDA(proof that one can wade through immense bureaucratic red tape) are concerned.

    2. Re:Government Regulation.... uuuuughh.... by Matimus · · Score: 2, Insightful

      UL is not the govnernment. Manufacturers decide to get there products certified because they can say, "Hey look it works, and I have tested it using a predefined set of standards that are widly accepted". Yes, it is a pain in the butt. There are instances though where it would be nice. Heck, if a retailer has a choice between two pieces of software that did the same thing, and one of them was "UL certified" and the other wasn't, most retailers would lean towards the "UL certified" because they know that it means a great deal of testing has been done. The way things are now, the software manufacturer just needs to make claims about the utility and stability of their product.

      I think government involvment is not a good idea, but its not required. I think something like UL would be good for software development.

      --
      GENERATION 25: The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social exper
    3. Re:Government Regulation.... uuuuughh.... by The+Vulture · · Score: 2, Insightful

      You've never worked in the cable modem industry.

      While we technically don't have to get approval to sell our products, if we want the cable operators to buy our products, we usually have to get them DOCSIS certified through CableLabs.

      Yes, we can sell them without certification and claim DOCSIS compatability, but the cable operators usually like to see that shiny gold star (so to speak).

      There are companies that submit every certification wave for approval, which is every quarter (and submitting is not cheap).

      -- Joe

  10. Improving the Quality of Software by amplt1337 · · Score: 2, Insightful

    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.
  11. Good idea... by SuperMo0 · · Score: 3, Funny

    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.

  12. what about open source? by Anonymous Coward · · Score: 3, Insightful

    Wouldn't that make it harder for open applications to get in industry? Who would pay for the validation?

  13. Video game makers do it by ruzel · · Score: 3, Interesting

    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.
    ______________________

  14. Crap, I didn't close my tag by Doesn't_Comment_Code · · Score: 3, Insightful

    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.
  15. Just a guess... by cdf123 · · Score: 2, Insightful
    I'm no expert, but my guess is that hardware goes through this because, if it is faulty under certain situations it can burn your house/office down.

    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.

  16. Approvals are for a different purpose. by HotNeedleOfInquiry · · Score: 4, Informative
    Approvals are for specific safety and RF interference issues, not for functionality or reliability.

    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...
    1. Re:Approvals are for a different purpose. by mackman · · Score: 2, Insightful

      So what you're saying is that you've never used a piece of software (widget) that interferes with another piece of software (widget). I guess you've also never used a piece of software that doesn't fail gracefully and instead loses data. Both non-interference and graceful degredation are just as important to software as hardware. I really hope you're not a software engineer, although you probably are.

    2. Re:Approvals are for a different purpose. by pmiller396 · · Score: 2, Insightful

      With the importance of the Internet and the fragility of some popular software (*cough*Windows *cough*Outlook), you could make an argument that these apply directly to software.

      Does your OS interfere with other computers? Well, if a wide open hole allows whole sections of the net to go down, yeah, this widget interferes with other widgets. It may be difficult to burn down the house right now, but just wait until everybody has their home controlled by Windows Longhorn HVAC edition. Or what if a phreaker brings down 9-1-1 through an open firewall port? Credit card fraud and identity theft are common enough and dangerous enough to, possibly, be worth protecting against.

      I'm a developer, I don't look forward to government edict making us even less competitive. But I also have to use the darn things, and from that perspective I'm as frustrated as anyone. Now if we could only get a "Software Quality" approval board *not* controlled by Microsoft, Oracle, etc, etc.

    3. Re:Approvals are for a different purpose. by iCoach · · Score: 2, Interesting

      Was just thinking, wouldn't "safety" in the mind of a software engineer being "failing safely"? i.e. not bringing down the entire system due to one application? I don't mind the single application so much as I mind memory leaks and security holes that tend to decimate the rest of my applications. I would think that an at least somewhat "cookie cutter" approach could be taken with these issues. Granted I wouldn't recommend them for an open source project. My thought is that if you intend to make money off it: it cannot interfere with another project (barring that it is designed to do so i.e. Spybot S&D), it cannot crash the entire system, it must be secure. Of course in this day and age people accept that things aren't going to be secure, not without insane overhead. Well that is what the certification process is about. UL charges $$$ to have things UL certified. They charge even more to come on-site to tell you that you can't call it UL certified until there are 3 additional stickers in place (been there). So create the UL of software for commercial applications. If you want to run it on a PC and make money from it you have to have it XX certified. It costs $3000 to have the software certified, and takes x months. It would slow the release of commercial software but at least stability would be improved. And many crashes are due to third party software, even the interaction between other applications. -Coach

      --
      "Never upset a goalie, getting hit with a blocker is an unpleasent experience - facemask or not." -Me
    4. Re:Approvals are for a different purpose. by wfberg · · Score: 2, Informative

      So what you're saying is that you've never used a piece of software (widget) that interferes with another piece of software (widget).

      Check the bottom of your keyboard. Next to the sticky notes with passwords, you'll find a blurb like " This device complies with FCC Rules Part 15. Operation is subject to the following two conditions:
      This device may not cause harmful interference.
      This device must accept any interference received, including interference that may causeundesired operation.
      This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules."


      Note that, yes, it may cause interference, as long as it's not harmful. Of course, in an Intensive Care Unit in a hospital, or in a precision laboratory, interference is more likely to be harmful than in the desert. So they've specified the environment in which this should be the case; the blurb on my keyboard specifically says "office equipment", which is what Class B digital devices in Part 15 of the FCC Rules are all about..

      Of course, though equipment is tested extensively, this does not mean that there is zero chance of it ever generating interference. So, in the real world, we know this, and there are certain thresholds of interference under which (all, and thus, also the surrounding) office equipment must accept interference as well. Yes, an EMP weapon will fudge up your keyboard, but a cell phone shorting out next to it won't.

      Random testing is a software testing technique which is appropriate to this kind of probablistic approach to understanding failures.

      --
      SCO employee? Check out the bounty
  17. better "market" software by bsDaemon · · Score: 5, Funny

    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.

  18. Cost, always Cost by Fringe · · Score: 5, Insightful

    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.

  19. What? Fit for Purpose? by human+bean · · Score: 2, Funny

    {software manufacturer holds fingers in ears}

    La La La...I can't hear you...La La La...

    --

    *whup* "Get along, little electrons. Heeyah!"

  20. Yeah but... by i_r_sensitive · · Score: 2, Insightful
    With hardware you are testing a standard package, every line of code written for the app, the tolerances of all the hardware, etc. etc. are indentical, unit to unit. What the tests are establishing is that the combined parts still perform within acceptable parameters.

    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 /." -
    1. Re:Yeah but... by hackstraw · · Score: 2, Insightful

      Not so with software. You can't know what hardware the end user will use.

      Software products already have supported hardware stuff on the boxes. Your saying that a piece of software cannot be certified to do said function on X pieces of hardware?

      You can;t know every little idiosyncracy of every private network on the planet.

      So? This product is certified to run on any standard ethernet network or whatever, does not seem too difficult.

      You can't cover every edge case.

      Dunno what this is, next.

      Standardized testing like hardware can be put through is far less meaningful in such an environment.

      Dunno what this is, next.

      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.

      You cannot test all input parameters, there are infinite inputs. You can say what is "acceptable input". You can test for that every time, and reject anything that is not acceptable. I see no reason that an OS should crash without help from faulty hardware.

  21. Bad for free software by lederhosen · · Score: 2, Insightful

    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.

  22. Simple question, simple answer by mikehunt · · Score: 2, Insightful

    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!

  23. It's not really feasable.... by MagicDude · · Score: 2, Insightful

    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.

  24. SQA by VisorGuy · · Score: 2, Interesting

    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
  25. Speed, Price, and Quality by tr0yt4b0r · · Score: 2, Interesting

    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.

  26. Aircraft software by old_unicorn · · Score: 2, Informative

    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.***
  27. Council of Wise Men by timothy · · Score: 2, Insightful

    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
  28. I am in the process of doing this now. by Dead_Smiley · · Score: 2, Informative

    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?!
  29. Government regulations, Lawsuits, and Free Markets by R2.0 · · Score: 2, Informative

    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
  30. Because software doesn't explode. by digital+photo · · Score: 2, Insightful

    ...unless that software controls the confinement ring in your homemade fusion reactor....

  31. Software Approvals for Consumer Markets? by ferrox · · Score: 2, Insightful

    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!

  32. it *sounds* good by JohnSmith42 · · Score: 2, Insightful

    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.

  33. Four words by AKAImBatman · · Score: 2, Funny

    Nintendo Seal of Quality

    Same thing could be applied to software.

    1. Re:Four words by AKAImBatman · · Score: 2, Informative

      Designed for Microsoft Windows XP

      The only software I've ever seen with that label has been from Microsoft. There's plenty of hardware with that label, but when it comes to software, Microsoft doesn't share. Besides that, there are no real standards to live up to. The Nintendo Seal of Quality wasn't just "It uses the newest APIs". It was a actual scoring of a product done by human beings. If the product failed to meet Nintendo's standards (for whatever reasons, some perhaps made up on the spot to handle the differences in the game) it would have to be fixed or the product couldn't ship. I don't see Microsoft preventing anyone from shipping anything.

    2. Re:Four words by dtfinch · · Score: 3, Insightful

      Microsoft has a Windows Logo program whereby you pay them to see if your product meets the standards to use the "Designed for Microsoft Windows ####" logos. I bet they can sue you for trademark infringement if you say your product is "Designed for Microsoft Windows XP" without getting their approval first.

    3. Re:Four words by mwood · · Score: 2, Informative

      Microsoft shares its Logo Requirements just fine. I wish somebody would read them sometime. It's probably the finest thing to come out of Microsoft. Unfortunately even some of their *own* developers seem to have difficulty sticking to a few simple principles.

      You don't see Microsoft preventing the shipment of shlock software, but you also don't see the shlock shipping with their holy Logo on the box. They can sue you for that, and don't think they wouldn't.

      (Alas, universal acceptance of the Logo Requirements wouldn't help me personally since it simply means something was designed for an OS other than the one that best suits my way of working. But at least I'd lose less hair setting things up for the people who do want it.)

  34. Software and hardware are very different by DroidBiker · · Score: 2, Interesting
    Most software DOES go through fairly stringent approval processes. There are even some standardised ones (WHQL for example), but I haven't seen a good standard yet.

    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.

  35. You can't patch hardware by GringoGoiano · · Score: 2, Interesting

    You can't easily patch hardware. The consumer:

    • sends in the hardware for repair
    • waits 4 weeks while you service department opens the device, replaces the chip, does a burn-in test
    • gets fed up waiting, buys your competitor's product next time round

    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.

  36. Why? by sfe_software · · Score: 2, Insightful

    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
  37. Software used as a medical device... by nucleon · · Score: 3, Informative

    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.

  38. And 90% of the time it's just snake oil by Moraelin · · Score: 2, Interesting

    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.