Проект 'ПОтребитель'
Главная | Новости | Информация | Статьи | Программы
Законы | Ссылки | О проекте | Off topic



Прикладное ПО Open Source

[Доклад представлен на OpenSource Forum (OSF), Ростов-на-Дону, 16.08.04]


Алексей Вторников (alexei_v@rft.ru, fplab@mail.ru)

Боюсь, что мое выступление на конференции покажется несколько банальным и, в каком-то смысле, пессимистичным, и вот почему. Успехи OpenSource общеизвестны и я не стану отнимать ваше время их перечислением. Я хотел бы поговорить не о достижениях и победах на «фронте» OpenSource, а, скорее, о том, чего хотелось бы достичь, или о том, что находится в зачаточном состоянии.

Более конкретно – я хотел бы построить свой доклад, выступая не как системный администратор или администратор баз данных, а как человек, занимающийся в первую очередь прикладным программным обеспечением. Иными словами, я предлагаю посмотреть на проблему прикладного OpenSource со стороны пользователя.

Кроме того, я прошу обратить внимание на то, что я ни в коей мере не пытаюсь делать каких-либо обобщений и далеко идущих выводов. Все, о чем я буду говорить, отражает мою личную точку зрения. Чтобы быть по возможности более конкретным, я опираюсь в своем докладе на одну достаточно большую и значимую область прикладного ПО: ПО для бухгалтерского, финансового и складского учета. По роду своей деятельности именно с этой областью я связан и знаком в наибольшей степени. Я буду искренне рад узнать, что я ошибаюсь и буду благодарен тем из коллег, кто конструктивно убедит меня в том, что не все так грустно, как это следует из моего доклада.

Текущая ситуация с прикладным ПО OpenSource.

В отличие от системного, прикладное ПО OpenSource представляет собой унылое, если не сказать жалкое, зрелище. Согласно рубрикатору «The OpenNET Project» (http://www.opennet.ru) существуют клиенты FTP и ICQ, программы для чтения конференций и почты, просмотрщики графики, некоторое количество текстовых редакторов, немного программ для работы со звуком и изображениями, а также несколько программ организации документооборота и бухгалтерского учета. Вот на последних я и предлагаю немного задержаться.

Готовясь к конференции, я потратил некоторое время на поиск хотя бы не OpenSource, а только лишь свободного ПО для Linux/Unix платформ. И не нашел почти ничего, на чем стоило бы остановиться или просто задуматься. То, что есть – в основном не ПО, а поделки энтузиастов. В отличие от рынка решений для Windows, которых насчитывается многие сотни и тысячи на все случаи жизни, рынок прикладного ПО для Linux почти пуст. Создается даже впечатление, что прикладного ПО для КПК больше, чем для Linux.

Для того, чтобы более контрастно охарактеризовать текущее состояние этого сектора ПО, позвольте процитировать разработчиков системы учета с тенденциозным названием «R2D2» из компании ООО «ИТК» (Ижевск):

Еще один пример: с лета 2002 года (во всяком случае, это самый ранний срок о котором мне известно) команда Linux-Online.ru ведет разработку системы jCash, которую разработчики характеризуют как:

Эта система – не OpenSource (ее стоимость по заявлению разработчиков составит менее $100 в год), однако уже два года система не выходит из ранней alpha-версии. Ладно, $100 в год – сумма небольшая. Лишь бы было какое-никакое общедоступное ПО в этом сегменте. Разработчики заявляют (см. http://linux-online.ru/projects/jcash/index.jsp), что система будет готова летом этого года, но в это с трудом верится, во-первых потому, что дистанция между alpha-версией и готовым продуктом составляет обычно от полугода и больше, во-вторых (как об этом заявляли сами разработчики 2 года назад) система должна была быть готова самое позднее в 2003 и, в-третьих, уже и лето 2004 года заканчивается. Единственное, чего достигли разработчики – дизайн коробки, в которой ПО будет распространяться. Так что «воз и ныне там».

Несколько лучше ситуация обстоит у братьев-славян на Украине. Например, судя по информации на сайте http://www.iceb.vinnitsa.com/, довольно широко распространена «Открытая бухгалтерия iceB». Решение распространяется в исходных кодах на условиях GPL. Однако, как это не прискорбно, все это – жалкие крохи, практически не оказывающие никакого влияния на рынок прикладного ПО.

Сложилась парадоксальная ситуация – решения OpenSource в области системного ПО уверенно движутся и постепенно охватывают все бóльшие сегменты рынка. Серверные решения на базе Linux общеприняты и не вызывают удивления и непонимания со стороны участников. Почтовые серверы, серверы баз данных, серверы приложений на базе Linux и BSD становятся если не обыденным, то привычным решением, а вот приличных решений OpenSource не для администраторов, а для рядовых пользователей нет.

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

Что нужно пользователям. 

Давайте спросим себя – какое ПО нужно пользователю, работающему за компьютером (я имею в виду не домашнего пользователя, а корпоративного)?
Как правило ему нужны:

  1. текстовый редактор,
  2. электронные таблицы,
  3. браузер,
  4. почтовый клиент.
Это, так сказать, ПО общего назначения. Для платформы Linux все эти решения есть и весьма высокого качества. Так что здесь «дыры» закрыты. Кроме того, пользователь может захотеть пользоваться разнообразными и полезными программами и утилитами, например:
  1. ICQ,
  2. проигрыватель звуковых файлов,
  3. ПО для просмотра видео,
  4. графические редакторы,
  5. игры.

Это ПО также присутствует на рынке. Его не так много, как для Windows, но оно есть. Так что и эту часть можно считать прикрытой. Наконец, пользователю необходимо специализированное ПО. Это, например, ПО бухгалтерского учета, составления смет, расчета заработной платы и т.п. Что можем предложить пользователю мы – разработчики? Ответ грустен, но очевиден – ничего. Нам нечего противопоставить той же «1С». Как бы к ней не относиться, но она установлена на колоссальном количестве компьютеров. Она имеет рынок, она имеет мощную инфраструктуру. Это не только поддержка производителя, это еще и учебные центры, система организации тренингов и семинаров, это печатные издания (учебники, журналы, газеты), это бизнес в который вовлечены огромное количество программистов.

Башня.

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

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

Поэтому приходится сплошь и рядом возводить подпорки для обеспечения каких-никаких условий для работы пользователей. В результате – «зоопарк». Серверы крутятся под Linux/Solaris/BSD и им подобным *nix-системами. На рабочих местах – «1С» или подобные системы бухучета под Windows, т.е. по сути Windows-станции. Слава Богу, есть унифицированные средства и протоколы стыковки гетерогенных систем, например тот же TCP/IP, CORBA или RMI. Но какой ценой добивается надежность, мобильность, внутренняя согласованность информационной системы! У одного моего коллеги сервер БД работает под Solaris, почта и Internet – под Linux, рабочие места – под Windows. Три четверти своего рабочего времени он тратит на слежение за системой и ликвидацию последствий сбоев в ее работе.

Из этого эмоционального повествования должно быть ясно, что одна из серьезнейших проблем – отсутствие в достаточном количестве и качестве прикладного ПО, необходимого пользователям. Это администратору достаточно консоли, пива и Интернета. Пользователю нужно ПО. Удобное, надежное и постоянно готовое к работе. Возможно, когда-нибудь Борис Нуралиев принесет свою «1С» и предложит включить ее в какой-нибудь дистрибутив. И, боюсь, что это будет не OpenSource, поскольку рынок труда настройщиков и «программистов» системы «1С» в существенной степени опирается на закрытость ядра этой системы.

Я боюсь, что мы постепенно возводим «башню из слоновой кости». В башне все замечательно, но для нас. О пользователях мы зачастую предпочитаем не думать – это скучно, убого и неблагодарно. Да, доступ в башню свободный – ведь мы говорим, что это OpenSource. Но без альпинистского снаряжения соваться в нее бессмысленно.

Всякий может пойти и купить ноты «Лунной сонаты» Людвига Бетховена. Ноты – по сути дела, музыкальный OpenSource. Но многие ли смогут не то, чтобы сыграть, а прочесть и понять нотные знаки? Требуются годы упорных тренировок и репетиций, прежде чем «Лунная» приемлемо зазвучит хотя бы только для домашнего музицирования.

Мы говорим пользователю: «Вот вам OpenSource, там есть всё и даже больше». А что пользователю с этим добром делать? В этих вопросах пользователь – варвар. Он не отличит хорошее от плохого, гениального от бездарного. Он будет использовать вазы из средневекового китайского фарфора в качестве ночного горшка. Пользователю нужен простой и изначально ясный готовый продукт. Бессмысленно говорить о величии искусства Рембранта перед безграмотным. Если полотно годится на подстилку в хлеву или для розжига огня – не сомневайтесь, именно так оно и будет использовано.

Надеюсь, вы понимаете, что я, мягко говоря, утрирую. Я не хочу обижать абстрактного пользователя. Но просто мы иногда (даже очень частно) игнорируем его потребности. Полезно опуститься на грешную землю, ведь именно пользователи дают нам работу. Мы, покупая в магазине минеральную воду, рассчитываем на то, что нам продадут именно минеральную воду, а не книгу по ремонту бульдозера. Как говорил Гендальф из «Властелина Колец» в переводе Гоблина: «не надо путать круглое с гладким» – и подменять требования пользователей своими пристрастиями.

Позвольте чуть в сторону. Вот есть, к примеру, забавная операционная система – MenuetOS. Тоже OpenSource. Написана на ассемблере. С ней прикольно повозиться. В одиночку. Или в сообществе таких же любителей. Потому что MenuetOS, как бы и кем бы ни была написана, остается любительской системой для ограниченного круга пользователей-программистов. Хотя каждый из них может быть гением программирования и гуру двоичных кодов. Потому что для нее нет общезначимого и общевостребованного прикладного ПО. Да, для нее пишутся прикладные программы, но лишь для демонстрации того, что это работающая система. Её единственная ценность в том, что, работая с ней, можно научиться низкоуровневому программированию. Возможно я ошибаюсь, но пока это так. К чему я упомянул MenuetOS? Потому, что это – типичная башня. Клуб. То, чем можно заниматься в свободное от жизни время. И на этом – все.

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

К сожалению, часто бывает так. Пользователь говорит: «Мне нужна программа по учету пробега машин нашего автопарка», а мы ему в ответ: «Это не интересно; вот лучше погляди на новую сборку sendmail-а». Что сделали бы вы на его месте? Пользователь плюет, открывает Excel и сооружает себе что-то подобное учетной системе. И это работает. Кто из нас после этого лучший программист: пользователь, который сделал работающее приложение, или я, отмахнувшийся от него? Прав тот, у кого дело движется. А мы продолжаем заниматься демагогией. Я, конечно, утрирую, но суть проблемы в том, что мы разговариваем с пользователем на разных языках. Многим администраторам гораздо интересней потратить неделю на пересборку ядра под себя, чем выделить ту же неделю на помощь пользователю. А потом мы удивляемся – отчего так много людей работают на «1С»? Ругают, поносят, плюются – но ведь работают. А «1С» предполагает Windows. И мы, скрипя зубами, инсталлируем Windows, а потом – так ничему и не научившись - возвращаемся к своим игрушкам.

И что из этого всего следует?

Чтобы у слушателей не создалось впечатления о том, что я законченный пессимист и оракул несчастий, я хочу сказать несколько слов о том, как я представляю себе будущее прикладного ПО OpenSource.

Прежде всего, мы имеем базовые операционные системы очень высокого качества. По целому ряду показателей ОС Windows никогда не смогут не то чтобы их превзойти, но даже приблизиться к ним. Т.е. у нас есть надежный, прочный фундамент.

Без самопожертвования и больших (точнее – чудовищных, если сравнивать исходные позиции ПО OpenSource и собственнического прикладного ПО) затрат не обойтись. И проблема не в том, что нужно садиться и писать программы. Это дело для большинства из нас привычное и интеллектуально привлекательное. Команде из трех-четырех хороших программистов по силам написать ту же бухгалтерскую программу (кстати, не уступающую пресловутой «1С» изгаженной ненужностями и утяжеленной без меры) за полгода. Еще полгода уйдет на обкатку. Самое сложное наступает после. Нужно убедить пользователя, что наша программа не хуже тех, к которым он уже успел привыкнуть. Нужно обеспечить поддержку, отслеживание изменений в законодательстве. В одиночку этого решить нельзя. Это может решить только сообщество людей, включающее в себя не только первоклассных разработчиков, но и харизматических личностей, способных убедить других в том, что стоит попробовать. В Древнем Риме христианских проповедников выталкивали в клетку со львами на потеху публике и в назидание колеблющимся. Те, кто берется за разработку такого рода ПО, очень сильно напоминают таких проповедников. Кажется, Исаак Ньютон сказал, что «новое никогда не побеждает, просто вымирают его противники».

Но с другой стороны (Э. Нансен) «если я не буду пытаться каждый день изменить человечество, то боюсь, что оно изменит меня».

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

Последние годы я работаю программистом в банках. Сразу скажу – там нет такого понятия как OpenSource. И, в то же время, как это ни парадоксально оно существует! Люди обмениваются скриптами, программами автоматизации обменных пунктов, даже системами электронных платежей «Банк-Клиент». На форумах идут бурные дискуссии и обсуждения. Никто и никогда за это не просил ни копейки. И исходники, как правило, открыты на все 100%. Конечно, этот рынок нельзя назвать OpenSource в том виде, как мы его обычно представляем. Банковских автоматизаторов к этому подвигла суровая необходимость. Но практика показывает, что даже на таком специфическом и довольно узком рынке возможно открытое прикладное ПО. Поэтому, я хотел бы завершить свое выступление выражением надежды, что и оставшаяся часть рынка прикладного ПО будет «заражена» этим явлением. Хотя нам, программистам, придется поднимать целину.

Поправки к закону «Об авторском праве и смежных правах».

Принятые в начале июля поправки и изменения к закону «Об авторских и смежных правах» в определенной степени могут способствовать ухудшению ситуации для проектов OpenSource. Вспоминая великого М.Е. Салтыкова-Щедрина, можно ожидать, что «суровость российских законов несколько смягчается необязательностью их исполнения», но, тем не менее, эти поправки теоретически смогут закрыть возможность функционирования бесплатных электронных библиотек и затруднить доступ к информации целого ряда участников. Особую настороженность вызывает пункт, согласно которому «экземпляры произведений, выраженных в цифровой форме, в том числе экземпляры произведений, предоставляемых в порядке взаимного использования библиотечных ресурсов, могут предоставляться во временное безвозмездное пользование только в помещениях библиотек при условии исключения возможности создать копии этих произведений в цифровой форме».

Это очень грустное положение. Согласно нему, теоретически могут быть предприняты меры к чистке больших массивов данных, накопленных в виртуальных библиотеках. Я отнюдь не призываю нарушать закон, Боже упаси! Но вот один пример: когда-то изучение Unix я начал с прекрасной книги Мориса Баха «Архитектура операционной системы Unix» в переводе Крюкова. Книга официально на русский язык не переводилась, но благодаря этому переводу с ней смогли познакомиться многие специалисты. Насколько мне известно, официального перевода не будет. Что прикажете делать тем, кто хотел бы ее изучить? Публикация книги на каком-либо сайте при желании может быть расценена как нарушение авторских прав, хотя, наверняка, никто у самого Баха ничего не спросит. Зато повод придраться будет.

OpenSource и "большие пацаны".

Крупные корпорации (IBM, Sun) постепенно переводят часть своего ПО на рельсы OpenSource. Так, Sun обнародовала планы по открытию исходного кода OC Solaris и, возможно, Java. Не отстает и IBM. Из последних новостей – IBM передал ASF (Apache Software Foundation) программный продукт Derby – копию реляционной СУБД Cloudscape. И это не может не радовать, поскольку для разработчиков появится возможность расширить диапазон применяемых ими баз данных. К MySQL, PostgreSQL добавляется еще один продукт от ведущего производителя серверов БД.

И о грустном.

В ноябре 1995 года в известном компьютерном журнале Byte была опубликована небольшая заметка ( http://www.byte.com/art/9511/sec6/art5.htm). Заметка была посвящена операционной системе Plan9 – дальнейшему развитию Unix. В заметке была такая фраза: «Как продукт, она (речь идет об ОС Unix – А.В.) конечно, потеряла какие-либо шансы завоевать массовый рынок». Если бы это сказал кто-либо из стана Microsoft он был бы немедленно вымазан в дегте, вывалян в перьях, с «почетом» провезен по центральным улицам города и, наконец, торжественно линчеван на самом высоком дереве центрального парка. Догадайтесь, кто это сказал?

Автор цитаты – Деннис Ритчи, «отец» этой самой ОС и языка программирования Си. Правда, следом Д. Ритчи несколько подсластил пилюлю: «Как стандарт, она будет существовать достаточно долго».

Нам остается надеяться, что 9 лет назад великий Д. Ритчи просто не обратил внимания или забыл упомянуть Linux и перспективы проектов OpenSource. Девять лет – достаточно большой срок и Unix не исчез. В значительной своей части он реинкарнировался в Linux. Но все же не стóит забывать слов Ритчи; очень хотелось бы, чтобы в данном случае он ошибся.
Но доказать это предстоит нам.



Наверх На главную Письмо Web-мастеру