Философия свободы

Логотип компании
Философия свободы
Open Source для большинства людей и организаций, поддерживающих это движение, – нечто большее, чем просто один из способов  эффективной разработки программного обеспечения. Скорее, это философия свободного обмена информацией, идеями, достижениями – в общем, все то, что составляет основную ценность творческо-«хакерской» (с криминальными взломщиками, понятно, не путаем) культуры. Человек, поддерживающий эту философию, осознает свою причастность к некоторому мощному движению.

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

Чаще всего Open Source (Open Source Software, OSS)  ассоциируется с разработкой программного обеспечения (ПО), хотя эта философия находит применение и в других творческих и наукоемких отраслях. Этот подход важен там, где нужно получить качественный результат за минимальное время при минимальных затратах ресурсов. Сделать это можно при интенсивном и правильно организованном обмене наработками между максимальным количеством участников-творцов.

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

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

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

Почему OSS развивается столь интенсивно?

Психологи отмечают, что для большинства людей возможность чем-то поделиться, подарить нечто, доставляет не меньшее удовольствие, чем получение чего-либо в подарок. Эта особенность человека заложена самой природой, как основа для выживания социума. Попытки отдельных групп общества подавить эту потребность вступают в противоречие с жизненными устоями.
Многие OSS-проекты развиваются благодаря тем же потребностям человека — мотивирующим факторам пирамиды Маслоу, что лежат над двумя первыми базовыми:
•    физиологические: голод, жажда, половое влечение и т.д.;
•    экзистенциальные: безопасность существования, комфорт, постоянство условий жизни;
•    социальные: социальные связи, общение, привязанность, забота о других и внимание к себе, совместная деятельность;
•    престижные: самоуважение, уважение со стороны других, признание, достижение успеха и высокой оценки, служебный рост;
•    духовные: познание, самореализация, самовыражение.

Преимущественно три последние высшие формы мотивации способствуют привлечению новых членов в сообщество Open Source и позволяют получать результаты, иногда лучше, чем в случае коммерческих разработок.

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

Коммерческим структурам также выгодно поддерживать OSS-проекты, т.к. их использование позволяет снизить стоимость разработки и неплохо заработать на сервисе. Краткий перечень компаний, использующих Open Source в своих разработках, заставляет серьезно задуматься о преимуществах подхода: IBM, Novell, Red Hat, Oracle, Apple, HP, Yahoo, Google, Nokia, Asus, Zyxel, Dlink, Linksys, Netgear, Juniper и множество других.

Идеология превыше всего

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

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

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

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


Экономика обновления

Начиная с Microsoft Office 2000 и вплоть до последних версий продукта, компания не предложила каких-либо революционных улучшений в плане производительности офисных работников, за которые хотелось бы заплатить предложенную цену. Изменения носили скорее эволюционный характер. Если, конечно, не считать ribbon’изацию  интерфейса, последствия которой для повышения эффективности работы, в общем-то, неоднозначны. Выход каждой новой версии сопровождался массированной и, наверняка, недешевой рекламной компанией. Лицензия на «апгрейд» до новой версии пакета (в случае отсутствия SA) перманентно отсутствует: фактически, это приобретение лицензии на новую версию за ~$350. При этом при переходе с одной версии Office на последующую прироста производительности работы офисных сотрудников в 100% не получается, может даже наблюдаться регресс, если вовремя не сделать апгред ПК или капитально не переобучить персонал. Хорошо,  если  улучшение составит хотя бы 5%. Однако и эти 5% обходятся компании в 100%-ное реинвестирование в офисный пакет. Всегда ли можно найти экономическое обоснование для этого? Несомненно, для нескольких сотрудников компании  и 5% прирост производительности может полностью окупить инвестиции. Однако, разводить «зоопарк» разных версий офисных пакетов в корпоративной среде нежелательно, поэтому обновлять предпочтительно либо все, либо ничего.

В большинстве случаев компании готовы заплатить 15–20% от стоимости продукта за «апгрейд», но экономического смысла вновь закупать офисный пакет или приобретать и каждые 2-3 года продлевать Software Assurance (SA), стоящего порядка 40-50% от стоимости продукта, в общем-то, нет. Редкие корпоративные пользователи переходят на следующую версию ПО сразу после его выхода. Чаще всего пропускается один-два релиза, т.к. апгрейд большого количества рабочих мест – процедура недешевая, а при незначительном экономическом смысле и вовсе сомнительная. 

Аналогична ситуация с переходом с Windows XP на 7-ку. Для корпоративных пользователей нет каких-то кардинальных улучшений в плане производительности (при работе в домене). Что-то стало лучше, что-то удобнее, где-то даже быстрее, но это все скорее уровень обновлений добротного сервис-пака, нежели новой версии ПО, за которую надо вновь платить.

Мы уже давно не видим того прорыва, что был при переходе с Windows 3.1 на Windows 95. Те улучшения, которые сейчас делает Microsoft за трехгодичный цикл разработки, в большинстве случаев уже созданы кем-то в виде дополнительного и, зачастую, бесплатного ПО. Например, поработав около трех месяцев на Windows Vista, а затем вернувшись на Windows XP, я ощутил только один дискомфорт – отсутствие меню «Поиск». Этот недостаток был с лихвой компенсирован OpenSource-утилитой  Launchy. Похоже, единственный явный «прорыв» Microsoft при обновлении ОС – увеличение размера, занимаемого на диске, и потребления других ресурсов «железа».

Рекламная машина Microsoft при выходе каждой новой версии старается решить сложнейшую задачу — убедить корпоративных пользователей, что новая версия Office или Windows существенно увеличивает производительность (при реальном минимуме весомых улучшений). Да, за $25-30 можно было бы автоматически (в виде сервис пака) обновиться на следующую версию ОС раз в три года, т.к. на эти деньги улучшения могут «потянуть», но за $150 с лишним – увольте! Именно поэтому обычно нет смысла закупать SA для десктопных ОС и офисных пакетов. Разумнее «перепрыгнуть» через пару релизов и приобрести новую версию продукта, убедившись, что она того действительно стоит и совместив со сменой аппаратного обеспечения.

«Палки в колеса»

Коммерческие продукты, бывает, грешат стремлением «причинить добро» корпоративным пользователям, усложнив переход на конкурирующие продукты. Примеров масса, но чаще всего вспоминается широко распространенное ПО Microsoft.

OpenDocument Format (ODF) был принят в мае 2006 г. как международный стандарт ISO/IEC 26300. Microsoft параллельно продавливала свой вариант Office Open XML, который до апреля 2008 г. не был принят в качестве стандарта ISO/IEC. Вместо того, чтобы, не тратя времени, реализовать поддержку ODF в своих офисных пакетах, Microsoft лоббирует принятие своего формата в качестве второго стандарта. Корпорацию не смущает, что два стандарта на офисные документы вносят путаницу и не способствуют развитию, формируя излишние затраты на поддержку двух форматов в различных системах и ухудшая обмен документами. Очевидно, что для Microsoft искусственно выстроенный барьер в форматах файлов позволяет удерживать потребителей от массовой миграции на конкурирующие продукты.

Подобных примеров можно привести немало. OSS-продукты, в отличие от коммерческих, стараются максимально использовать открытые стандарты, чтобы сократить затраты на разработку и максимально облегчить, а не усложнить жизнь потребителям. Коммерческие компании стараются свои разработки сделать стандартом, максимально осложнив жизнь конкурентам, чтобы «отжать» дополнительную прибыль — даже в ущерб удобства потребителей и репутации. Этот подход коммерческих структур царит везде, не только в разработке ПО. Например, широчайшее разнообразие зарядных устройств, аккумуляторов, кабелей и разъемов передачи данных, флэш-карт (вспомним Memory Stick) разъемов для гарнитур не способствует комфорту потребителей, хотя позволяет производителям зарабатывать на «расходниках». Только вмешательство европейских властей позволило разрешить ситуацию с производством широчайшего спектра «зарядников» для мобильных. Бизнес до принятия таких социально значимых решений пока дорос не везде. Наверняка, сокращение производств дублирующих аксессуаров привело бы и к частичному решению экологических проблем. Об экологии нынче говорить модно, но экология и бизнес – вещи далеко не всегда совместимые, особенно для компаний без идеологии. Подобных вопросов не возникает в случае с OSS, т.к. мотивация и идеология диаметрально противоположны коммерческим и более социально ориентированы.

Миф или реальность

Попробуем рассмотреть некоторые утверждения приверженцев OS, которые «до хрипоты, до драки» опровергаются представителями коммерческих структур.

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

Утверждение 2. Код Open Source продуктов более качественный (безопасный).
Открытость кода дает возможность его анализа широкому ряду специалистов. В случае закрытого ПО доступ к коду, помимо разработчиков, может получить разве что ограниченная группа специалистов, проводящих сертификацию, например, на отсутствие НДВ. По крайней мере, доверия к ПО с закрытыми исходниками меньше.
============================================================
Справка
По результатам опроса 300 крупных организаций США и Великобритании, опубликованного компанией Accenture, в ближайшее время ожидается повышение спроса на решения с открытым кодом. 69% организаций планируют повысить вложения в Open Source, в то время как 38% предполагают перевести критические приложения на базу решений с открытым кодом. Примечательно, что среди преимуществ открытого ПО лидирует фактор высокого качества (76% опрошенных), за ним следуют надежность (71%) и более высокая безопасность (70%). Лишь 50% респондентов указывают как значимый фактор более низкой совокупной стоимости владения».
Источник: http://www.cnews.ru/news/line/index.shtml?2010/08/10/404494:

============================================================

Что касается оптимальности кода OSS, приведу простой пример. Инженеры нашей компании используют при разработке трехмерных моделей «тяжелый» CAD Pro-E, который хранит данные в большом количестве небольших файлов на файловом сервере. В качестве файлового сервера у нас работает производительное IBM «лезвие» под Windows Server 2008 R2 с FC дисковой стойкой IBM DS 4700. Доступ производился с инженерной рабочей станции под Windows XP x64. Открытие документа выливалось в мучительное полутораминутное ожидание даже при «разгруженной» стойке. Никакие «шаманства» с настройками сервера не помогали. В результате на существенно менее производительном сервере (производительность дисковой системы по тестам более чем в 4 раза хуже при копировании больших файлов) был поднят Linux — виртуальный файловый сервер под VMWare ESXi под Samba 3 с файловой системой Ext 3. После этого по тестам время открытия файлов Pro-E сократилось до 40 с, т.е. более чем в 3 раза.

После такого эксперимента странно слышать высказывания о том, что производительность файлового сервера Windows возрастает только при замене Windows 2003 (поддержка протокола SMB 1.0) на Windows 2008 (SMB 2.0) и рабочих станций на Windows Vista/7 (поддерживают SMB 2.0). Налицо принуждение пользователей к переходу на новую серверную платформу с заменой клиентского ПО. Microsoft вполне мог включить оптимальную реализацию протокола SMB 1.0, да и SMB 2.0, в очередной сервис-пак. Конечно, этот шаг не позволил бы собрать столь значительную дань с корпоративщиков, как переход на новую версию серверной и десктопной ОС.

Утверждение 3. TCO Open Source ПО  ниже, чем коммерческого ПО с закрытыми исходниками.
    Частенько от приверженцев коммерческого ПО можно слышать, что TCO Ope Source разработок выше TCO соответствующих коммерческих продуктов. Несомненно, доля правды в подобном утверждении имеется, т.к. «бесплатность» на начальном этапе (CapEx → 0) может обернуться изрядными затратами на поддержание продукта (OpEx>0). C другой стороны, в утверждении о значительно более высоких TCO OSS есть изрядная доля лукавства, т.к. минимальный CapEx, пусть и при больших OpEx, – это, зачастую, хорошая экономия. Простое сравнение совокупных затрат без учета их структуры и дисконтирования не совсем корректно.
Для ряда продуктов, например, OpenOffice, окупаемость считается очень легко, и если компания не использует интеграции офисного пакета с продуктами Microsoft, то выигрыш будет однозначный. Мне пришлось больше года работать на OpenOffice еще 2-ой версии, и особого дискомфорта я от этого не ощутил, кроме необходимости конвертации в офисные форматы Microsoft. Привыкание происходит довольно быстро, а реализация некоторых вещей даже более удобна, чем в Microsoft Office. Немало коллег говорили, что вполне благополучно перешли с Microsoft Office на OpenOffice, и особой «ломки» у сотрудников не было. Вновь приходящие в компанию сотрудники воспринимали необходимость работы в OpenOffice абсолютно спокойно. 

Microsoft Outlook же, не смотря на все его идеологическое удобство, с точки зрения производительности и стабильности работы пока что очень далек от идеала. Особенно на терминальных серверах. Вот уж действительно «ломка» у пользователей возникает, когда приходится переходить на неторопливый Outlook с чего-нибудь шустрого и надежного, например, с OSS Mozillа Thunderbird + Sunbird

Утверждение 4.
Для сопровождения OSS требуются высококвалифицированные сисадмины.
С этим можно согласиться частично. По опыту, скорее следует перефразировать, что для сопровождения OSS требуются квалифицированные системные администраторы. С другой стороны, для администрирования продуктов Windows грамотные администраторы также очень желательны, хотя можно обойтись и «невменяемыми», если «не интересует результат». Квалифицированные администраторы Windows-систем, как показывает практика, вполне свободно разбираются с OSS, и наоборот. Что касается сложностей администрирования, то по большинству OSS продуктов это надуманная проблема. Сейчас серьезные OSS-продукты позволяет выполнять настройки с помощью веб-интерфейса, т.е. сложностей не возникает как у любителей консоли, так и мелких грызунов.

***
В заключение хотелось бы напомнить, что для решения различных бизнес-задач нужен соответствующий инструментарий. При выборе инструмента стоит рассматривать максимум вариантов, грамотно считать TCO и определять риски. Сейчас у ИТ-менеджеров, помимо хорошо известных и зарекомендовавших себя коммерческих программных продуктов, появилась достойная альтернатива в лице OSS-продуктов. Удастся ли воспользоваться с толком для наших организаций открывающимися перспективами - зависит только от нашей компетенции. Одно можно сказать твердо, с пришествием OSS продуктов жизнь ряда коммерческих компаний несколько усложниться и уже не так просто будет продавать задорого не особо нужные новые рюшечки. Придется заняться непростым делом поиска и создания чего-то действительно инновационного и востребованного для потребителей.

Андрей Федоров, ИТ директор ЗАО «Ридан», Нижний Новгород

Опубликовано 14.09.2010