"What goes into making an OS to be Unix compliant certified?" Terry Lambert: "A lot."
I was the tech lead at Apple for making Mac OS X pass UNIX certification, and it was done to get Apple out of a $200M lawsuit filed by The Open Group, for use of the UNIX™ trademark in advertising.
[..]
I was asked if I could lead a team to do #1. I said “Yes, under the condition that I could use the compliance project as a hammer to force other parts of the organization to make changes in their own code base, and that I could play it rather loose with commit rules regarding what it said in the bugs database for a given code change, and what the given code change actually did, in addition to what it said in the bugs database”.
[..]
And Ed Moy and I made a two line change that moved a type definition from
<stdio.h>
to where it was supposed to be, instead. One line of change in<stdio.h>
, and another in the file the type was actually supposed to be located in.And we ran the tests again, and one of the header file errors in the tests went away.
So we did a “world build”, where everything that was in Mac OS X, including iTunes, got rebuilt.
That — essentially, one line change — broke 152 (from memory; that number sticks up, but it might have only been 137) projects failed to build.
Including iTunes.
And so Ed and I went through, and fixed every single one of those projects to build with the change, or without the change.
And we did another “world build”, and everything built.
Yes, we had access to all of Apple’s source code, at that point in the game.
And so we submitted high priority bug fixes to the projects, some of which downgraded the priority immediately, and some of which they simply fixed, since we had provided them with the patch already.
And then the VP of engineering, Bertrand Serlet, re-escalated the priority on the ones which had been downgraded.
A fascinating story of the doors opened by certification, the things people have been wanting to do for a long time anyway but never got the chance to, and the arithmetic of several tens of millions of dollars being less than several hundreds of millions of dollars.