Why are hardware manufacturers keeping specs to themselves?

This is one question I have been interested in ever since I started using GNU/Linux.

Just think about it for a moment. About 20 years ago you got specifications for pretty much every piece of hardware you bought. You were given exact instructions on how to use the hardware you just bought, not only how to install it. Things have changed since then.

If you buy any piece of hardware today you actually have to expect not to get any documentation on how to "talk" to your new toy. You are only given a CD (sometimes even only a link to a homepage) containing drivers for a few specific operating systems, usually only Microsoft Windows.

Now I am no driver hacker and so I probably wouldn't be able to implement a driver for anything on my own anyways, but the Free Software community would largely benefit from hardware documentation, as there are a lot of capable driver hackers out there.

This is not a problem that only affects the Free Software community though. There are a lot of pieces of hardware which do not work on recent proprietary operating systems anymore due to lack of support by its manufacturers.
At least this problem would not exist for Free Software operating systems, such as GNU/Linux, if hardware makers would publish documentation of their hardware. The people still using devices which are well beyond their end-of-life could implement drivers on their own, not being dependent on anyone.

What I am really wondering about in this case is why hardware companies are unable to coin standards for accessing devices of the same class. It works perfectly well for USB (take USB mass storage devices as an example) and I do not understand why there can't be standardized interfaces to other hardware, such as network adapters, as well. On a very-low level these standardized interfaces do work. Just think of PCI, PCI Express or AGP.

Actually, if you think about this for a few more seconds you should realize one thing: Having standardized interfaces for devices of the same class would cut a lot of costs for hardware makers. Why? Oh well, if they design a brand new networking chip and still implement the given standard there would be no need of writing a new driver. Wait, there would be no need for per-device drivers at all. Implementing a common driver that accesses the standardized interface would be enough, for a whole range of devices.

So what am I asking of hardware makers? I would love to see companies creating devices of the same class to get together, create standardized interfaces, publish them and implement them in their new devices.
I know, this is not likely to happen anytime soon, so a more realistic approach is asking for Free Software drivers and/or documentation.

Personally I have stopped buying hardware which "works" with GNU/Linux, I have come to the point where I try only to buy hardware which either comes with Free Software drivers from the manufacturer or documentation which allows implementation of Free Software drivers.
This is probably the best way of showing these companies what you demand: Freedom.


  1. you have answered your own question ;)

    why should moving from win95 win98 winxp stop my printer from working, having no way to get this working in the next level of os means one thing... a dead printer..
    meaning if i wish to print i need to purchase another one.

    which is why i did not purchase another printer from lexmark. I never purchased another printer full stop.

    you used to get printers and devices with drivers for x86 Amiga, Atari and Macs all out of the box... never had to think about is it compatible...

    in the end you get what you pay for... :| which is a sad world as most just purchase the cheapest thing they see...

  2. I think the reason more drivers aren't open is that the manufacturer is afraid of getting sued by patent trolls in the USA. Many devices are relatively dumb and depend on the processing power of the host system to provide functionality. The more complex the driver the greater chance of getting sued.

    I agree there far too many cases of forced upgrades due lack of drivers for a new OS.

  3. I seem to recall and article about graphics card makers saying that they didn't release their source code because they didn't want their competitors to use it against them. Apparently some hardware that is highly dependent on silicon chips need some hacks in the driver code to deal with manufacturing variances in each chip. So if vendor X published their code, vendor Y might say "Look, their code is full of all these hack jobs and so their product is poor quality".

    But otherwise, yeah, open specs would be nice...

  4. A very good example of this issue in all the problems that Dennis K had when he released a bunch of "home-spun" drivers to allow legacy Creative sound cards to work with Windows Vista. Creative accused him of using their IP, and even though they have been quite slow to release any drivers of their own, they forced him to stop releasing his. Fortunately, this created such an uproar within the Creative community that Creative was eventually forced to allow him to continue.
    THIS is exactly the sort of co-operation we FOSS types can expect from the hardware industry - unless we vote with our wallets to the extent that they feel our pain, they will NEVER lift a finger to help us out.

  5. the manufacturers have found drivers as way of income. google for radeon upgrade to firegl. most radeon card use the same chipset with different quality peripherie chips. an open sorurce driver will of cause use all available power, where is the need to buy a new (better) card ? that support OpenGl ?
    The lack f standardisation is a other point even with IDE. reason: the have out-sourced the development to some clueless third party people. they just imlement the suff and forget out it. Mosttimes only the standard stuff works, use advanced features and find you device freesing. Additional that means that the formal producer has no clue what chips are inside and what the driver is doing. (see what problem cisco had after it was found to use GPL code, they did not have the sources nor did they know how produced the code, it took them same time to comply to GPL).

  6. There are no specs since people allow for it. People allow for it because they are "users", not pros. Years ago when computer buyers were pros all the specs were in place. Now, how do you expect the people who buy Windows to be treated?

    There are no standards because it is hard to create a standard before a class of devices is established. It is hard to do anything right on the first try. After a class has been established, everyone is happy and there is no incentive to create a standard. Besides, any standard simplifies compatibility but hinders innovation.

    USB mass storage is exceptional since it is just a merge of two well established concepts: a bus and a storage device.

  7. How do you find out if the Hardware comes with Free Software ? Do you have a website with a list ?

  8. I love the computer-related issues when I was in college did a study called bluetooth laser keyboard, where I learned a lot about the kind of blue-tooth technology, which is super interesting.

  9. Excuse me, I really enjoyed this information, thanks for sharing!