Slashdot Mirror


Free/Open Source Software Hardware Requirements?

Bender asks: "Most on Slashdot seem to be concerned with getting Free/Open Source software to be compatible with hardware (firmware, register sets, etc). My question is from the other side of the table: I'm in the hardware business and I'm wondering if there are any central guidelines to better guarantee compatibility with Linux/*BSD. As an example, to guarantee that our hardware runs Microsoft Windows, we have to conform to the Windows Logo Program Requirements. These requirements dictate (among other things) firmware interfaces, debug ports, and DRM. Some of these requirements, if not implemented carefully, could trigger incompatibilities with non-Microsoft operating systems. Is there a Linux/*BSD equivalent to the Microsoft requirements to allow hardware designers to build OS agnostic systems?"

6 of 228 comments (clear)

  1. This is no problem.. by RawDigits · · Score: 5, Informative

    If you release complete documentation of said hardware ...

  2. Follow published standards by Anonymous Coward · · Score: 5, Informative

    Conform to freely available published standards. If you have good reason to produce proprietary hardware, publish the programming interface in sufficient detail for people to make a clean-room implementation of drivers. And don't worry -- free drivers will follow.

  3. Open Hardware Certification by Anonymous Coward · · Score: 5, Informative

    The obvious solution is the Open Hardware Certification at http://www.open-hardware.org/

  4. There's a few things you can do to help by PugMajere · · Score: 5, Informative

    First of all, provide documentation and an engineering contact to answer questions about the documentation. Keep in mind that you will get asked questions from sources other than those related to the core Linux development team - the *BSD teams may have questions for you, some hobbiest may ask questions - answer them all. Incorporate the answers to their questions into your documentation, etc.

    If you are doing anything that is truly groundbreaking, for your company, but has been done in other places, at other times, the experienced OS developers in the free software community can sometimes provide invaluable feedback on what is wrong with your design.

    For example, as I understand it, the AMD64 architecture did not have an IOMMU until rather late. The Linux developers working with AMD on providing support for this architecture pointed out that it was useful and a huge performance win to have one, so AMD reworked that into the architecture. That kind of feedback is invaluable, and something a company like MicroSoft simply can't give, because they lack the necessary cross-platform experience to care. I believe the major Linux distributors are open to consulting arrangements of this type - approach them and ask them for assistance!

    If the hardware you have needs firmware to be loaded into it, consider what license the firmware is distributed under, and how that interacts with the licenses of the free software you are trying to work with. At the very least, make sure other people can redistribute the firmware, unmodified, so the users are not dependent on a download from your site.

    So, document the hardware interfaces. Answer questions on the hardware, and involve those more knowledgeable than your company early and often to give a better design.

  5. Intel is trying.... by ken-reno · · Score: 5, Informative
  6. Re:Logo? by athakur999 · · Score: 5, Informative

    The "Windows Logo Program System and Device Requirements" document linked on MS's page is 192 pages full of various hardware requirements. There's definately to it than just marketting. Most of the requirements look like pretty standard stuff to ensure that end users have as painless of an experience as possible. For example, motherboards must support booting from a CD-ROM drive and be able to support USB keyboards during bootup. Any built in USB ports must be enabled by default. Onboard graphics must be cable of 640x480 resolution. Hardware must be able to handle various shutdown modes (like hiberation) properly, etc.

    --
    "People that quote themselves in their signatures bother me" - athakur999