Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming Technology

Why Don't Companies Release Specs? 469

Mhrmnhrm asks: "With the recent activism by the OpenBSD crew focusing on release of documentation from the likes of Adaptec, Intel, and others, I'm left to wonder: why do companies insist on believing that by denying access to the specs, they somehow gain an advantage? It's not like telling a programmer how to communicate with the underlying hardware is going to tell them how it (the PCB/silicon) was designed, so why make this information secret?"
This discussion has been archived. No new comments can be posted.

Why Don't Companies Release Specs?

Comments Filter:
  • by c0d3h4x0r ( 604141 ) on Tuesday June 14, 2005 @05:54PM (#12818028) Homepage Journal
    Because it would cost them money to (1) write coherent and complete documentation and (2) review that documentation to make it safe and legal for public consumption. Why would they spend all the extra time and money to do that when it doesn't bring them any more profit?

    Companies exist to make money, not to be good samaritans.
    • You're telling me that they don't have internal documentation anyway?

      How do they develop their own drivers, etc?

      And it DOES stand to make them more money...why am I going to buy a product that is unsupported?

      That's a lost sale...

      With wider compatability, they allow their marketability to improve.
      • You're telling me that they don't have internal documentation anyway?

        Internal documentation is written for people who already have secret clearance within the company, not for publication. It would take a lot of effort by highly paid lawyers and technical writers to clean up a secret document for public consumption.

        With wider compatability, they allow their marketability to improve.

        More than likely, the lost profits from not reaching the <10 percent of the market willing to pay only for devices

        • "More than likely, the lost profits from not reaching the 10 percent of the market willing to pay only for devices with public documentation are less than the lost profits from incurring the expense of cleaning up internal documents." total nonsense. just look at netcraft stats alone, look at howmany webservers are running *bsd and linux. are you saying that is an insignificant number?
          • by ComputerSlicer23 ( 516509 ) on Tuesday June 14, 2005 @07:29PM (#12818914)
            In a lot of ways, yes it is a very small number. First off, I'm not sure which documentation you are discussing from NetCraft. A link would be useful, but I'm too lazy to dig one up. The two stats to remember, are that something like 80% of the domains out there in the world run non-Windows OS's (read people who probably need access to the documentation). I want to say, only 30% of the IP's (possibly physical machines) out there, run non-Window's OS's. So in the end, even on the Internet, Windows is fairly dominate in terms of "numbers of machines". Which is a crying shame in my opinion, but oh well (most hosting companies, use non-Windows machines for deployment).

            Now, the number of machines on the acting as servers on the Internet is dwarfed by the number of machines not acting as servers on the Internet. Not a contest. Not even close to a contest. Finally, most hardware vendor's that produce high end hardware do get it. Look at the number of SCSI devices that have documentation or drivers. Not the crappy low end ones, but the really good stuff. Sorry, the crappy low end adaptec IDE RAID cards aren't ever going into a high end server. Most internet servers don't really need a good 3D card from Nvidia or ATI. Look at the e1000? Yep, got a lot of those sold, and some really good documentation available to the public. Now look at the wireless chipsets, never going in a server. Not going to get public release based off domination in the "NetCraft" stats. 90% of all wireless cards will never ever be put in a machine that is counted by "NetCraft". They will be put in machines that say, 90-95% of all shipping computers have a Microsoft OS on them.

            So depending on the product, yes, the NetCraft numbers are insigificant, both in terms of percentage and raw numbers.

            For other products, the NetCraft numbers make a lot of sense. Look at the number of Open Source drivers for high end SAN cards. Look at the number of Gigabit cards that have open source drivers. Look at the number of highend RAID cards that have open documentation.

            The other thing they are confusing is "won't release specs", versus won't allow re-distribution of the firmware. For a lot of wireless cards, it's that they can't re-distribute the firmware which is necessary for the hardware to work, not that they don't have the specs for the actual hardware. (I believe a number of OpenBSD's issues with Wireless Intel chipsets are this issue). The other issue with Wireless is that releasing the specs could invite FCC issues. I'm not sure of how much teeth those could have, but it sounds like a legitimate concern. If the FCC could say, well people are using your part with your documentation to drive it out of complaince, your wireless cards can no longer be sold. That'd be a real problem for Intel or Cisco.

            Finally, releasing the specs, would allow a competitor to say they clean room, backward engineered without having to do the documentation. It's really expensive to do that testing and documentation. So they could sell a competing product at a much lower price. It's much easier to match an existing specification, that it is to write a good known working specification. It is valuable IP. Personally, I think it's wonderful when they release it. For a lot of hardware they do. Especially for the really high end hardware that needs high reliability.

            Kirby

            • i argee on the video cards, it's less then 1% of the market for them and maybe not worth it. however these arguments that IP is valuable. thats just secret sauce bullshit. what do they honestly think they are so super clever that no one else has or can think up the same designs. it's just so bogus. it's the same kind of nonsense that had the USA restricting encryption software being exported. they thought they were the only ones clever enough to develope such things.
              • Yes, but if you're wireless card company "A" and you spent hundreds of hours (and tens of thousands of dollars) developing those drivers why release the source so company "B" can order the same chip, incorporate the driver for free, and undercut your price since THEY didn't spend those dollars.

                In essence, it's the "patent" argument. All information may be "free", but the first person who spends money creating it is the loser, as the other parsites sponge off their work and don't need to recoup those dolla

        • by ArbitraryConstant ( 763964 ) on Tuesday June 14, 2005 @08:28PM (#12819317) Homepage
          "More than likely, the lost profits from not reaching the <10 percent of the market willing to pay only for devices with public documentation are less than the lost profits from incurring the expense of cleaning up internal documents."

          That's why we have to bitch and moan as loud as possible to make the public relations value exceed the cost of cleaning up the docs. ;)
      • Possible skeletons in the closet?
        MS blew off security for years, because there was no perceived value in it.
      • Apparently you have never heard the phrase, "the code is the documentation". Like it or not, a lot of companies live by this to at least some degree and operate just fine internally with such a policy.

        Besides which, the point is that internal documentation is substantially different from documentation you would publicly release. There are intellectual property, liability, and other legal concerns that must be thoroughly reviewed before documentation could be publicly released. That takes a lot of time
      • And we know that all open source projects have *great* *clear*, *complete*, and *useful* documentation.

        In the real world, internal documentation can be "I called the design engineer on the phone, and he told me the workaround, so I coded it that way. He didn't have time to correct the documentation, because he's working on the next product." or "I program 0x45 in that register because it was that way in the example code he gave me." or "well, the guy who wrote that code left to go work at a startup."

        Bad o
      • by imp ( 7585 ) on Tuesday June 14, 2005 @07:23PM (#12818857) Homepage
        You're telling me that they don't have internal documentation anyway?
        How do they develop their own drivers, etc?


        You've clearly never had to write a driver for hardware that's produced down the hall :-). Usually the hardware designer produces a interface document that tells you what he thinks you should know. Once you have this document, there's usually dozens upon dozens of questions that the software writer has about the device. For smaller operations, these questions usually are verbal or email and never make it back into the original spec. There are times that the specification is wrong, incomplete, missing information, etc. To assume that there's public consumable documentation for every piece of hardware doesn't match my many years of industry experience.

        In addition to the cost of producing it, there's other issues. Did the company license some IP for their internal use? If so, can that IP be documented and sent out to third parties? Someone has to check to make sure the relevant legal contracts are followed. Next, did we develop some new and novel way of doing something that's covered by a patent? Is it ours our someone else's. Fear of lawsuits from third parties often drives a company to disclose as little as possible. On the 'simpler' devices, much of the information necessary to write a driver may be novel ways of, for example, encoding something in software that might otherwise be done in hardware. Sometimes these tricks may save lots of money for the hardware company who can sell modems $5 cheaper than their competitors. Why make it easy for them to understand your cleverness?

        Finally there's good, old fashioned secrecy. Does Macy's tell Gimble's, as the old (now somewhat dated) adage goes. The idea here is that your competitors should have as difficult a time as inventing something as you did, and any hints or short-cuts that you can give them may eat into your profits. Maybe they make a hardware board that's compatible with your driver, this cutting the cost of their development time since they don't have to do the software. Who knows how this information will come back to bite you.

        All of these effects on the bottom line are seen as swamping any increase in hardware/software sales to the open source crowd. Not that they are right about this (or wrong for that matter), just how they think.

        Warner
    • If there aren't drivers for my OS, I won't buy their hardware. Period. They just lost a sale from me. I personally know 20 people that do the same. And thats just people I know in person. Thats not counting the hundreds of people I have talked about this with online.

      I'm not saying they should release it out to the general public, but allow developers to read the docs and write the code for it. We don't want them to write the code for us, or to be 1st level support. Hell, the only time we'd talk to them after getting the docs, is to report a bug.
      • by elmegil ( 12001 ) * on Tuesday June 14, 2005 @06:11PM (#12818224) Homepage Journal
        Goody for you. When you and your friends who think like you are enough of a market share for them to care, their practices will change. Have fun.
        • by AngryElmo ( 848385 ) on Tuesday June 14, 2005 @08:01PM (#12819116)
          Well, seeing as I operarate a budget of a couple of million and I use exactly that methodology (What function to perform, what are the supported OS's, is it one that we have skills with and which hardware vendors provide certified drivers), I would think that a few vendors would be interested. And keep in mind that I work for an SME and this is just one company in a sea of thousands...
      • >>"I'm not saying they should release it out to the general public, but allow developers to read the docs.../I.

        What? You guys get ID cards or something? How are you gonna distinguish developers from the "general public"?

        Blood tests might do it.
        • >>"I'm not saying they should release it out to the general public, but allow developers to read the docs.../I.

          What? You guys get ID cards or something? How are you gonna distinguish developers from the "general public"?


          Easy: developers know how to close HTML tags.
      • by wastingtape ( 576230 ) on Tuesday June 14, 2005 @07:20PM (#12818821) Homepage
        I went into McDonalds last week and ordered prime rib with a side of potatoes. They wouldn't sell it to me.

        When i go into a restraunt, i expect to order and get whatever i want. If they don't serve what i want, i won't eat there. Period. They just lost business from me. I know at least 20 people who tried to order steak from McDonalds and they wouldn't offer it, that's not counting the hundreds of people online who want all kinds of stuff that McDonald's doesn't sell.

        I'm not saying that McDonalds should forsake thier demographics, target market, or any plans they had, but at least allow restraunt-goers a chance to eat whatever they want.
        • by Xantharus ( 860986 ) on Tuesday June 14, 2005 @08:20PM (#12819251)
          The problem here though, is that McDonalds has never made the impression to anyone that they sell steak. Its like asking Adobe for full documentation on Windows; they have no idea.

          Wouldnt full specifications from McDonalds actually be them telling you exactly what is in each Quarter-Pounder with Cheese, and exactly what happens behind the scenes when they cook it?

          I dont know about you, but I think those are some specifications that are better left unreleased.
          • Nope (Score:5, Funny)

            by zippthorne ( 748122 ) on Wednesday June 15, 2005 @12:07AM (#12820651) Journal
            They already provide hamburgers to an open standard. Their product interfaces in the same way as all other hamburgers, directly with the mouth port.

            Very fancy restaurants have proprietary interfaces: You are required to use specialized hooks (salad fork, etc.) to interface with the food which must be used in a specific way.

            Chinese restaurants use the most difficult interface of all, but it's fairly simple and often fully documented on the chopsticks package.
        • by LordNightwalker ( 256873 ) on Wednesday June 15, 2005 @02:46AM (#12821169)
          And now translating this back to the issue at hand:

          I asked nVidia to sell me a wireless access point. They wouldn't sell it to me.

          When I ask a hardware vendor for a specific piece of hardware, I expect to have it sold to me. If a video card manufacturer refuses to sell me a wireless access point, I won't buy it off them. They just lost a sale! I know at least 20 people who won't be buying wireless access points from nVidia, not counting the hundreds of people online with whom I discussed this topic.

          I'm not saying nVidia should forsake their demographics, target market or whatever other fancy words you wanna throw at it, but at least they should sell me a wireless access point if I decide I want an nVidia branded one.

          God, it's true... Running something through a babelfish, then have the fish translate it back to your own language DOES produce funny results! Either that, or your analogy was dead-on wrong, but we all know that's impossible, don't we?
    • Because it would cost them money to (1) write coherent and complete documentation and (2) review that documentation to make it safe and legal for public consumption. Why would they spend all the extra time and money to do that when it doesn't bring them any more profit?


      Because they (should) already have these docs to write the Microsoft driver ?

      pol :)
      • by TekPolitik ( 147802 ) on Tuesday June 14, 2005 @07:15PM (#12818777) Journal
        Because they (should) already have these docs to write the Microsoft driver ?

        A lot of the hardware companies don't even write internal docs. They have hardware engineers write the device driver, and if you have ever reverse engineered a Windows device driver, you'd know that it shows. It is quite common to find serious and obvious bugs in the driver - mistakes of the kind even a mediocre professional software developer would never make. Sometimes the reverse engineering even reveals the use of algorithms that achieve things that are not even mathematically useful - although you can tell what they were trying to achieve, you can also tell that they have come up with an algorithm that has nothing whatsoever to do with achieving that goal.

        This is one of the reasons Windows is so damned unreliable - they package drivers from these closed interface hardware shops, written by hardware engineers without the first clue about software development.

        And yes, when the hardware engineers leave this all means the vendor isn't able to provide new drivers for that hardware - that's why you end up with 6 month old hardware that won't run on the operating system released today, and probably never will.

        • by drmerope ( 771119 ) on Tuesday June 14, 2005 @10:53PM (#12820272)
          Way to rag on hardware designers. I think we'll take our computers back now. Go back to your mechanical adding machines.

          Seriously: have you see the code "programmers" make? Hardware designers tend to be extremely effective programmers--if only because they have a clue as the actual performance costs of their design decisions. Most programmers haven't got a clue that an IPI stalls all the activity on an SMP system let alone a reasonable sense of how costly that is.

          From what I've seen, computer engineers get as much training is software engineering methodology as programmers.

          The *trouble* is tight schedules and billion things you have to do.
    • by ad0gg ( 594412 ) on Tuesday June 14, 2005 @06:08PM (#12818197)
      Very few hardware companies hold the IP rights for the technologies they implement. NDAs prevent many companies from disclosing specs to their hardware.
    • Correct. In addition, there's the cost of updating and correcting the specs every time the hardware changes.

      Plus, it is just possible they don't want independent vendors writing code that talks to their hardware.

    • Why would they spend all the extra time and money to do that when it doesn't bring them any more profit?

      I'm sure there are companies out there that actually believe this, but it's extrememely short sighted. When picking hardware, I'll pick the hardware that's well suppported by linux every time. That means companies like Broadcom (they tend to not have any drivers for linux) won't get chosen by anyone wanting to run Linux, and thus will lose money as people will chose non-Broadcom hardware. It also te
      • by BobPaul ( 710574 ) * on Tuesday June 14, 2005 @06:36PM (#12818464) Journal
        That means companies like Broadcom (they tend to not have any drivers for linux) won't get chosen by anyone wanting to run Linux, and thus will lose money as people will chose non-Broadcom hardware.

        I'm not sure about all hardware, but I'm sure part of the reason Broadcom doesn't openly document their WiFi hardware is because they use software radios, where all of the channel number to frequency conversion is done in the driver and not in the hardware.

        This would mean that someone writing an open source driver would have to properly tell the hardware what frequencies to use--something that shouldn't be a problem.

        However, it also means that you could easily tell the radio to broadcast in frequencies (and possibly powers) that aren't within the spectrum their FCC license covers. IE, people could do things they aren't supposed to and maybe Broadcomm is worried about law suits.
        --
        Don't fight Firefox! Let FireFox fight YOU! [bobpaul.org]
        • That argument is absurd. If the hardware is capable of significant output on unpermitted frequencies, what's to stop a corrupted driver download, or bug in the official firmware, from doing that? Wireless cards are complex systems that are certainly prone to bugs.

          What if a disgruntled employee leaks the docs? Will the company have its FCC certification immediately revoked? If so, why would management build hardware that exposes them to that risk?

          What if someone reverse engineers their hardware and writes

        • I never understood that argument. I agree that from a pure quantitative perspective it is easier to make the hardware operate out of the authorized specs if you do have the driver source code. However, any more-than-average hacker can decompile a binary driver and replace the adequate values directly in the code. Hacking the source requires very similar programming skills.

          Is there some jurisprudence somewhere which states that if you provide source instead of binary to someone, you are breaking the law i
  • Bill: I hear you're getting ready to release low level specs so the OpenBSD and Linux folks can make a driver.

    Hardware Co. Rep.: That's right, Bill--figured it would be hard to go wrong increasing our potential market, at no cost to us. It's not like they can use the interface specs to build a card.

    Bill: That's nice. You know, it'd be a real shame if your driver couldn't be WHQL certified, and users had to see a warning box when they ran with your card. Or worse, if there were mysterious blue screens . . .

    Harware Co. Rep.: OK, I get your point, Bill. We'll cancel the release of the specs.

    • Ding ding ding! We have a winner!

      The parent post is correct, releasing specs is the same as inviting scrutiny for a corporation. It's an especially bad kind of scrutiny too: the bitching to other people kind. Among the primary reasons for NDA must be that the outside world doesn't hear about any odd decisions that might impact the perception of company X.

      The open source community needs to start making noise about this. Let the motto be something like "we're not ashamed of our hardware, we opened the s
    • by snorklewacker ( 836663 ) on Tuesday June 14, 2005 @07:18PM (#12818812)
      Bill: That's nice. You know, it'd be a real shame if your driver couldn't be WHQL certified, and users had to see a warning box when they ran with your card. Or worse, if there were mysterious blue screens . . .

      "It'd be a real shame when our engineers show a disassembly of your driver verification software before the last windows update and after causing our drivers to break, especially in light of this conversation. There's a few judges who might see things our way."

      Claims of conspiracy are just intellectual laziness. I suspect yours was a joke, but I think many people actually believe it.

      Now to make my own point: I know companies have IP arrangements that prevent them from opening drivers. Wouldn't it be nice if they disclosed this fact, or gave some kind of reasonable explanation to developers other than patting them on the head and saying "no specs today, go have some cookies". I'd just like to see the FAQ of "Why isn't the driver open source" answered truthfully and reasonably completely.

      I'd also like a pony.
      • Claims of conspiracy are just intellectual laziness. I suspect yours was a joke, but I think many people actually believe it.
        Me being paranoid doesn't mean they're not out there to get me...

        Software giants do bully hardware vendors, Microsoft and others have been shown to do it. So where's the conspiracy?

  • It's all about control. The company's business model is to control the use of their product. In my opinion, a now failed business model.
  • For one, I really suspect they presume (or seem to), the implementation details can be deduced from the API's. Or at least that someone might reverse engineer their hardware, making one that's similar and compatible.

    I don't know.
    • by Anonymous Coward
      Yes, only understand, for access into low level specs to write the driver, it requires a lot of work reverse-engineering, which is sometimes very difficult/almost impossible for more complicated cards (eg graphics cards).
  • The reason is... (Score:4, Insightful)

    by AragornSonOfArathorn ( 454526 ) on Tuesday June 14, 2005 @05:55PM (#12818044)
    why do companies insist on believing that by denying access to the specs, they somehow gain an advantage?

    The reason is that the ones with pointy hair are running the show and they don't really understand.
  • GUD (Score:2, Funny)

    by supe ( 163410 ) *
    Greed, Uncertainty and Doubt.

    Nough said!
  • by erroneus ( 253617 ) on Tuesday June 14, 2005 @05:56PM (#12818050) Homepage
    ... the more common problem is that the hardware people paid to have their drivers and stuff written for them and that a great deal of their product's functionality is, in fact, within the driver rather than within the device or firmware. These drivers are then restricted by the agreement between the driver-writing entity and the hardware maker... or so they claim. ATI apparantly has this difficulty which is why we can't get really good drivers for Linux just yet.
    • exactly! I am using a 30$ ide "raid" card as a normal drive controller in a Linux machine... the card has no raid component whatsoever... of course I knew this when I bought it... but does your average citizen steely dan know that?
    • Bad assumption (Score:3, Informative)

      by alexo ( 9335 )
      > ... the more common problem is that the hardware people paid to have their
      > drivers and stuff written for them and that a great deal of their product's
      > functionality is, in fact, within the driver rather than within the device or
      > firmware. These drivers are then restricted by the agreement between the
      > driver-writing entity and the hardware maker... or so they claim. ATI
      > apparantly has this difficulty which is why we can't get really good drivers
      > for Linux just yet.


      As a former A
  • by guyfromindia ( 812078 ) on Tuesday June 14, 2005 @05:56PM (#12818052) Homepage
    they dont want the world to see how crappy their design is...
  • Broadcom fun (Score:5, Informative)

    by DaHat ( 247651 ) on Tuesday June 14, 2005 @05:56PM (#12818055)
    Broadcom is also a big fan of not releasing much in the way of specs, even to its customers. My company has used some of their demodulator chips for years and had to beg to get some detailed specs on how to interacts with a chip in ways that it was not explicitly advertised as capable of doing (even though they admitted it was fully capable of what we wanted it to do for us)... later, when that chip became obsolete, they released a drop in replacement for it... a drop in replacement provided you were using the advertised features, things we were using, but plenty more things too suddenly went into limbo. The documentation on the new chip is ~ 1/4th the size of that of the original, so quite often we go back and forth between them, trying things that worked in the old one, hoping they still work in the new one.

    Oh yes, demodulators are hella fun!
    • Re:Broadcom fun (Score:5, Interesting)

      by The Vulture ( 248871 ) on Tuesday June 14, 2005 @08:41PM (#12819412) Homepage
      I used to work in the DOCSIS cable modem industry, so I'm reasonably familiar with the Broadcom 335x/334x CPU family. The best I ever saw was the datasheet for the 3416 chip (tuner chip).

      For those of you who aren't aware, or don't remember, Broadcom was slapped with a lawsuit by Microtune, alleging patent violations http://news.com.com/2100-1006_3-5064586.html [com.com], (one of many articles available on this subject).

      So, I was tasked with providing software support for the 3416 tuner chip (the replacement for the 3415 "problem" chip) in our cable modem product, as the 3415 couldn't legally be sold in the U.S. anymore. Well, I figured it would be easy, since the datasheets for the two chips were exactly the same, except that "3415" was changed to "3416". (And, I mean exactly the same, to the word - it was only a 15 page datasheet, so I compared them).

      Nope, good old Broadcom documentation does it again... I managed to study the source code for one of the newer cable modem CPUs and find the changes between the chips. The real stupid thing though: Even though there's a version register (which tells which version the chip is), they didn't update it to indicate a 3415/3416, even though they had the bits available. So, 3416 chips would show up as 3415 chips if you try to read the version number (that made things difficult).

      Incidentally, Broadcom does make Linux drivers for most of it's newer hardware, they're just meant for their customers (the OEMs making the hardware, not the end-users). The general rule with Broadcom is, if you pay them a lot of money, you get excellent support. (At the previous company I worked for, I had an engineer that would get back to me within 24 hours on any issue related to the product, because we bought so many cable modem chips. When I currently work, they won't even give us the time of day, we just don't purchase enough.)

      I feel your pain, I really do.

      -- Joe
  • A portion of the manufacturers who usually come under fire for this kind of behaviour are those who make wireless LAN cards. In their case, at least, it seems to be insufficient control built into the hardware to prevent use of the radio device in ways that would make the product violate FCC codes (or other 'bad' effects). Because they costcut by moving functionality into the software winmodem style, making the hardware more straightforward for design and manufacture, the secrecy of the specification and in
    • Part of this problem is that different countries have different laws regarding spectrum usage. It is, presumably, MUCH [easier, simpler, cheaper] to create a single piece of hardware then localize the drivers for said hardware rather than building 200+ different cards, one for each county on the planet.

      Hooptie

  • hmm (Score:3, Insightful)

    by Triumph The Insult C ( 586706 ) on Tuesday June 14, 2005 @05:57PM (#12818058) Homepage Journal
    1. sometimes the companies don't even have documentation because they've never bothered to write it themselves

    2. the company has gotten itself locked up into some NDA bullshit

    3. the hardware sucks so bad they don't want people to have documentation proving how shitty it is (as is the case with Adaptec)
  • easy... (Score:3, Funny)

    by Anne Thwacks ( 531696 ) on Tuesday June 14, 2005 @05:57PM (#12818065)
    Thats easy to answer ...

    Because they don't want people to buy their products!

    Now try a harder question.

    When they do publish datasheets, why do they omit important parameters, and get the dimensions wrong?

  • In Many Cases... (Score:3, Insightful)

    by Dasein ( 6110 ) <tedc@nospam.codebig.com> on Tuesday June 14, 2005 @05:59PM (#12818077) Homepage Journal
    The IP that they are trying to protect is 1) largely in the driver software and 2) any driver that doesn't use the technique is likely to suck. So, either these companies give up trade secret protection (not likely), they provide closed source drivers (nvidia), or the flip OSS the bird.

    It's not like this is some great mystery it's just people trying to what they *THINK* is best for themselves.

    You might argue that they're wrong about the conclusion but it's no great mystery as to how they arrived at the conclusion.
  • by jonsmirl ( 114798 ) on Tuesday June 14, 2005 @06:00PM (#12818095) Homepage
    It's because of fear of lawsuits, not a desire to hide their chip interfaces. There are just as many bad hardware patents as bad software ones. By controlling spec release with an NDA they stop the law firms from searching for violations of these bogus patents.

    The damage from keeping hardware specs out of open source hands is tiny compared to getting a $400M judgement for patent violation.

    Trade secret laws prevent law firms from forcing spec releases without pretty good proof of a patent violation.
  • Thoughts that occur:

    1. Fear of the costs involved in supporting a bunch of people contacting them with questions which can't be answered by your typical "pot plant with a script" they sit on the helpdesk.

    2. They don't have a problem per se, but there are so many licensing issues tied up with the hardware itself and its drivers that to release the specs would be a legal minefield.

    3. Cynical view: their hardware's very nasty, they know this, they don't really want the rest of the world to see the number
  • Free Specs! [freetibet.org].

    Similar in nature.
  • The most convincing argument I've heard against releasing specs are that it leaves the manufacturer all the more liable to a legal suit from a competitor, or a patent shakedown artist.

    This being SlashDot and all, I'm sure you know the party line when it comes to (bogus) patents, intellectual property, and lawyers.....

    And while we're on the topic:

    Q: What's black and brown and looks good on a lawyer?
    A: A doberman.
  • I thought it was entirely clear why they didn't open their "specs"

    It's not like telling a programmer how to communicate with the underlying hardware is going to tell them how it (the PCB/silicon) was designed

    Can you verify this? I'll be honest in saying I have no idea one way or the other, but unless you can give a 100% guarantee that it won't be possible, then you'll have to live with the fact that almost every hardware company does tons of reverse engineering to find out how their competitors do things

  • It's not like telling a programmer how to communicate with the underlying hardware is going to tell them how it (the PCB/silicon) was designed, so why make this information secret?

    Not only that, it would make the hardware more useful in the long run, and thus, more appealing.

    I also wonder why don't they open-source the firmware.
    For example, my Sony digicam.
    There are a lot of improvements that could be made to the interface, the camera could be a lot better with an community-improved firmware. One example
  • I think one reason that companies resist releasing specs is that, in common with many folks, they don't have a very clear understanding of what it is they're trying to secure, and why. (See Bruce Schneier's excellent book, Beyond Fear, for lots of examples of this sort of thing.) In addition, some PHB types are probably mesmerized by visions of "IP profit" sugarplums planted in their heads by legal types.

    I can't resist adding another reason from personal experience. Some years ago, I took a new job as

  • by craXORjack ( 726120 ) on Tuesday June 14, 2005 @06:06PM (#12818169)
    It's not like telling a programmer how to communicate with the underlying hardware is going to tell them how it (the PCB/silicon) was designed, so why make this information secret?

    I'd tell you, but then I'd have to kill you.

  • Why Don't Companies Release Specs?

    Knowledge is power? And it removes some of the dependancy on that company. Open the Word format fully, and up would spring fully interworking Word clones in months.

  • by linebackn ( 131821 ) on Tuesday June 14, 2005 @06:09PM (#12818204)
    I have often wondered about this myself, back in the day of the Apple IIs and TRS-80s there were almost always hardware specs available because that was what you used to program your application with. There were no drivers or OS abstraction layers, there wasn't enough memory or speed to do that so your program just talked directly to the hardware.

    The first time I realized there was a problem was back in the 90s when my brother was trying to load up Linux on one of his machines and complaining that his video card wasn't supported because the people who made it (Diamond Multimedia?) wouldn't release any specs and people were having to reverse engineer how it worked. That seemed crazy to me. Back then it wasn't just a Windows world either, OS/2 was still around and DOS apps were huge. It boggled my mind that anyone would hold back information like that because releasing programming specs would encourage third party application development that made use of their hardware and ultimately boost their sales!

    Sadly these days no one seems to care as long as the vendor has a Microsoft Windows XP(TM) driver available, even if the driver is half-assed and crashes some times.
  • In many cases there is a silicon bug or other hardware bug, and one of the advertized features of the part does not work as it should (or at all). The driver compensates for this bug by jumping some hoops if it can. If your ethernet card doesn't support jumbo-frames correctly, would you notice? Probably not. If your video card doesn't do blitting in the negative direction of overlapping segments with alpha transparency, and the driver works around it, you'll likely never know. But if Tom's Hardware Gui
  • by Embedded Geek ( 532893 ) on Tuesday June 14, 2005 @06:14PM (#12818256) Homepage
    Coming from the embedded world, I agree wholeheartedly. First, a caveat; I'm talking individual chips here, not whole cards. So, your milage may vary...

    <rant>
    With that said, we actually do get decent specs on individual chips or chipsets, they are always in just paper of PDF form. Even the most complex devices (UARTs, ethernet controllers, etc.) simply come with a Rosetta stone of diagrams. Then we start the regular cycle: I take the diagrams, decode them, build up a low layer of software to talk to the thing, add more stuff to exercise the features we want, test it, and finally integrate it into a WinCE/Linux/Tornado/whatever driver that does what we're using. All this despite the fact that they ship development kits with binaries (usually Windows or DOS programs) that already talk to the stupid things.

    On several occasions I have told the sales guys at hardware vendors that providing source code to some chunk of software that simply does some basic communication with the part would give it big brownie points in the selection process - save us a month of programmer time and you bet we'll think hard about your chip. When I ask if they could part with some of the stuff to help us skip steps 1-3 above, they always give a uniform NO. It doesn't matter what NDA we've signed or a if we are willing to take the code stripped of features and with no warranty. Sometimes I'll get sympathy from application engineers instead of sales droids, but whenever they try to get approval up the food chain they get shut down.

    I understand that source code is an incredibly valuable asset (heck, I write the stuff), but why don't hardware/chip vendors realize that handing out or (or selling it cheap) helps sell chips? After all, the stuff's worthless unless you actually get your hardware out there to be used!
    </rant>

    Whew! That feels better. Anyone from the hardware manufacturing end want to chime in?

    • by bani ( 467531 ) on Tuesday June 14, 2005 @06:52PM (#12818604)
      Thing is, we're not asking for source code to the win32 driver or firmware source code or roms or verilog source for the chips.

      We're just asking which pci registers to poke to get the chip to go "bleep".

      So the 'source code' argument is totally out the window, irrelevant.
      • by Stauf ( 85247 ) on Tuesday June 14, 2005 @11:25PM (#12820440)

        We're just asking which pci registers to poke to get the chip to go "bleep".

        DOS emulates the 'bleep' in software with it's superior 'beep' method, called with something like:

        MOV DL 7
        MOV AH 2
        INT 21

        And it has the advantage that you don't need to know anything about these nebulous 'pci registers' of which you speak. Silly hardware programmers always trying to reinvent the wheel.

  • why do companies insist on believing that by denying access to the specs, they somehow gain an advantage? It's not like telling a programmer how to communicate with the underlying hardware is going to tell them how it (the PCB/silicon) was designed

    Among -many- reasons...Company A writes a driver and designs a video card, publishes the specs- Company B comes along, designs a card that works with that spec, and gets driver development for free.

    I find it hard to believe that OpenBSD developers don't under

  • It's not like telling a programmer how to communicate with the underlying hardware is going to tell them how it (the PCB/silicon) was designed, so why make this information secret?"

    No, that's definitely one of the reasons it's done. Giving specs of how to communicate with the device gives the competition the chance to write very thorough and directed tests to determine with much greater ease how things were implemented in the hardware. Plus, just seeing in general how the driver is communicating with t

  • Patent liability (Score:5, Insightful)

    by jeffmock ( 188913 ) on Tuesday June 14, 2005 @06:18PM (#12818301)
    I have experience with a few different companies that make chips for PCs. I've found that the most common reason for keeping specs proprietary is patent liability. Areas like computer graphics are minefields with thousands and thousands of patents held by unfriendly entities. If you publicly release a detailed spec for your graphics chip you are inviting these unfriendly patent holders to look for potential litigation.

    It's not like nVidia and ATI are looking for reasons to sue each other, it's more about some no-name holding company looking to litigate something like Cadtrak's XOR Cursor [base.com] patent.

    This might also be a competitive thing for Microsoft since they own a big pile of 3D graphics patents from SGI [theregister.co.uk]. Microsoft might take legal action against a chip supplier that publishes a spec for a 3D graphics chip that violates one of the old SGI patents.

    In my experience most tech companies are now pretty hip about linux and free software, but the potential downside holds them back from releasing specs to the community.

    jeff
  • If there's no significant forseeable profit in doing so, however, why would they bother ?

    Don't a good number of companies give what are essentially specs ( possibly bundled with a few easily reproduced tools ) under the guise of a licensed developer program or some such?

  • by ThePhilips ( 752041 ) on Tuesday June 14, 2005 @06:23PM (#12818354) Homepage Journal
    Sorry for breaking /. traditions. I have worked for three hardware companies. I'm working for one right now.

    I'm not writing documentation, but seldom help with some technical details and help with translations.

    Guys, just to understand the problem you have try first write something. Writing good documentation would require someone who can think straight and clearly. And as you can imaging if company got such guy/girl - s/he will be busy doing product itself, rather than documentation. That's first.

    Second. On PC market change of technologies occurs every half of year or something like that. Writing documentation, getting thru all bureaucracy for confidential document to be released will be precisely about this half of year. In other words, when documentation is ready - it is already outdated. You can btw notice that industries with longer release cycles normally end-up with decent documentation - they have time and money. Having no money you cannot afford longer release cycle. Telcos are good example of that. Industrial automation is another one.

    So PC industry is sort of its own worst enemy. Tight competition force producers to save where possible - e.g. optional component such as documentation. If you have some bright heads, producer can manage to update product line more often - edging against competitors - but again bright heads will be busy with product release, rather than its documentation.

    Having dedicated personnel to handle documentation is just expensive.

    P.S. One more problem is when product is partially based on some licensed third party development. Most small producers have to license things, since they cannot develop everything in house. Than it happens that documentation ends up with hell a lot of copy'n'pasting from third party one. To release that you have to get a permission from third party: but in most situations you will find out that third party has licensed some parts itself. In the end no-one just want to risk releasing the documentation, especially in litigious U.S.: most companies when finding their parts in someone's else released products may start asking for fees. With all consequences. Hiring experienced attorney for going thru all this licensing mess - and getting clearance from all involved parties - will cost a lot money, most producers just not able to afford.

  • by devphaeton ( 695736 ) on Tuesday June 14, 2005 @06:26PM (#12818373)
    It's not like telling a programmer how to communicate with the underlying hardware is going to tell them how it (the PCB/silicon) was designed, so why make this information secret?

    Granted things like video cards and ethernet cards and stuff are significantly more complicated than say, guitar stombox effects and amplifiers, but electronics are electronics. It is not entirely impossible to look at the part itself and map out all the traces on the board (gets harder on multilayer boards, but it's still not impossible). Parts are parts, in the case of resistors, capacitors, diodes and stuff, and they're all marked and/or measurable. Lots of circuits have common subcomponents that are 'universal'- no different than linked lists or binary trees are to programming. Maybe you'll see a proprietary IC, but its manufacturer might have the specs available- I haven't seen an IC data sheet yet that doesn't have an internal schematic of the IC. You might be able to buy them from that manufacturer directly, or build the equivalent from other ICs and parts.

    Far as I can tell though, most ICs are pretty standard and available.

    So then... releasing their specs or not, it makes no difference on whether or not someone could figure out how their card works and/or clone it.

    Yes I realize this takes a lot of work and man-hours to do, but surely this happens in industry of all sorts all the time.
  • by jg ( 16880 ) on Tuesday June 14, 2005 @06:31PM (#12818410) Homepage
    Not to say there aren't other reasons already mentioned here, but the most common situation I've seen (and I got quite a few specs released out of DEC in the early '90's), is that the specifications often have a mixture of information considered proprietary (e.g. detailed logic design) and the programming information.

    Seldom were there a nice set of documents, partitioned between programming and logic design.

    So you have to track down the right documents, edit out the stuff that hardware folks are worried about, and get the right sign-offs. And you therefore have to deal with whatever random document preparation system was used by the engineers to do the documents.

    This all turns out to be a fair amount of time, trouble and hassle.

    So even if there aren't other paranoid concerns, it is harder than one might naively think.
  • by chiph ( 523845 ) on Tuesday June 14, 2005 @06:32PM (#12818419)
    ...there are no specs.

    Often products are created & sold based on some back-of-a-napkin drawing that a manager handed to development. I've been fortunate in my career -- I've been lucky to get them on notebook paper. It's much nicer than trying to figure out what was drawn through the martini condensation stains...

    Chip H.
  • I just spent the entire afternoon looking for a webcam that we could use with linux for a project.

    I tested just about every model avaliable... and none met the requirements, wich are work with linux and be recognized by Java Media Framework.

    I know that there is a standart for USB MassStorage devices, so is just a matter of implementing ONE driver that will be compatible with every hardware that implements this standart.

    Standarts make easy for developers to create drivers, and for vendors to make compatible devices. There are lot's of success cases out there, so why keep on creating non-standatized devices!?!?!
  • by tlambert ( 566799 ) on Tuesday June 14, 2005 @07:57PM (#12819087)
    R&D Costs for driver development can't be recouped

    When BusLogic came out with their AHA1540/AQHA1542 compatible SCSI controllers, they did several things:

    (1) They leveraged Adaptec's R&D effort on driver development so that they didn't have to spend their own money developing drivers.

    (2) They avoid the effort of convincing Microsoft to ship with the drivers as part of Windows; never underestimate the barrier to entry a separate driver disk represents: for NT 3.51, you had to install the driver disk twice during the installation process, and a third time post-install to use a third party disk controller, and it was not well documented where or when NT 3.51 would reference the disk, not find it, and simply crash (you "just had to know").

    (3) By making the card's interface compatible with an existing card, they avoided all the R&D necessary to get from a concept to a working interface.

    So basically, BusLogic got a free ride on Adaptec's dime in a number of areas, and Adaptec was left holding the bag, having to charge a higher amount to recoup their R&D investment, leaving BusLogic to undercut their prices and steal their market.

    That's not to say that I totally agree with Adaptec, or that bad designs which can't be safely exposed without risking physical damage to the devices (Diamond Multimedia video cards[*]) or legal repercussions (Oscillator/PLL tuned WiFi cards that don't have hard-wired frequency bands) don't exist, but I can certainly understand the position of companies who don't want to sacrifice hard-earned product lead-times, OS vendor relationships, or actual R&D results on the altar of public domain.

    [*] Diamond, in particular, pisses me off, since any halfway decent software engineer could have separated the model and view from the controller, and made their cards both Open Source friendly and non-x86 architecture friendly, and the EE who wrote the firmware didn't.

    -- Terry
  • Several reasons (Score:5, Insightful)

    by sjames ( 1099 ) on Tuesday June 14, 2005 @11:44PM (#12820539) Homepage Journal

    There are a few reasons I have seen based on RE drivers. I'll name a few here in no particular order.

    Embarrassment. Sometimes they don't want to tell you that it's necessary to reset the chip repeatedly until it just happens to initialize correctly (probably due to a design flaw).

    More embarrassment. They don't want to admit that many of the so-called 'hardware features' are really implemented (poorly) in the driver. Many IDE "RAID cards" are just a bunch of IDE co ntrollers. The RAID is in the driver. The driver's RAID implementation is not generally anywhere near as good as the Linux soft raid device.

    Closely related to the above, for (snake oil) security devices, they don't want to document that flipping bit 5 of the 3rd register will bypass all protection.

    The IP isn't theirs. The product is just relabled.

    Their default answer to anything is NO, and they haven't (and probably won't) give it any thought.

    In the case of some graphics cards, they don't want the public to find out the driver has hacks in it to cheat the benchmarks.

  • by Animats ( 122034 ) on Wednesday June 15, 2005 @01:37AM (#12820989) Homepage
    Go to ViaArena [viaarena.com]. Click on "Open Source", and go from there. Source for drivers for their Ethernet and graphics chips is provided.
  • Support (Score:3, Insightful)

    by HalWasRight ( 857007 ) on Wednesday June 15, 2005 @01:39AM (#12820998) Journal
    While many posters have already pointed out that it COSTS MONEY to produce reasonable docs, the other cost is support. Sure as hell if a device company produces docs for a part, some kid is going to call their support lines to ask about some oddness that really doesn't matter, because that kid doesn't work for Dell and therefore doesn't represent tens (if not hundreds) of thousands of units in sales.

    When the number of device driver writers for your part numbers in single digits, you don't need super great docs. When you try to write good docs, the next thing people will complain about is the quality of the docs!

  • Very simple (Score:3, Interesting)

    by borjam ( 227564 ) on Wednesday June 15, 2005 @02:59AM (#12821205)
    It's very simple: back in the old days, when there was no monopoly, many chip manufacturers gave away thick, printed databooks. It was expensive for them, but they needed developers to use their products.

    Now, however, there is a monopoly. You don't need to attract developers. The only concern is to have a driver for Windows, and having that driver included with the Windows install disk, so that your device, be it a soundcard, graphics card, or whatever, is "easier" to use. I wonder if there is a "dark hand" behind it...

    Some years ago I sent a proposal to the European Comission: banning the sale in Europe of peripherals for which there is no public interface information available. It should not hurt the manufacturers, as the information can be made freely available in Internet (it's cheaper than shipping huge printed manuals), but it would have a side effect: the driver advantage for Window could disappear.

Math is like love -- a simple idea but it can get complicated. -- R. Drabek

Working...