Как стать автором
Обновить

UNIX. Коммерческая реализация

Время на прочтение9 мин
Количество просмотров3K
imageПривет, Хаброжители! Мы сдали в типографию очередную новинку "Время UNIX. A History and a Memoir". Из книги вы узнаете о том, как зарождалась система Unix, чем она примечательна и почему занимает столь важное место в компьютерном мире.
Вашему вниманию представлен отрывок одной главы из книги «Коммерческая реализация».

Коммерческая реализация


Считалось, что компании AT&T запретили коммерческое распространение Unix, потому что как государственная монополия она составляла конкуренцию другим поставщикам операционных систем, используя доходы от телекоммуникационных услуг для перекрестного субсидирования
разработки Unix. Самое большее, что AT&T смогла сделать в этой ситуации, — продавать лицензии Unix корпоративным клиентам за 20 тысяч долларов (в то время как образовательные учреждения получали лицензию на льготных условиях), но в ограниченных количествах и без
какой-либо поддержки. Такая политика позволила избежать санкций от регулирующих органов.

7.1. Разделение

Несмотря на регуляционные меры, к 1980 году начались нападки на AT&T как на монополию. Еще в 1974 году Министерство юстиции США начало антимонопольный процесс против AT&T на том основании, что компания обязывала абонентов использовать только телефоны, произведенные Western Electric, которые не продавались, а сдавались в аренду, и арендная плата составляла значительную часть доходов. Министерство юстиции потребовало от AT&T отделить подразделение Western Electric, которое производило оборудование.

Вместо этого AT&T предложила разделение на основной филиал, предоставляющий услуги междугородной связи, и семь региональных телефонных компаний (Baby Bells), которые предоставляли бы местную телефонную связь в своих географических зонах. Подразделение Western Electric AT&T хотела сохранить за собой, согласившись убрать требование к операционным компаниям пользоваться только их оборудованием. Оставляла она себе и Bell Labs.

Мировое соглашение с Министерством юстиции, по которому AT&T отказалась от компаний-операторов, было окончательно достигнуто в начале 1982 года и вступило в силу 1 января 1984 года.

Разделение стало резким поворотным моментом, который в конечном итоге привел к упадку AT&T. Следующие 20 лет просчетов и неправильных решений превратили Bell Labs в жалкое подобие того, что было раньше, когда у них была ясная и четкая миссия, а также адекватное и стабильное финансирование.

В 1984 году от Bell Labs отделилась дочерняя копания, получившая название Bellcore (Bell Communications Research), которая должна была предоставлять исследовательские услуги для Baby Bells. В Bellcore ушло немало людей из отдела исследований, в основном те, кто занимался коммуникациями. Оказались в их числе и некоторые коллеги из подразделения 1127, в частности Майк Леск и Стю Фельдман. Но в какой-то момент региональные телефонные компании решили, что исследования им не требуются, и Bellcore была приобретена компанией SAIC и переименована в Telcordia. В конечном итоге она оказалась в собственности шведской телекоммуникационной компании Ericsson.

Кроме этого, в 1984 году Bell Labs переименовали в AT&T Bell Laboratories, поскольку в соответствии с мировым соглашением во всех прочих случаях AT&T не разрешалось использовать имя Bell. Нам настоятельно рекомендовалось всегда использовать только полное название.

7.2. USL и SVR4

После разделения на смену неспособности и нежеланию AT&T торговать Unix пришли попытки активной коммерческой деятельности, которые начала предпринимать часть компании, организационно весьма удаленная от отдела исследований. Физически они тоже находились от нас довольно далеко, занимая здание в городе Саммит, Нью-Джерси. Так как его окружали оживленные шоссе, неформально его называли Островом автострад (Freeway Island). Первоначально эта организация называлась Группой поддержки Unix (Unix Support Group, USG), но в итоге получила имя Unix System Laboratories, или USL. Первую USG создал в 1973 году Берк Таг в попытке обеспечить централизованную поддержку. Со временем эти группы расширили свою деятельность, в числе прочего занявшись продажами и рекламой.

Несомненно, рынок для продаж Unix существовал. Можно даже сказать, что его непреднамеренно создала AT&T, раздавая лицензии университетам. Ведь студенты, привыкшие работать в этой ОС, хотели продолжать и после выпуска, уже устроившись в коммерческие компании, которые могли позволить себе покупать лицензии за деньги. С 1984 года USL прилагала массу усилий для превращения Unix в профессиональный коммерческий продукт. Кульминацией стала версия System V Release 4, или SVR4. Компания AT&T инвестировала значительные ресурсы в то, чтобы сделать эту версию стандартной реализацией и тщательно определить совместимость как кода, так и объектных модулей. Я думаю, важным было именно внимание к стандартам и совместимости.

Подробности развития SVR4 и взаимодействия AT&T с сотрудниками и конкурентами в течение десяти лет не слишком интересны. Поэтому я не буду на них останавливаться, тем более что в некотором смысле они уже не актуальны: фокус внимания сместился в сторону ОС Linux. Посвященная System V статья в Википедии описывает ситуацию так:

Отраслевые аналитики обычно характеризуют коммерческую версию Unix как переживающую период медленного, но неуклонного упадка.

Разумеется, речь идет только о коммерческой версии; варианты с открытым исходным кодом, такие как представители семейства BSD, о которых мы поговорим в следующей главе, живут и процветают.

В линейку продуктов AT&T кроме операционной системы входили и различные вспомогательные программы, в том числе компиляторы для Си, C++, Фортрана, языка Ada и даже Паскаля. В основном они базировались на портативном компиляторе Си Стива Джонсона. Много сил тратилось на стандартизацию с целью обеспечения совместимости исходного кода и двоичных форматов в библиотеках.

Я в этот период возглавлял отдел Бьёрна Страуструпа, что означало частые контакты с USL по поводу развития C++. По большей части они оказывались взаимовыгодными, но бывали и случаи, когда четко проявлялась разница приоритетов у отдела исследований и организации, отвечавшей за продажу продукта. Например, в 1988 году у меня была бурная дискуссия с менеджером USL.

Менеджер: Нужно исправить все ошибки в компиляторе C++, но его поведение при этом должно остаться без изменений.

Я: Это невозможно. Исправление ошибки по определению приводит к изменению поведения.

Менеджер: Брайан, ты не понял. Ты должен исправить ошибку, но поведение компилятора при этом меняться не может.

Формально я был совершенно прав, но при этом прекрасно понимал, почему на меня давит менеджер: слишком крупные или слишком быстрые изменения — серьезная проблема для тех, кто занимается разработкой программного обеспечения с использованием новых языков и инструментов.

USL открыла в Японии дочернюю компанию Unix Pacific, руководителем которой стал много лет проработавший в Bell Labs в отделе исследований Ларри Крум. В результате в рамках технического сотрудничества я дважды посещал Японию на деньги компании. Во время поездки для обмена опытом с крупнейшей телефонной компанией Японии NTT я получил четкое представление о неофициальной иерархии. Исполнительный директор должен был играть в гольф со своим коллегой из NTT. Директор Центра играл в теннис со своим коллегой. Таким, как я, скромным руководителям отделов была предложена поездка за покупками в Токио, от которой я с благодарностью отказался.

Не все попытки AT&T извлечь из Unix коммерческую выгоду оказывались успешными, но стандартизация Unix стала большим подарком всему сообществу. Несмотря на возникавшие время от времени противоречия между отделом исследований и USL, должен сказать, что в USL работала большая группа талантливых коллег, которые внесли значительный вклад в Unix и связанные с ней системы программного обеспечения.

7.3. UNIX

Когда-то в начале существования Unix ее опекуны из Bell Labs решили, что имя — имеющий ценность товарный знак, который должен охраняться, что с коммерческой точки зрения, безусловно, стало правильным решением. Они пытались не допустить превращения этого имени в общее понятие, которым может пользоваться кто угодно. Подобное уже произошло с такими словами, как аспирин (в США, хотя и не везде), эскалатор, застежка-молния и (относительно недавно) App Store.

В результате появилось требование к сотрудникам Bell Labs: использовать имя корректно. В частности, его нельзя было употреблять как самостоятельное существительное («Unix — это операционная система»). Оно должно идентифицироваться как товарный знак и фигурировать в качестве определения, записанного в верхнем регистре. То есть допустимым был только вариант «операционная система UNIX», что порождало нелепые предложения вида «Операционная система UNIX — это операционная система». В 1984-м нам с Робом Пайком пришлось отстаивать название нашей книги The Unix Programming Environment (в русском переводе «UNIX. Программное окружение»), потому что его пытались превратить в The UNIX Operating System Programming Environment. В конечном итоге мы пришли к компромиссу: на обложке дополнительной информации и товарного знака не будет, но на титульном листе появятся почти невидимая звездочка и примечание.

Громоздкая формулировка была проблемой, особенно для тех, кто серьезно относился к своим текстам, поэтому искались различные обходные пути. Например, в стандартный пакет макросов для Troff ms Майк Леск добавил команду форматирования, которая добавляла «UNIX» в верхнем регистре и автоматически создавала сноску на первой странице. Обычно сноска выглядела так:

† UNIX is a trademark of Bell Laboratories (UNIX — торговая марка Bell Labs).

Но стоило воспользоваться командой с дополнительным недокументированным параметром, как текст менялся:

† UNIX is a footnote of Bell Laboratories.

Не думаю, что когда мы время от времени использовали эту шутку-сюрприз, кто-то хоть раз обращал на нее внимание, но этот код все еще присутствует в стандартном пакете макросов.

При этом слово Unix применялось для товаров и услуг, не имевших ничего общего с операционными системами, например для ручек, показанных на рис. 7.1, для книжных шкафов с рис. 7.2 и огнетушителя с рис. 7.3. Все это, судя по всему, было произведено за пределами США и, соответственно, не попадало под американский закон о товарных знаках. Книжные шкафы так вообще датируются 1941 годом, то есть появились еще до рождения Кена и Денниса. Еще один очаровательный пример: детские подгузники Unix от компании Drypers, которая использовала Unix как сокращение слова unisex (для детей обоего пола).
image

image

image

7.4. Связи с общественностью

В Bell Labs постоянно приходили посетители, а с середины 1970-х до начала 1980-х стали проводиться презентации для туристов. Небольшая группа усаживалась в конференц-зале, а члены Центра кратко рассказывали, что такое Unix и почему она важна для AT&T и всего мира. Чаще всего эти презентации проводили Майк Леск и я. Мы обладали одним и тем же недостатком: постоянно на это жаловались, хотя на самом деле нам нравилось.

Среди посетителей встречались как простые смертные, так и «выдающиеся». К последним относились важные для AT&T лица, на которых требовалось произвести впечатление, а иногда и просто обладатели громких имен. Например, в 1980 году я делал презентацию для Уолтера Анненберга, основателя журнала TV Guide. Именно на этом он заработал деньги, которые, возможно, помогли ему стать послом в Великобритании, хотя на момент, когда я показывал ему чудеса Unix, его дипломатическая карьера уже завершилась. Как очень важного гостя его сопровождал президент Bell Labs Билл Бейкер. Я часто включал в свой репертуар демонстрацию конвейеров, показывая, как соединением программ друг с другом можно быстро решать актуальные задачи. Я использовал сценарий оболочки для поиска в документе орфографических ошибок, потому что это был хороший пример длинного конвейера, помогающий понять, как существующие программы могут комбинироваться новыми способами.

Сценарий проверки правописания spell был создан Стивом Джонсоном. Основная идея состояла в сравнении слов документа со словами из словаря. Орфографической ошибкой могло оказаться любое отсутствующее в словаре слово. Выглядел сценарий примерно так:

image
Все эти программы уже существовали. Самая необычная из них comm позволяла искать строки, которые присутствовали в двух отсортированных входных файлах, или строки, которые присутствовали в одном или другом вводе, но не в обоих сразу. Словарь в папке /usr/dict/web2 содержал слова из второго издания словаря Уэбстера, по одному на строку.

Однажды мне пришлось провести презентацию для Уильяма Колби, который в то время был директором Центрального разведывательного управления (ЦРУ), то есть, несомненно, важным человеком. Его тоже сопровождал Билл Бейкер, который как глава президентского консультативного совета по внешней разведке сам обладал серьезными полномочиями.

Я хотел показать, как Unix упрощает некоторые виды программирования, но сценарий spell был достаточно медленным, а я предпочел не затягивать презентацию. Поэтому запустил этот сценарий заранее, записал вывод в файл и написал новый сценарий, который просто «засыпал» на две секунды, а затем выводил результаты, полученные за день до этого:

sleep 2
cat previously.computed.output

Эта демонстрационная техническая разработка прекрасно себя показала. Если мистер Колби вообще что-то понял, то, наверное, подумал, что проверка правописания была выполнена очень быстро. Но это урок для всех, кто посещает презентации. Не стоит верить всему, что вы там видите!

Отдел связей с общественностью также создавал рекламные фильмы, рассказывающие о чудесах Bell Labs, в том числе и о Unix. Благодаря YouTube я могу посмотреть на старых друзей (и на себя) в то время, когда мы все были моложе, а наши шевелюры гуще.

Была даже небольшая серия печатной рекламы Unix. Насколько я помню, детские кубики на рекламном плакате с рис. 7.4 были моей идеей. Плохо различимый фон — предоставленный мной документ, который был создан в программе Troff.

image


Более подробно с книгой можно ознакомиться и оформить предзаказ по специальной цене на сайте издательства
Теги:
Хабы:
Всего голосов 6: ↑6 и ↓0+6
Комментарии2

Публикации

Информация

Сайт
piter.com
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия