20070618 Monday June 18, 2007

Hardware Archaeology

Cactus Pillow

One of the running themes of Free/open source software has been how easily drivers for chipsets in old (and often not-so-old) hardware can be created. Some semiconductor vendors keep a tight hold on the details of their chips, and discourage F/OSS developers strongly. The recent news that Open Sound is available as Free software under both GPLv2 and CDDL is a great step forward, and the availability of drivers for R500-family AMD video cards is also fantastic.

As a long-term manufacturer of fantastic hardware, Sun is frequently approached by groups of developers looking for documentation for the chips used in its products. These days, Sun's newest chips are open source already, and there's a good web-site for documentation for current chips. This has already resulted in great things.

More of an issue, though, are the older systems. In plenty of cases, rather than using I/O chips sold on the open market by companies like Broadcom, nVidia, and ATI, Sun's engineers have actually designed chips specifically for the work at hand. Unlike those companies which sell I/O chips for a living, and thus have a moral duty to provide complete, externally presentable documentation for their chips, Sun's engineers often had no business need to document the chip design for public consumption (or, in quite a few older cases, at all!) Even worse, in some cases the chips Sun has made use designs and ideas acquired from third parties as a 'trade secret'. In those cases, public documentation just can't be made available.

So what happens when people ask for documentation? Well, there are at least five cases:

  1. The product in question may be past it's end-of-life date and there's actually no team anywhere in Sun that can answer the question.
  2. The documentation may not exist. Writing it would require costly reverse engineering (even if people with the skills to do so are still at Sun).
  3. It may exist for internal use, but releasing it outside Sun would need legal review to check for 'trade secrets' belonging to others. That legal review is time consuming and costs real money. And the answer may turn out to be "can't release, can't name the company that's obstructing us".
  4. It may exist and it may be possible to release it. Doing that, though, is actually a non-zero cost since usually the documentation is in an old format of some kind.
  5. It may actually exist in an online-ready form.

The question has once again been raised (over on Jonathan's blog) of whether Sun is acting in bad faith over interface documentation for older systems. I've done a cursory check and I believe answers of "no, we can't help" fall almost exclusively in the first four classes above and mostly in the first two. But I do understand why passions are raised and scepticism is rife.

Jonathan asked me to look into this, to ensure we're pursuing an open path across all of Sun, not simply the software group. We take all input seriously, and we can't solve all problems for all parties, but we're committed to doing our best to faithfully engage with all the communities we serve, in the same spirit as the existing Open Source Ombudsman Scheme. With the support of my team and others in the community I'll try to build a new scheme that is fair and transparent. Watch this space!

Update Aug 27: The new FOSS Open Hardware Documentation wiki is now open for business.


technorati del.icio.us digg slashdot

links for 2007-06-18


technorati del.icio.us digg slashdot