Поскольку проект первого PC нельзя было запатентовать, любая компания могла дублировать аппаратные средства IBM PC. Нужно было лишь приобрести те же самые чипы, что и IBM, у тех же производителей и поставщиков и разработать новую системную плату с аналогичной схемой. Чтобы помочь в этом, IBM даже издала полный набор схем своих системных плат и всех плат адаптеров в очень детализированном и легкодоступном техническом руководстве. У меня есть несколько этих первых руководств IBM, и я все еще заглядываю в них время от времени, когда хочу узнать что-нибудь об особенностях PC на уровне элементов.
Труднее всего было скопировать программное обеспечение (имеется в виду программное обеспечение IBM PC), которое было защищено в соответствии с законом об авторском праве. Компания Phoenix Software (теперь известная как Phoenix Technologies) одна из первых разработала законные методы решения этой проблемы: оказывается, в соответствии с законом можно разработать (но не скопировать!) программы, которые функционально дублируют программное обеспечение, в частности базовую систему ввода-вывода (BIOS). Система BIOS представляет собой набор управляющих программных компонентов, которые непосредственно "руководят"
аппаратными устройствами компьютера. Эти компоненты называются драйверами устройств, поэтому BIOS является набором основных драйверов устройств, необходимых для управления и контролирования системного аппаратного обеспечения. Операционная система (подобная DOS или Windows) использует драйверы BIOS для взаимодействия с различными аппаратными и периферийными устройствами.
Итак, в компании Phoenix были созданы две группы инженеров по разработке программного обеспечения, причем особенно тщательно следили, чтобы во вторую группу входили специалисты, которые никогда прежде не видели код BIOS, разработанный IBM. Первая группа исследовала базовую систему ввода-вывода, разработанную IBM, и полное описание BIOS. Вторая читала описание, составленное первой группой, и намеренно с самого начала кодировала новую базовую систему ввода-вывода, которая делала все то, что было описано в составленной спецификации. Конечным результатом стала новая базовая система ввода-вывода, написанная с самого начала с кодом, хотя и не идентичным коду IBM, но имевшим точно такие же функциональные возможности.
Компания Phoenix назвала это подходом clean room, и этот подход позволяет выходить из любого допустимого положения. Поскольку первоначальная базовая система ввода-вывода IBM PC содержала только 8 Кбайт кода и имела ограниченные функциональные возможности, дублирование ее с помощью указанного подхода не составляло особого труда. По мере изменения базовой системы ввода-вывода IBM другие компании, разрабатывавшие BIOS, обнаружили, что относительно несложно своевременно вносить изменения, соответствующие изменениям IBM. Команды теста POST (Power-On Self Test), являющегося частью BIOS, в большинстве базовых систем ввода-вывода даже сегодня занимают приблизительно 32-128 Кбайт. В настоящее время не только Phoenix, но и такие компании, как Award, AMI (American Megatrends) и Microid Research, разрабатывают программное обеспечение BIOS для производителей компьютеров PC.