Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Software Businesses Programming IT Technology

Software Approvals For Consumer Markets? 227

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?"
This discussion has been archived. No new comments can be posted.

Software Approvals For Consumer Markets?

Comments Filter:
  • Probably would (Score:4, Interesting)

    by KingKire64 ( 321470 ) on Tuesday December 09, 2003 @05:53PM (#7673239) Homepage Journal
    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?
    • Nintendo Seal of Quality

      Same thing could be applied to software.


      • Nintendo Seal of Quality


        Same thing could be applied to software.

        5 Words:
        Designed for Microsoft Windows XP
        • Re:Four words (Score:3, Informative)

          by AKAImBatman ( 238306 )
          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 th
          • Re:Four words (Score:4, Insightful)

            by dtfinch ( 661405 ) * on Tuesday December 09, 2003 @07:02PM (#7674208) Journal
            Microsoft has a Windows Logo [microsoft.com] 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.
          • Re:Four words (Score:3, Informative)

            by mwood ( 25379 )
            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 Requir
  • by Anonymous Coward on Tuesday December 09, 2003 @05:53PM (#7673243)
    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!
    • by Anonymous Coward on Tuesday December 09, 2003 @06:04PM (#7673431)
      Speaking of bridges...

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

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

    • by Frymaster ( 171343 ) on Tuesday December 09, 2003 @06:04PM (#7673438) Homepage Journal
      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.

      • 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
    • Posting anonymously. Hi, boss!

      Way to make a stand on the subject! I guess your OK with any old burger.
    • It's like a burger - who cares if you get one pickle slice or two, as long as you get your burger?

      Typically the restaurant cares, if you work in a big chain.

      My first summer job was working at *unnamed major chain*. They have rigorous accounting procedures to keep track of every last slice.

      Every burger got three slices, no more, no less. If, at the end of the day, ( slices_in_discard_bin + 3 * burgers_w_pickles_sold ) < initial_pickle_slice_supply, somebody would eventually get in trouble (theore

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

      Condiments are one thing, but if that burger isn't cooked right, I certainly care!
    • "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."

      Uhhuh. And it still ships with a 4cm-thick wad of "waivers".

      Good point, though. What's good enough for a garden tractor is not necessarily good enough for a race car, but that doesn't mean that garden tractors should be designed to race-car standards. "I can get it for w
  • by ljyang ( 247873 ) on Tuesday December 09, 2003 @05:54PM (#7673261)
    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.
    • 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 b
  • by Anonymous Coward on Tuesday December 09, 2003 @05:56PM (#7673284)
    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.

    • UCITA applies only in Virginia and Maryland. In August of this year, NCCUSL, the primary driver of the legislation, abandoned its efforts to get it enacted in other states. Further information here [4cite.org] (Americans for Fair Electronic Commerce Transactions) if you interested.
    • You mean "Engineers".

      Well, software engineers can now be licensed in Texas. It has nothing to do with teaching thyself, rather, it has to do with how the profession wishes the public to view itself. Engineering standards and licensure are promoted by engineers, not legislatures. They promote it because they want 'Engineer' to be synonymous with reliability, safety, and trust.

      If programmers/coders/software engineers wish to have the same public view, then they need to self regulate as well, and apply press
  • Yes, it would help (Score:4, Insightful)

    by Doesn't_Comment_Code ( 692510 ) on Tuesday December 09, 2003 @05:56PM (#7673286)
    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.
    • by Doesn't_Comment_Code ( 692510 ) on Tuesday December 09, 2003 @05:58PM (#7673321)
      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.
  • by rcpitt ( 711863 ) on Tuesday December 09, 2003 @05:56PM (#7673295) Homepage Journal
    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.

    • power it puts out is less than 48Volts.

      Repeat after me, power != volts. You can have a 1 volt source putting out 100 watts of power (1 volt * 100 amps = 100 watts) while you can have a 100 volt source put out 1 watt of power (100 volts * 10 milliamps = 1 watt). Saying simply anything less that 48 volts is ok is insane as I can't think of anything whatsoever that takes a wallwart for > 48v so next to nothing that uses a wallwart would need to be certified.
      • However, if we're talking about the risk of dangerous electrical shocks, the voltage is one part of the equation that decides current. The resistance of the human body is the other. While a 1 volt powersource can output an arbitrary amount of power, it cant do so throught the human body, as you'd need a far higher voltage to drive the current to dangerous levels.

        Of course, there are other risks like fire hazards that cant be removed simply by having a low voltage in the device.
  • by tds67 ( 670584 ) on Tuesday December 09, 2003 @05:57PM (#7673298)
    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

    • by Anonymous Coward
      Dear Sir,

      You're not really an engineer.

      Sincerely,
      A Hardware Engineer
    • by Dr Caleb ( 121505 ) on Tuesday December 09, 2003 @06:23PM (#7673681) Homepage Journal
      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.

      • And this is EXACTLY why there are market approvals for hardware and not software...Because if it IS on fire, it's most likely a hardware problem. The "risk to the user of death, injury, occupational illness, damage to or loss of equipment or property, or damage to the environment" is generally minimal for software, unless of course you are in the medical software field or some other field where the software sort of reaches out and touches you.

        I really like the joke, though....
      • Dear Software/Hardware Engineers,

        Stop reading Slashdot and get back to work or you're both fired.

        Sincerely,
        UR Manager.

    • Dear Sir.

      I trust my hardware a lot more than I do software. (Not my software, of course)

      Sincerely,
      A Software Guy
    • Dear Sir,

      I strongly object to the letters
      on your thread. They
      are clearly not written by a
      Software Engineer and are merely
      included for a cheap laugh.
      yours etc.

      William Knickers
  • by UltraOne ( 79272 ) on Tuesday December 09, 2003 @05:57PM (#7673300) Homepage
    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?
  • by Anonymous Coward
    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 thing
    • 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 wit
    • 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
    • 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 chea
  • 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 alrea
  • by SuperMo0 ( 730560 ) <supermo0@gmail. c o m> on Tuesday December 09, 2003 @05:57PM (#7673309)
    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.
  • by Anonymous Coward on Tuesday December 09, 2003 @05:57PM (#7673310)
    Wouldn't that make it harder for open applications to get in industry? Who would pay for the validation?
  • by ruzel ( 216220 ) on Tuesday December 09, 2003 @05:57PM (#7673313) Homepage
    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.
    ______________________
    • Indirectly, that's why I do most of my gaming on a console machine. The quality of most PC based games is horrible. In Bridge Commander, it always freezes at exactly the same point near the end of the game (and that's on a few totally different machines since the game came out). I can't play Lords of the Realm at all anymore because for the past few years it detects my original CD as a pirate copy. Except for Blizzard's products (which always seem to be good quality), it seems like most of the PC games
  • Just a guess... (Score:2, Insightful)

    by cdf123 ( 623917 )
    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.

  • While some kind of voluntary certification is a perfectly fine idea, mandatory approval would be crazy and oppressive. Computer code is protected free speech which is why we were able to (although so far only partially) beat back the export controls on cryptography.

    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 HotNeedleOfInquiry ( 598897 ) on Tuesday December 09, 2003 @05:59PM (#7673351)
    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.

    • 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.
      • 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 be
    • 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 bri
    • 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 of
      • You're talking about generalized safety issues relating to software. I still maintain that the discussion, valid or not, has very little relevence to hardware compliance testing.

        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.

  • by bsDaemon ( 87307 ) on Tuesday December 09, 2003 @05:59PM (#7673356)
    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.
  • 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/ [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 insp

  • Shareware strikes me as the solution to all of this.

    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.

  • Cost, always Cost (Score:5, Insightful)

    by Fringe ( 6096 ) on Tuesday December 09, 2003 @06:01PM (#7673378)
    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.

  • by human bean ( 222811 ) on Tuesday December 09, 2003 @06:01PM (#7673380)
    {software manufacturer holds fingers in ears}

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

  • Yeah but... (Score:3, Insightful)

    by i_r_sensitive ( 697893 ) on Tuesday December 09, 2003 @06:02PM (#7673394)
    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.

    • Re:Yeah but... (Score:3, Insightful)

      by hackstraw ( 262471 ) *
      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.

      Standar
      • 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?

        No, I am saying that testing 1 is trivial... testing the plethora of, for example PC hardware, well... ...try in the words of one of my former bosses, "being a real man and writing your own device drivers." If you deal with 1 set of standard hardware, the job is easier, in one respect, but consider: the demands for perfection are so mu

    • 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

  • 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.
  • 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.
  • 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
  • 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. Soft
  • 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 i
  • 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.
  • SQA (Score:3, Interesting)

    by VisorGuy ( 548245 ) <inactive> on Tuesday December 09, 2003 @06:08PM (#7673480) Journal

    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 [worksoft.com] and we like what we see, except the price-point (approximately triple our current tool: Rational Robot [ibm.com]), however, that is currently in negotiations.

  • 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) kn
  • 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.
  • Aircraft software (Score:2, Informative)

    by old_unicorn ( 697566 )
    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
  • by timothy ( 36799 )
    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 int
  • 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

  • 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 Hammura
  • by digital photo ( 635872 ) on Tuesday December 09, 2003 @06:19PM (#7673623) Homepage Journal

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

  • 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.
  • it *sounds* good (Score:2, Insightful)

    by JohnSmith42 ( 731039 )
    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 fo
  • 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
  • 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 a

  • 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
  • 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 realwo

  • 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 su
  • 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.

  • Why? (Score:3, Insightful)

    by sfe_software ( 220870 ) on Tuesday December 09, 2003 @07:17PM (#7674374) Homepage
    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.
  • 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.
  • 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
  • The only approvals I know legally required for manufacture/sale of a commercial audio product in the US are the FCC (it doesn't interfere with RF receivers)and UL approvals (it won't burn the house down) as someone else posted here.

    You can find out how to get those approvals on the respective websites.

    If you mean something else, what would that be?

  • by nucleon ( 243583 ) on Wednesday December 10, 2003 @01:48AM (#7677491)
    is strictly regulated by the FDA [fda.gov]. Not only is a software company required by law to obtain premarket approval 510(k) [fda.gov] 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 [fda.gov].

    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 [biomerieux-usa.com] to robotic surgery [brainlab.com] to radiation oncology [varian.com] treatment planning [cms-stl.com].

    I have worked for several software companies, developing software that is considered a class II medical device [fda.gov]. 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 [bizjournals.com] to someone, really puts the software engineering process into perspective.
  • 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)
  • 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 t

I tell them to turn to the study of mathematics, for it is only there that they might escape the lusts of the flesh. -- Thomas Mann, "The Magic Mountain"

Working...