Реверс

Претензии, впрочем, уже начались. В начале прошлого года вокруг ReactOS разразился небольшой скандал: проект был обвинен в том, что заимствует дизассемблированный код Windows. Рассказ Алексея на эту тему напоминает детективную историю.


– Это было организовано небольшой группой лиц. По каким причинам – для нас осталось неизвестным. Несколько наших разработчиков решили пойти против всех остальных. Ситуация была следующая: мы периодически проводим различные исследования – например, взяли загрузочный сектор от Windows, дизассемблировали, написали комментарии и залили в SVN-репозитарий. А есть наш собственный бутсектор – он с ним никак не коррелирует. Но, как факт – виндовый бутсектор с комментариями у нас лежит в SVN. И они это выдали как величайшую проблему и попытались провести такую цепочку: один участник сообщает о нелегальном коде, другой – владелец SVN-сервера – его закрывает; и, вроде бы, планировалось провести голосование о закрытии проекта вообще.


Мотивы этих действий так и остаются неясными, и Алексей классифицирует свои соображения на эту тему как "теория заговора": "Видимо, были какие-то конкурирующие фирмы, которые захотели взять все в свои руки. Это был переломный момент – когда стал запускаться Explorer – и, возможно, у кого-то что-то переклинило". Как бы то ни было, «перехват» не удался – Алексей вовремя скопировал весь репозитарий кода к себе и оформил на себя доменные имена, получив полную независимость. Про реальные нарушения авторского права на тот момент ничего не известно:


– В то время мы уже детально озаботились этим вопросом – я думаю, ни один другой проект не анализирует легальность своих знаний так серьезно. Мы накопали целый ряд серьезных опенсорсных проектов, в которых наш бутсектор – это ничто.


Однако код в SVN все-таки стали проверять, и любые потенциально нарушающие копирайт материалы из открытого доступа убрали – на всякий пожарный. (Сейчас проверено уже 99.5 % всего кода, остальные полпроцента "заморожены".) «Чистоту» же поступающих извне патчей разработчики контролируют постоянно.


– Мы просматриваем все патчи. Во-первых, если это дизассемблирование и reverse-engineering, это сразу видно по некоторым особенностям. Во-вторых, спрашиваем, на чем основана реализация. Если человек присылает нам хороший testcase, в котором видно, как он вызывает функцию ядра, анализирует ее параметры, – без проблем. А вот, например, человек нам присылает патч с комментарием типа "увидел, тут у вас не реализовано, решил реализовать" – и код на две страницы. Как он его написал? Откуда взял? Мы такое брать не решились – ни одной ссылки на книжки, ни одного URL не привел. Хотя книг написано великое множество – архитектура описана. А все, что не описано, – ну, приходится изощряться. И без обратной разработки не обойтись.


В принципе, обратная разработка (reverse engineering) – например, дизассемблирование – не является нарушением авторского права. Тем не менее, прямое заимствование дизассемблированного кода, безусловно, нарушает копирайт (это считается созданием производной работы). Чтобы избежать нарушения, используют подход, называемый "clean room reverse engineering": один человек дизассемблирует программу, разбирается в том, как она устроена, пишет качественную документацию обычным текстом (без настоящего кода) и передает другому человеку, который, смотря только на эту документацию, уже делает свою реализацию. Только такой метод обратной разработки разрешается в соответствии с правилами ReactOS.


– В наших условиях отследить это на 100 % невозможно – но зачастую оно само так выходит. У нас есть люди, которые понимают в обратной разработке, и есть люди, которые пишут код. Вторые обращаются к первым – как это реализовано? Получают ответ. Пишут свой код.

Что дальше?

Порой в комфорте современных операционных систем мы забываем, что когда-то компьютеры были terra incognita, сулящей небывалые возможности, – и именно этим привлекали своих первых пользователей. Но многих людей продолжает манить эта неизвестность, и они находят себе новые неизведанные земли – и занимаются их освоением. Это желание двигало первыми разработчиками Linux Kernel в начале 1990-х годов. Вероятно, именно оно движет многими разработчиками ReactOS сейчас. А еще через десять лет, когда ReactOS станет таким же мэйнстримом, каким сейчас является Linux, оно будет двигать участниками какого-то другого проекта.

Редакция благодарит кафе «Кофе-бин» за содействие в организации съемки.

МЫСЛИ: О видимом и невидимом

Автор: Ваннах Михаил

В начале шестидесятых годов прошлого века, когда в Москве существовал магазин «Изотопы», по всему Советскому Союзу было принято строить типовые кинотеатры с высокотехнологическими названиями типа «Уран». И не менее типовым элементом их интерьера была конструкция из неоновых трубок, долженствующая изображать модель атома. Ядро и орбиты электронов вокруг него. Часто – с точечками самих электронов.

Наука Нового времени началась с наблюдений, выполненных при помощи оптических приборов. Если известные с античности, бытовавшие в арабском мире угломерные приборы – квадранты, октанты, астролябии – дали точные таблицы, позволившие установить законы Кеплера и перейти к математическим началам натуральной философии, то уже телескоп Галилея развалил на отдельные звезды серебро Млечного пути, обнаружил пятна на Солнце, фазы Венеры и спутники Юпитера. И все это было наглядным.

Если для понимания того, что расхождение во втором-третьем знаке таблиц движения планет заставляет нас откинуть воображаемые, но вполне наглядные небесные сферы и перейти к эллипсам, требовался огромный труд по изучению математики, то узнать, что на Луне есть горы, а Юпитер подобен Земле, ибо имеет спутники, можно было без труда. Всего лишь взглянув в телескоп.





И убедиться в существовании микроорганизмов можно было, всего лишь посмотрев на каплю воды в микроскоп. Доходило до анекдотов. Так, итальянская инквизиция на рубеже пятнадцатого-шестнадцатого веков одним из своих достижений считала конфискацию у некроманта необычайно жирного и отвратительного черта, заключенного в волшебный кристалл. Кристаллом выступала чечевичная линза, а роль черта играла обычная блоха. Однако добрые горожане, восхищавшиеся творениями да Винчи и Микеланджело, с удовольствием верили в некромантского черта, заточенного в хрустале. Они же верили своим глазам!

Но наука уверенно шла двумя дорогами. Наглядные наблюдения, доступные глазу любого, и математические описания, подчас требующие для понимания колоссального труда. Геометр Евклид говорил когда-то египетскому царю Птолемею Лагиду, что в математике нет царских путей. В науке царские тропинки существовали – в музейных коллекциях изобилуют богато украшенные рефракторы и рефлекторы, через которые наблюдали ход небесных светил и венценосные особы, и мелкие графья.

Были и другие наглядные физические приборы, зачастую очень изящные. Например, фигуры Хладни, образующиеся под воздействием стоячих волн на стальных или стеклянных пластинках, покрытых мелким сухим песком. Удивительно простой и грациозный опыт.

Конструировались также приборы, наглядно демонстрировавшие тайны Мироздания. Вот, скажем, любимый земскими просветителями теллурий – устройство из керосиновой лампы, вокруг которой обращались шар, изображавший Землю, а его, в свою очередь, обегал шарик, моделирующий Луну. Такое устройство показывало фазы Луны и солнечные и лунные затмения.

И атомная физика знала весьма наглядные общедоступные приборы. Сцинтилляскоп, например, – коробочка с отверстием, закрытым линзой. Такая коробочка, при условии малости отверстия, – самая легкодоступная модель абсолютно черного тела. А в ней волшебное свечение – сернистый цинк под действием мельчайшей крупицы радиоактивного вещества. Ускользающее черенковское свечение вокруг погруженного в бассейн демонстрационного реактора.

Казалось бы, выложенные газосветными трубками картинки атомов – продолжение, как и планетарий, той же достойной традиции. Только сделанной совсем уж общедоступной, донесенной даже до тех строителей нового общества, что выбрались в кино поглазеть на подвиги чекистов и угоститься в буфете бутылочным (а значит, неразбавленным!) жигулевским по двадцать пять копеечек за пол-литра, без стоимости посуды.

Но между планетарием и наглядным изображением планетарной модели атома есть принципиальная разница. Планетарий отображает то, что объективно существует, может быть увидено. Хоть мы и не видим блистательный мир звезд из-за солнечного цвета, городского вечернего освещения, атмосферных дымов, облаков или не той широты или долготы.

Наглядное изображение планетарной модели атома, распространенное до сих пор, рисует то, что на самом деле не существует. Реальность «странного», по выражению выдающегося популяризатора науки Даниила Данина, квантового мира внутриатомных процессов, имеет с этими картинками не больше общего, чем видимый итальянскими горожанами Возрождения чёрт с объективно существующей при отсутствии санобработки Pulex irritans, обычной блохе.

Но квантовая механика – это не мир средневековой демонологии, это вполне объективная научная и технологическая основа современной цивилизации. Да, основа пока лишь электроники и информационных технологий. Но вскоре – и всего человечества.

Недавний рост цен на хлеб объясняется увеличением спроса на зерно для производства топливного этанола. Запасы углеводородов ограничены. И задача рентабельного использования излучения термоядерного реактора, миллиарды лет устойчиво функционирующего в 150 миллионах километров от нас, наверняка потребует инженерного использования процессов квантовой механики. А для этого необходимо увеличить число людей, имеющих как можно более точное представление о них. Если не максимально близкое к реальности, то хотя бы асимптотически приближающееся к математическим, формализованным описаниям реальности. И к тому же людей, умеющих манипулировать этими представлениями в практических целях, как конструктор-механик манипулирует образами поверхностей и линий, накладывая на них ограничения, обусловленные свойствами материалов, законами кинематики и динамики.

Шотландский философ Давид Юм писал: "Единственная непосредственная польза всех наук состоит в том, что они обучают нас управлять будущими явлениями и регулировать их с помощью причин. Обладающие сходством объекты всегда соединяются со сходными же – это мы знаем из опыта; сообразуясь с последним, мы можем поэтому определить причину как объект, за которым следует другой объект, причем все объекты, похожие на первый, сопровождаются объектами, похожими на второй" [Юм Д., Сочинения в двух томах. Т.2. М., 1965, с.78.].

Управлять будущими явлениями. Как этого можно добиться? Опытом?


Герман Гельмгольц

Гельмгольц Герман Людвиг Фердинанд (Helmholtz, 1821—1894), выдающийся физик, математик, физиолог и психолог. Родился в Потсдаме, в 1843 году окончил Военно-медицинский институт в Берлине. Военный врач, профессор физиологии университетов в Кенигсберге, Бонне, Гейдельберге. С 1871 года профессор физики в Берлинском университете, с 1888-го директор физико-технического института в Берлине. Именно Гельмгольц в работе "О сохранении силы" (1847) дал математическое обоснование закона сохранения энергии и показал его применимость к процессам в живых организмах. Доказал применимость принципа наименьшего действия к тепловым, электромагнитным и оптическим явлениям, вскрыл связь этого принципа со Вторым началом термодинамики. Ввел понятие свободной энергии, был пионером теории вихревого движения жидкости и теории разрывных движений.


Гельмгольц обнаружил явление колебательного разряда лейденской банки – факт, сыгравший существенную роль в развитии теории электромагнетизма. По его предложению Генрих Герц провел опыты с электромагнитными волнами. Именно Гельмгольц создал офтальмоскоп и разработал теорию аккомодации. И теория цветового зрения – его детище!




Не верь глазам своим

А вот Герман Гельмгольц был весьма скептичен. И в отношении принципа причинности, и в отношении опыта. В "Физиологической оптике" он писал: "Принцип причинности носит характер чисто логического закона даже в том, что выводимые из него следствия относятся в действительности не к самому опыту, а к пониманию опыта и, следовательно, не могут быть опровергнуты никаким возможным опытом".

А ведь мало кто понимал суть опыта так, как Гельмгольц. И зрение – всего лишь частный случай чувственного восприятия. Вот наглядные примеры слов Гельмгольца.






Хорошо известна Т-образная фигура, предложенная ассистентом Гельмгольца Вильгельмом Вундтом. При взгляде на нее кажется, что вертикальная линия длиннее горизонтальной, хотя на самом деле они имеют равную длину. Эта иллюзия легко обратима. На рисунке рядом другая фигура, у которой обе линии – горизонтальная и вертикальная – воспринимаются равными, на самом же деле горизонтальная длиннее.

А вот иллюзия Эрнста Маха (1838—1916). Хотя принадлежит она не австрийскому физику, которого поминают при каждом сверхзвуковом полете и которого сильно не любил Ульянов-Ленин, а Францу Мюллеру-Лайеру.





Здесь все горизонтальные линии одинаковы, но в зависимости от направления стрелок воспринимаются по-разному. И на рис. 5 линия поделена точно посередине, хотя выглядит все совсем иначе!

Мы имеем дело с обычнейшей, нагляднейшей геометрией. И подводит нас элементарнейший глазомер, которым века и века пользовались каменщики и плотники, а их обязанности периодически исполнял любой взрослый мужчина – от басилевса Одиссея и императора Петра Великого до крестьянина из глухой деревеньки, затерянной среди болот.

Гельмгольц в "Руководстве по физиологической оптике" (1896) объяснял эти явления так: "Нетрудно видеть, что все свойства, которые мы им [объектам реального мира] приписываем, означают не более чем воздействия, производимые ими либо на наши органы чувств, либо на другие внешние объекты. Цвет, звук, вкус, запах, температура, гладкость, твердость относятся к первому классу; они соответствуют воздействиям на наши органы чувств. Химические свойства аналогичным образом связаны с реакциями, т. е. воздействиями, производимыми рассматриваемым физическим телом на другие. Так же обстоит дело и с другими физическими свойствами тел: оптическими, электрическими, магнитными… Отсюда следует, что в действительности свойства объектов в природе вопреки их названиям не означают ничего присущего самим объектам как таковым, а всегда указывают на их отношение к некоторому второму телу (в том числе к нашим органам чувств)".

Так что глазомер, некоторая совокупность зоркого глаза и интуиции, бесполезен даже в ряде ситуаций Среднего Мира, нашего обычного мезомира. Давайте пока не нырять внутрь атома, ограничимся миром электромагнитных явлений. Ими пользуется вообще вся цивилизация. Но откуда они пришли к нам?

Вот подводные лодки и воздушные корабли. Их мы видим в записных книжках Леонардо да Винчи, исполненных до оформления современной науки. Скрытые знания, наследие тайных обществ? Да нет, элементарная наблюдательность и способность к аналогиям. Мы же видим и стремительных рыб, и зависающих над цветками насекомых. Вот вам и прообразы вертолетов и субмарин.

А радио? Откуда оно пришло?

Возьмем книгу Василия Щепетнева "Темные зеркала". Альтернативная история с твердой научной фантастикой. Подчеркну для любителей жанра – именно твердой (hard SF). Тридцатые годы альтернативного двадцатого века. Конкуренция не рухнувшей в 1917 году Российской и Британской империй в деле освоения Марса. Никаких ракет – между планетами перемещаются неким пространственным переносом. Используя технологии, которые могли бы быть отдаленными следствиями геометрических многомерных теорий Калуцы-Кляйна, 5-оптики Бартини-Румера.

И в этом мире нет радио. Немыслимо? Но ведь оно не имеет природных аналогов. Электромагнитный шум молний, Солнца, Юпитера, центра Галактики? Так ведь нужно создать приборы, способные его улавливать.

А откуда приходят эти приборы? Что подвигло Гельмгольца порекомендовать Генриху Герцу (1857—94) заняться его опытами? Теория Максвелла. А что такое теория Максвелла? Можете ее объяснить наглядно? Автор этих строк, во всяком случае, не берется. Похоже, что к нашим услугам одно лишь высказывание Герца: "Теория Максвелла состоит из уравнений Максвелла". Ни чувства, ни интуиция, ни даже сама материя, данная нам в чувственном восприятии. Только математика. То есть изобретение радио – результат построения теории, рожденной разумом человека. Больше плод математики, чем природы.

А вот еще Герц: "Трудно отделаться от ощущения, что эти математические формулы существуют независимо от нас и обладают своим собственным разумом, что они умнее нас, умнее тех, кто открыл их, и что мы извлекаем из них больше, чем было в них первоначально заложено" [Клайн М., Математика. Утрата определенности. М., 1984, с.389.].

Так что те, кто говорят, что могут на основе знаний средней школы объяснить, как работает радиоприемник или телевизор, или холодильник, мягко говоря, заблуждаются. Функционирование этих общеупотребительных приборов описывает лишь математический формализм. Доступный немногим. И нет ли тут каких-либо обходных путей? Не царских, но общедоступных? От их существования, а вовсе не от упражнений правозащитников зависит судьба демократии. В полисе Эллады каждый гражданин мог объективно судить о навыках стратега и вороватости логисты [Чиновник, ведающий снабжением армии. От его должности произошла логистика]. Для этого хватало навыков домохозяина. А о судьбах нанотехнологий, которые определят жребии наций, даже в условии полноты информации смогут судить единицы. И не облеченные доверием избирателей или начальства, а владеющие формализмом квантовой механики [Это, к слову, камень в огород нетерпеливых читателей, которым-де тема о нанотехнологиях "ничего не объясняет". «Объяснить» нанотехнологические процессы, квантовую механику, нестандартный анализ и т. д. и т. п. может лишь соответствующее образование в определенной области. Ожидать понимания, прочитав журнальную статью, мягко говоря, наивно. И даже если вы чувствуете, что разобрались в незнакомой теме, перевернув последнюю страницу, – понимание это ложное. – Прим. ред.].


Давид Штраус

Давид Фридрих Штраус (1808—74), германский теолог, философ, историк и публицист. Автор очень важной для понимания девятнадцатого века книги "Жизнь Иисуса" ("Das Leben Jesu", 1835), в которой он провозгласил Иисуса Христа исторической личностью, но находил, что большая часть представлений о нем имеет позднейшее происхождение, и пытался выяснить, из каких греческих, еврейских и восточных элементов составились эти представления.

Приглашение Штрауса на кафедру богословия в Цюрих вызвало революцию и падение правительства в 1839 году. Штраус получил отставку, еще не вступив в должность. Небывалый случай влияния науки на политику!

Штраус отвергал догматическую религию; вместе с Фейербахом защищал пантеизм; из дарвинизма выводил неравенства людей и симпатии к феодализму; во время Франко-Прусской войны 1870 года был одним из германских шовинистов. Но именно ему принадлежит методология научного исследования мифов.




Три лика мифа

Миф ныне – прежде всего нечто небывалое. Миф о коммунизме, которому надлежало быть построенным к 1981 году. Миф об отдельных квартирах к году 2000-му или об ипотеке.

В первой половине ХХ века в Европе миф воспринимался как синоним идеологии. Вот "Миф двадцатого века" А. Розенберга. Книга, без знакомства с которой невозможно понять идеологию германского национал-социализма, обошедшуюся нашей стране в сорок три миллиона душ.

А есть и третье понимание мифа. Оно принадлежит богослову девятнадцатого века Давиду Штраусу.

И вот в русском переводе книги Штрауса "Das Leben Jesu fur das deutsche Volk bearbeitet" (1864), "Жизнь Иисуса, переработанная для немецкого народа", дано очень интересное понимание мифа: "История, которую миф рассказывает, необходима ему, чтобы выразить идею; чистая идея ускользнула бы от него" [Штраус Д.Ф., Жизнь Иисуса. Т. 1—2. С-Пб., 1907, т.1, с.147]. То есть мифы, по Штраусу, есть выражение идей с помощью повествования. Рассказ должен навести слушателя на идею, которая ускользнула бы от него, будь выраженной явно, коротко и четко.

Итак, традиционные примеры и иллюстрации, которыми поясняется изложение естественных дисциплин, обычно порождают мифы в первом значении этого слова – электроны на внутриатомных орбитах, силовые линии…

Когда-то Максвелл, слушая проповедника, смутно излагающего мысли, советовал тому пользоваться наглядными примерами. Однако сам отнюдь не прибегал к подобным методам переложения своей теории (ну, как минимум пытался – ведь демон Максвелла возник не сам по себе? – Прим. ред.). И когда такие иллюстрации появлялись, они уводили сознание в сторону от сути дела. Скажем, поиски механических аналогий для электромагнитных волн долго удерживали в научном сознании ложную концепцию эфира.





Но может быть, возможен еще один (подчеркнем – гипотетический) путь? Вспомним небывалые гравюры Мориса Эшера, изображающие объекты, отсутствующие в реальном мире.

А может быть, возможны графические образы, наглядно отображающие то, что отсутствует в мезомире, в нашей обыденности, но объективно существует в микро– или мегамирах? Или хотя бы в куда более простом динамическом мире электромагнитных процессов теории Максвелла?

И вот (опять "может быть"!) такие образы окажутся способными исполнять задачу повествования в мифе – формировать у воспринимающего, у слушателя или зрителя идею. Причем идею, пригодную для дальнейшей практической работы над ней. Еще в 1970-е годы выдающийся оружейник Рихтер (буква «Р» в пушках НР) призывал будущих конструкторов смелее доверять силе инерции, а не подкреплять ее пружинами и рычагами. Доверяем же мы тому, что она доведет до цели вылетевший из ствола снаряд [Хотя известен и контрпример. Финский пистолет Lahti был очень хорош в оригинальном исполнении L-35 и зауряден в шведской копии M-40. Дело в том, что шведы выбросили пружину запирающего клина затвора, необходимую для безукоризненной работы автоматики в суровых климатических условиях, понадеявшись на одну лишь инерцию]. А проектируя наномеханизмы и прочие устройства квантовомеханических размеров, мы должны доверять силам, отсутствующим в мезомире. Так что гипотетическая визуализация математических описаний реальности может оказаться одной из критических технологий будущего.

При оформлении использованы литографии Мориса Эшера «Относительность» и «Водопад» и их современные «копии», изготовленные с помощью Lego Эндою Липсоном

ТЕМА НОМЕРА: Счищая плесень с цифр

Автор: Юрий Романов

Самолетам и ракетам повезло (и то, кстати говоря, не всем) – их свозят на старые аэродромы, красят, снабжают пояснительными табличками… Монино, авиабаза Эдвардс, Хьюстон… О старых машинах пишут монографии, в которых пофамильно названы создатели бортовых систем и даже отдельных агрегатов, приводится хроника испытаний, отчеты о выполненных доработках и данные о количестве изготовленных машин и местах их «трудовой деятельности». А вот компьютерам не повезло.

Научно-технический «галоп» 1950—80-х (по выражению Анатолия Рудого, заметку которого вы прочтете ниже), восхитительная гонка за быстродействием, памятью и плотностью упаковки компонентов, не дала возможности что-то оставить "для истории". Проведя маленькое исследование, я убедился, что образцов античной и средневековой вычислительной техники – всевозможных вычислителей для парусников, а также абаков, конторских счетов, арифмометров и разного рода «Рейнметаллов» в музеях полным-полно. А вот ЭВМ – отнюдь. Подавляющего большинства из многих десятков их типов сегодня не существует "в железе" [Поэтому так популярны "виртуальные музеи" вычислительной техники в Интернете. Можно, например, взглянуть на nic.icom.org/vlmp/computing.html или зайти на www.bashedu.ru/konkurs/tarhov/russian/museum.htm], а те, что сохранились, – поломаны. Последнее обстоятельство я хотел бы подчеркнуть особо. Ведь в отличие от самолетов, например, Монинского авиамузея, которым летать совсем не обязательно (а некоторым и вовсе противопоказано), старые ЭВМ, если они исправны, представляют собой аппаратную среду для обработки и записи-хранения-считывания информации на старых носителях: перфолентах, перфокартах, магнитных барабанах, дисках и магнитных лентах.

Так вот. Информации на старых носителях не повезло еще больше, чем компьютерам. Мало того, что исправного периферийного оборудования для работы с ними практически не осталось, так даже описания форматов, протоколов, программ-драйверов и операционных систем днем с огнем не сыщешь – весь этот пласт информации "ушел глубоко под землю" за какие-то 25—30 лет (!), частью разрушившись, частью будучи «придавлен» позднейшими "культурными слоями" компьютерной цивилизации.