О блоге

Все новые материалы размещаются на Блогосайте alv.me. Старые - в процессе переноса.

16.08.2008

Open Source: взгляд юзера от науки

2001-2004 гг
Треснем, говорит, водки для потенции,
Да поговорим ладком
О судьбе интеллигенции
В государстве воровском.
Тимур Шаов

Содержание

Вступление

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

Открытый и свободный софт создавался, в значительной своей части, силами научных работников и, в том числе, для научных целей. Правда - весьма специфических, охватываемых понятием Computer Sciences. Типичным чему примером является Linux, разработанный его создателем на предмет изучения теории операционных систем. Посмотрим, однако, какова роль Open Source для научных работников, профессионально с Computer Sciences никак не связанных - так сказать, конечных юзеров от науки.

Роль Open Source в науке может быть рассмотрена в трех аспектах - экономическом, технологическом и чисто практическом.

Экономика

А вы, бедняги, просите Его Превосходительство:
Кормилец, дай нам денежку, добавь хоть медный грош.
Конечно же, берите же, вам говорит правительство.
А вы ему: Так нету же. Оно вам: Так ото ж.
Тимур Шаов

Будучи материалистами, испорченными, к тому же, многолетним (хотя и скверным) изучением марксизма (впрочем, марксизм, по определению, иначе чем скверно изучаться и не может), начнем с экономического базиса. Поскольку именно им определяется максимально возможная сумма, которая может быть выделена на развитие информационных технологий в сфере науки. Замечу для определенности, что далее рассматриваются исключительно российские реалии, как более мне известные. Однако они могут быть экстраполированы и на мировую науку вообще (хотя и с острожностью). А уж на науку прочих постсоветских пространств - почти без оговорок...

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

Все дальнейшее финансирование определяется звучным иностранным словом "грант" - за что братья-ученые и получили имя "детей капитана Гранта". Есть гранты международные (помянем здесь добрым словом дядю Жору Сороса), межведомственные (проекты интеграции высшей школы и академической науки) и еще кое-какие. Однако главные для большинства научных проектов (по крайней мере, академических) - это средства, распределяемые Российским Фондом фундаментальных исследований (в области естественных наук) и аналогичным функционально фондом (не помню его названия), финансирующим науки гуманитарные.

Оценим теперь масштабы бедствия (пардон, финансирования). Годовой бюджет среднего научного проекта (для примера - РФФИ, сведений о финансировании гуманитарных наук не имею) зависит от множества факторов, однако может быть оценен (по данным на 2001 г.) в 100-150 тысяч пост-советских дензнаков (к 2003 г. сумма эта выросла, если так можно выразиться, тысяч до 180-ти). Из них, для начала, 20% забирает себе организация, через которую осуществляется финансирование - обычно это институт, в котором трудится руководитель проекта (по положению РФФИ - не более 20%, однако известные мне примеры скромности руководства в этом отношении буквально единичны). Остается - 80-120 тысяч.

Далее, правила хорошего тона требуют, чтобы руководитель проекта заплатил некоторую сумму своим трудящимся (а количество исполнителей проекта в среднем колеблется от 5 до 10 человек) в виде жалования (некоторые эксперты именно по этому критерию оценивают эффективность исполнения проекта). Доступная мне негласная (и потому не исчерпывающая) статистика показывает, что в конторах нашего профиля из года в год сумма таких выплат колеблется вокруг 30% от суммы гранта. Промежуточный остаток - 50-90 тысяч.

Однако это не все. Гуманная финансовая политика нашего государства требует, в своей заботе о нуждах трудящихся, отчислений в пенсионные фонды, страховые фонды и тому подобных выплат рэкетирского типа. Сумма начислений на фонд заработной платы - почти 40% от суммы последнего, то есть 12-20 тысяч. Снова прикинем фиг к носу - получаем в сухом остатке 40-70 тысяч.

Теперь пора бы и вспомнить, что бюджет проекта предназначен для его выполнения, то есть некоторым образом научной работы. Каковая, за редким исключением чисто теоретических областей, требует либо экспериментальных, либо экспедиционных исследований. О финансовых потребностях первых не буду даже предполагать - за незнанием предмета. А полевые работы в местах, не столь отдаленных (типа Камчатки, Чукотки, Корякии) требуют 10-15 тысяч на человека только на проезд - не к месту работы, а к ближайшему от них населенному пункту с относительно регулярным авиасообщением (ну и обратно тоже, конечно - иначе кто же будет отчитываться за проект). Если же учесть, что минимальная численность полевого отряда (по требования техники безопасности еще советского времени, которые, как и многочисленные указы о борьбе с пьянством и его искоренением, никто не отменял), получаем, что годовой бюджет нашего гипотетического проекта более чем полностью исчерпан.

Ради всего святого, не подумайте, что я написал это, дабы поплакаться на горькую долю пост-советской науки. Или, паче того, в ностальгии по советским временам - тогда в науке денег было поболее, но имели место быть свои заморочки, о которых и вспоминать-то не хочется. Большинство лично известных мне научных работников, всерьез (то есть для удовлетворения собственного любопытства) занимающихся наукой, находят способы решать финансовые проблемы (останавливаться на этих способах полагаю неэтичным). И не только проводит полевые работы, но и обзаводится компьютерами для обработки их результатов.

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

Тем, кто захочет напомнить мне о традиционном методе оснащения софтом - посредством Митино, Царицыно etc., - возражу. Причем даже не с моральных позиций: в ответ на библейскую заповедь - мы всегда "вспомним наш лозунг, простой, как природа: все для народа, что плохо лежит" (Владимир Асмолов). Не будем рассматривать и юридическую сторону вопроса: строгость российских законов всегда искупалась необязательностью их исполнения. Нет, возражения мои носят чисто практический характер: воровать специализированный софт (имеющий, как правило, аппаратную защиту от нелегального, а подчас и легального, копирования) - занятие крайне неэффективное. Кому-нибудь доводилось видеть, скажем, грамотно сломанный, полнофункциональный и работоспособный ER-Mapper? Мне - так не посчастливилось...

Это - во-первых. А во-вторых, одно из требований РФФИ - легальность используемого при выполнении финансируемых им проектов софта. Что, конечно, тоже несколько условно (по причине, отмеченной в предыдущем абзаце). Однако вполне можно представить ситуацию, когда именно этот момент будет использован в качестве повода отказать именно вам в финансировании. Я, конечно, вполне понимаю, что в качестве повода, при желании, можно использовать все, что угодно. Однако если в ином случае можно спорить - то в этом и крыть-то нечем.

Так что рассмотрение экономического базиса пост-советской науки вплотную подводит к необходимости использования открытого и свободного софта. О затратах на каковой распространяться особо не стоит - полнофункциональный, с набором почти всех мыслимых приложений, дистрибутив Linux можно приобрести максимум рублей за 500. Не говоря уж о возможности скачать его по ftp за бесплатно. Вернее, за казенный счет - благо большинство академических институтов давно уже обзавелось достаточно быстрыми каналами.

Технология

Вижу женщин разномастных, и горят мои глаза.
До безумия прекрасных, жаль потрогать их нельзя.
Я на них не строю планы, изнурил себя постом:
Первым делом дельтапланы, ну а девушки потом.
Тимур Шаов

Грош цена, однако, самой что ни на есть бесплатной системе, если она не позволяет делать то, что требуется. Так что стоит посмотреть, способен ли софт Open Source удовлетворить потребности пользователей от науки. Но сначала озаботимся вопросом: а из чего, собственно, складывается научный процесс?

Думается, что из трех компонентов:

  • получения научных результатов;
  • их обработки и представления в доступной для восприятия форме;
  • донесения до широких кругов научной общественности.

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

Так как же выглядит в этом плане софт Open Source? Казалось бы, в большинстве областей науки получение научных результатов происходит без участия компьютеров и какого-либо софта вообще. Однако это не так: не говоря уж о экспериментальных и аналитических работах (а мыслит ли кто сегодня экспериментальную установку или аналитический прибор, функционирующие не под управлением компьютера?), любой первичный фактический материал требует какой-никакой обработки. В одних случаях это может быть цифровая обработка химических анализов, в других - существенно визуальное рассмотрение картографического материала (ограничусь примерами из науки, классово мне близкой: химик или биолог может привести примеры из своей практики).

Разумеется, расчет первичного состава базальтовой магмы или статистические параметры геохимии вулканических серий можно проделать и посредством калькулятора (а то и "Железного Феликса") - в студенческие годы мне доводилось прибегать даже к помощи логарифмической линейки. Однако гораздо комфортнее и быстрее сделать это на любой, хоть самой примитивной, персоналке. А главное, это именно тот момент, когда количество (обрабатываемого материала) диалектически переходит в качество (получаемых выводов). Ведь по настоящему масштабная статистика или моделирование магматических процессов с учетом всех возможных вариаций петрогенетических параметров вручную требуют времени, сопоставимого с возрастом Метагалактики. И до широкого внедрения персоналок неизбежно приходилось ограничивать себя некоторыми a priory (а то и предвзято) выбранными вариантами. Один из ранних (начало 90-х годов) примеров такого рода работы, ставшей возможным только благодаря компьютерам) описан в статье автора "Дрейф континентов, плит, террейнов" (Компьютерра, #35 (412) от 2001 г. ).

Чем тут может помочь Open Source? Да очень и очень многим. Не скажу за всю науку, но, скажем, петрогеохимические расчеты по сути своей (но не по реализации) очень просты. И вполне могут быть выполнены в любой электронной таблице, располагающей достаточно развитым языком сценариев. Примером чего может служить StarCalc из пакета StarOffice. Каковой, конечно, не является Open Source в собственном смысле слова. Однако имеет и открытую ипостась (в виде пакета OpenOffice). Кроме того, в любой Unix-подобной открытой системе функционируют и другие электронные таблицы, даже консольные (например sc - от Spreadsheet Calculator, о котором я когда-нибудь расскажу подробнее).

Что же касается цифровой картографии, то здесь компьютерные технологии обеспечили качественный прорыв в чистом виде (масштабы которого еще не до конца осознаны). Так, анализ карт в DEM-формате дает возможность установить детали геологического строения, не уловимые ни при полевых наблюдениях, ни при дешифрировании аэро- и космоматериалов (это я не к тому, что не нужно работать в поле или дешифрировать космоснимки). Так, только таким образом удается поймать границу между Камчатскими и Корякскими структурами (рис. 1), двадцать лет назад нарисованную (как тогда казалось, абсолютно "от фонаря") Л.Зоненшайном и Л.Савостиным в книге Основы геодинамики (М.: Наука, 1982).

Рис. 1. Граница между Корякскими и Камчатскими структурами

Так вот, именно для целей цифровой картографии Open Source располагает весьма представительной коллекцией софта. Здесь достаточно упомянуть двух представителей этого клана - GRASS, нечто среднее между ГИС и имидж-процессором, и GMT (Generic Mapping Tools) - средство для генерации цифровых карт. Конечно, они и функционально, и с точки зрения удобства использования уступают своим коммерческим аналогам, однако, в отличие от последних (цена коих - просто лежит за пределами очерченных в предыдущем разделе бюджетов) - абсолютно бесплатны. Есть и иные проекты, более или менее интенсивно развиваемые. Прекрасную коллекцию ссылок на специализированный софт научной направленности можно обнаружить на сайте SAL (Scientific Applications Links).

Это все - к вопросу о получении результатов. Представление же последних - проблема неразрывно с ним связанная. И реализуемая часто теми же средствами: ведь представление результатов петрогеохимических расчетов в виде диаграмм столь же естественно, как и данные в табличной форме (рис. 2). А оторвать визуализацию цифровой картографии от лежащих в ее основе гридов - вообще, на мой взгляд, невозможно.

Рис. 2. Электронная таблица StarCalc и построенная по ее данным диаграмма.

Остается третий аспект научной деятельности - публицистический. Его можно несколько условно расчленить на две составляющие - публикации традиционной, бумажной, формы, и публикации электронные. По первой теме много распространяться не буду - она достаточно хорошо освещена. Достаточно вспомнить TeX во всех его проявлениях (в том числе и облеченных графикой - в виде Lyx) - универсальное и (почти) идеальное средство подготовки сложно структурированных публикаций (рис. 3). Гарантирующее, к тому же, от заведомо скверных, с полиграфической точки зрения, решений - даже при отстутствии должной подготовки в этой области. А многие ли книги, любительски сверстанные в Word'е или PageMaker'е, могут похвастаться этим?

Рис. 3. Klyx - одно из средств подготовки бумажных публикаций из собрания Open Source.

Правда, ныне KLyx, приведенный на этой иллюстрации, благополучно скончался. Однако первозданный Lyx живет и процветает...

Конечно, если речь зайдет о полноцветной полиграфии - Open Source здесь явно хромает: не будем кривить душой, GIMP. не смотря на все свои (весьма многочисленные) достоинства, до Photoshop'а в этой области пока не дотягивает. Но часто ли у научного сотрудника возникает потребность в полноцветной полиграфии? И, главное, часто ли он располагает возможностями (в первую очередь финансовыми - см. пункт первый) для таковой потребности удовлетворения?

Однако, коль скоро обратиться к электронным публикациям - открытый софт отыграется по полной программе. Тот же GIMP (рис. 4) - более чем полнофункциональное средство для подготовки иллюстративного материала, предназначенного для размещения в Сети. Поймите меня правильно: я отнюдь не утверждаю, что GIMP лучше Photoshop'а. Но если принять во внимание цену последнего - разговор о сравнении просто неуместен.

Рис. 4. GIMP - универсальное средство для подготовки сетевых иллюстраций

Есть чем похвастаться Open Source и в области web-редакторов. И Quanta, и Bluefish, и Screem - программы, функционально почти не уступающие HomeSite, открытым никогда не бывшим (и бесплатность которого осталась во временах почти былинных).

Нельзя пройти и мимо Apache - системы, позволяющей (по крайней мере, теоретически) организовать, без всяких дополнительных затрат, собственный web-сервер на любой отдельно взятой персоналке, подключенной к Сети. С целью предельно оперативного ознакомления научной общественности с результатами собственных штудий каждого научного сотрудника.

И, наконец, главное в любой научной публикации - это ее содержание. А уж в отношении подготовки содержательных документов с наиболее развитыми из открытых текстовых редакторов не может конкурировать ни один Word (хоть Pro, хоть Perfect). Впрочем, на эту тему я писал уже столько, что повторяться не хочется...

Остался незатронутым еще один существенный аспект научной деятельности: организация хранения научных результатов и доступа к ним. То есть - базы данных, говоря попросту. Здесь остается только вспомнить MySQL вкупе с Postgress - это, конечно, не Oracle, но ведь к базам данных научных материалов и не предъявляется столь жестких требований обработки транзакций в реальном времени.

Я не ставил целью дать в этом разделе обзор программ, пригодных к употреблению в научной деятельности - просто хотел показать, что в принципе такие программы в арсенале Open Source существуют. И главное - любая из них, при наличии мотивации и должной квалификации, может быть адаптирована под конкретную задачу. Что для программ коммерческих невозможно в принципе.

Практика

Вновь подойдет к концу неделя быстротечная,
Пойду к соседу, вот он будет рад.
И дорешаем мы вопросы вечные:
Что делать, блин, и кто, блин, виноват.
Тимур Шаов

Но если программное обеспечение на основе открытых исходников столь выгодно экономически и столь замечательно, вправе задаться вопросом: почему на десктопах подавляющего большинства научных работников стоит не Linux/FreeBSD с соответствующим набором приложений, а малый джентльменский набор Митинско-Царицынского генезиса (сиречь Windows/Word/Corel/Photoshop)? То есть определить, в соответствии с вековыми традициями русской интеллигенции, кто виноват в сложившемся положении и что делать для его исправления.

На первый вопрос ответить легко: основная причина засилья коммерческих программ в научных учреждениях - естественная инерция мышления. Как это ни парадоксально, лишь очень немногие из научных работников (опять же, говорю только об областях науки, знакомых мне) рассматривают компьютер, оснащенный соответствующим софтом, как инструмент исследования. Для большинства это - просто орудие для оформления статей, графики к докладам и прочего украшательства.

Это - отнюдь не в упрек: у меня не поднимется рука бросить камень в человека за то, что он, не имея по роду образования должной подготовки в околокомпьютерных областях, не вполне осознает возможности компьютерных технологий именно для получения оригинальных научных результатов. Тем более, что само по себе "украшательское" их использование не так уж и плохо. Но оно ни малейшей мере не способствует поиску адекватного задачам инструмента - из всех доступных выбирается наиболее традиционный (привычный, распространенный и т.д.).

Вторая причина - элементарное незнание возможностей, которые таит в себе открытое и свободное программное обеспечение. Годы доминирования продукции Самой Великой Софтверной компании приучили широкие массы пользователей к мысли, что обойтись без нее - нельзя. Как это изящно сформулировал Дмитрий Коровин (Компьютерра, #25 (402) от 03.07.01), "без 'Ворда' ни туда и ни сюда". Те же, кто профессионально занимаются информационным обеспечением предметных областей науки, имеют в этой области наработки, портирование которых при смене платформы либо затруднительно, либо невозможно. В основном, правда, по чисто практическим причинам - отсутствию должных сил и средств.

Наконец, немаловажный фактор - все та же необязательность исполнения российских законов (вне зависимости от степени их разумности). Очень сомневаюсь, что пользователь стал бы рассчитывать отношения FeO/MgO в Excel'е, править яркость/контрастность фотографий в PhotoShop'е или писать проекты РФФИ в Word'е, если бы ему пришлось оплачивать стоимость всего этого софта с бюджета своего гранта - опять же, я не касаюсь здесь обоснованности цены коммерческих программ, условий их лицензирования и тому подобных материй.

Существует легенда, за достоверность которой я не ручаюсь: в некий неназываемый академический институт наведалась инспекция борцов за легальность софта (грешным делом, забыл, как это там называется). С легко предсказуемым, разумеется, результатом. Члены инспекции, избалованные общением по сему поводу с коммерческими фирмами, довольно потирали руки, ожидая адекватной реакции. Например, приобретения институтом лицензий на соответствующее количество рабочих мест. Однако реакция оказалась более чем адекватной: директор просто издал приказ о поголовном переходе на Linux в течении двух недель. Если это и неправда, то - хорошо придумано.

Так что дело осталось за малым - решить, что же делать? Ответ ясен - пропаганда, пропаганда и еще раз пропаганда. Чем, в меру своих скромных сил и возможностей, и пытается заниматься ваш покорный слуга...