III. Методологические вопросы и информационная среда сферы научных исследований и образования
Борисов Всеволод Васильевич
кандидат физико-математических наук,
зав. отделом правовых проблем сферы науки и инноваций РИЭПП. Тел. (495) 916-12-65, vsvasbor@yandex.ru
Кунявский Михаил Владимирович
кандидат технических наук, старший научный сотрудник отдела правовых проблем сферы науки и инноваций РИЭПП.
Тел. (495) 917-89-43, info@riep.ru
ИСТОРИЯ ВОЗНИКНОВЕНИЯ И ВОПРОСЫ РАСПРОСТРАНЕНИЯ СВОБОДНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ1
Введение
Необычайно высокие темпы развития информационных технологий (информационная технологическая революция) порождены творческим трудом большого количества высококвалифицированных специалистов различного профиля - разработчиков исходных технологий, инженеров-изготовителей различных узлов, разработчиков операционных систем и систем компьютерного сервиса, открывших возможности эффективного использования современных персональных компьютеров многим миллионам пользователей.
В результате сформировался фактически глобальный и во многом специфический рынок информационных технологий - рынок персональных компьютеров, всевозможных электронных материальных носителей информации, онлайновый рынок в сети Интернет и.т. д. - в том числе рынок компьютерных программ и развитых систем программного обеспечения.
Любые рынки формируются поначалу на основе складывающихся традиций, которые затем, в той или иной форме, закрепляются в законодательстве.
В российском законодательстве по проблематике информационных технологий было принято два закона:
1 Исследование выполнено при финансовой поддержке РГНФ, грант «Создание метода определения минимальной доли контрафактной продукции на рынке информационных и коммуникационных технологий» (проект № 09 - 02 - 00211 А).
Закон Российской Федерации от 23 сентября 1992 года N 3523-1 «О правовой охране программ для электронных вычислительных машин и баз данных» (в редакции Федеральных законов от 24.12.2002 N 177-ФЗ, от 2.11.2004 N 127-ФЗ, от 2.2.2006 N 19-ФЗ);
Закон Российской Федерации от 23 сентября 1992 года N 3526-1 «О правовой охране топологий интегральных микросхем» (в редакции Федеральных законов от 9.7.2002 N 82-ФЗ, от 2.11.2004 N 127-ФЗ, от 2.2.2006 N 19-ФЗ).
Этими двумя законами отдельно регулировались права собственности на важный элемент аппаратных средств компьютерной техники (то, что называют hardware) и отдельно - на не менее важную часть средств компьютерных технологий, software (программное обеспечение, которое часто называют просто «софт»).
В данной статье нас интересует первый закон, предметом которого является программное обеспечение (далее - ПО). В статье 2 этого Закона, в пункте 2 было прямо указано, что программы для ЭВМ относятся данным Законом к объектам авторского права и им предоставляется правовая охрана как произведениям литературы - т. е. в соответствии с Законом РФ от 9 июля 1993 г. N 5351-1 «Об авторском праве и смежных правах».
Это положение позднее было воспроизведено в четвертой части Гражданского кодекса РФ (принятого в виде Федерального закона от 18.12.2006 года № 230 и вступившего в силу с 1 января 2008 года). Именно с этой даты утратили силу все предыдущие федеральные законы, касающиеся интеллектуальной собственности - на смену им пришли соответствующие главы четвертой части Кодекса. При этом статьи, касающиеся правовой охраны программ для ЭВМ, вошли непосредственно в главу 70 «Авторское право».
В частности, в статье 1259 практически воспроизведено упомянутое выше положение:
«К объектам авторских прав также относятся программы для ЭВМ, которые охраняются как литературные произведения.»
Надо сказать, что такой подход к охране прав на ПО никаким правовым новшеством не был: аналогичные нормы зафиксированы в законодательстве большинства западноевропейских стран и вслед за этим были приняты Конгрессом США (см. об этом, например, в книге Л.Лессига «Свободная культура» [1]).
Возникновение свободного ПО
Разговор о самом авторском праве - отдельная проблема. Но для сообщества профессиональных программистов такого рода «охрана» оказалась серьезным тормозом разработки новых, более совершенных программ, на базе ранее созданных, так как в число юридически закрепленных авторских прав входит право на неприкосновенность произведения (в четвертой части Гражданского кодекса РФ это указано в ста-
тье 1255). Но как раз для программистов были намного более привычны нормы научного сообщества, когда можно бесплатно делиться своими достижениями: в результате каждый получает от коллег много больше того, что отдает сам.
Все это в полной мере относилось к группе программистов, работавших в 1970-х гг. в лаборатории искусственного интеллекта Массачусет-ского технологического института (МИТ). Основой компьютерного парка там были вычислительные машины PDP-10. Операционная система этой ЭВМ была открытой для всех желающих, что позволяло каждому программисту вносить в нее различные улучшения, сразу становившиеся доступными остальным членам коллектива.
Но уже в начале 1980-х гг. на смену PDP-10 в лабораторию пришли более мощные компьютеры, уже с коммерческим ПО, использование которого было сопряжено с рядом требований (фактически вытекающих из закрепленных законом авторских прав). В их число вошло требование нераспространения ПО и даже запрет на его адаптацию (таковы законы рынка: после адаптации ПО обладатель улучшенной версии мог стать потенциальным коммерческим конкурентом).
Один из программистов МИТ, Ричард Столлмен (Richard Stallman), счел для себя такое ограничение на свободу творчества неприемлемым. В начале 1984 года он уволился из МИТ и решил разработать собственную операционную систему, которую он намеревался сделать свободно распространяемой, обеспечив при этом возможности каждому пользователю ее как угодно совершенствовать и адаптировать к решению своих задач [2].
Наиболее распространенной операционной системой в те годы была UNIX2, которую в принципе можно было переносить на какие угодно компьютеры. Однако почти все распространявшиеся тогда версии UNIX были коммерческими, со всеми полагающимися для них запретами -и при том неоправданно дорогими.
Новая система, которую решил создать Р. Столлмен, должна была быть совместима с UNIX, но написана «с нуля», чтобы избежать каких бы то ни было конфликтов с держателями патентов.
Столлмен назвал свою операционную систему GNU — составив название из первых букв короткой фразы, в которой использовалось само придуманное им название: GNU's Not UNIX. Ее логотипом стало стилизованное изображение антилопы-гну - свободного животного, символизировавшего для Столлмена свободу от копирайтных ограничений.
Для Столлмена основным достоинством созданной им операционной системы было закрепленное за ним право на эту систему, что давало ему возможность использовать ее по его собственным правилам (своеобразное «право на право»). Главное правило, которое он ввел, касалось исходного кода - кода более высокого уровня, по сравнению с машинным кодом. Именно такой исходный код (вполне осмысленный и читаемый)
2 Первоначальное название, UNICS, расшифровывалось как "UNIplexed Information and Computing System). Позже оно сократилось до UNIX.
используют программисты, создавая или модифицируя свои программы. Если исходный код программы неизвестен, ее уже практически невозможно модифицировать.
Правило Столлмена заключалось в том, чтобы все пользователи его операционной системы, вводя в нее изменения, сохраняли исходный код модифицированной программы открытым. Разумеется, и сам он, распространяя свою операционную систему, соблюдал это же правило.
В начале 1985 года сама программа и ее исходные тексты были выложены на сервер МИТ для всеобщего доступа. Но связь с самим сервером МИТ далеко не всем была доступна, поэтому Столлмен решил сам распространять свою систему, объявив через газету о своей готовности за 150 долларов прислать ее по почте (в виде кассеты с магнитной лентой) любому, кто хочет ее получить, не забыв упомянуть об установленных им правилах ее использования.
В дальнейшем правила Столлмана легли в основу целого движения сторонников «свободного ПО», на которое не распространяется ни авторское право на неприкосновенность созданной программной продукции, ни запрет на ее распространение.
В 1985 году к проекту присоединились многие другие сторонники свободного ПО, и все вместе они создали Free Software Foundation (FSF) - благотворительный фонд для разработки свободно распространяемого ПО. Главным документом FSF стала свободная лицензия, получившая название GPL - General Public License (сам Столлмен всегда называет ее GNU GPL). Она основана на идеологии, получившей название «копилефт» (copyleft) - в пику «копирайту». Согласно Столлмену, «основная идея copyleft состоит в том, чтобы дать каждому пользователю возможность использовать, копировать, изменять программу и распространять модифицированные версии, при условии, что их, в свою очередь, не запрещается изменять».
Еще до инициатив FSF и особенно после них возникло много разновидностей свободных лицензий, которые допускают различную степень свободы пользователя. Наиболее серьезное усовершенствование в операционную систему Столлмена внес Линус Торвальдс, и эту новую UNlX-подобную операционную систему он назвал Linux. Сам Столлмен ее именует GNU/Linux.
Следует специально подчеркнуть, что свободное ПО - не обязательно бесплатное. Да, если представится случай, ее можно бесплатно скопировать, не нарушая никаких законов, но в других ситуациях может оказаться удобнее ее купить, тем более, что, в отличие от платного и закрытого ПО, поставляемого фирмой Майкрософт (операционная система Windows), рыночные цены на Linux значительно ниже. Здесь можно усмотреть некоторую аналогию с книжным рынком: нужную книгу, в принципе, можно достать бесплатно - у друзей или в библиотеке, но эта возможность практически не снижает спрос на книги в книжных магазинах.
Во время визита в Москву в 2008 году Р. Столлмен сказал, что за двадцать лет, прошедшие после выдвижения идеи свободного ПО, учи-
тывая стремительное развитие сети Internet, он еще более укрепился во мнении, что свободное ПО необходимо всем, кто стремится к соблюдению своих гражданских прав.
И уж никак не обойтись, как считает Столлмен, без использование свободного ПО в государственных учреждениях, поскольку проприетарному ПО3 (т. е. закрытому коммерческому ПО) нельзя доверять - там же могут быть ошибки, которые будет трудно выявить и невозможно исправить.
В литературе часто встречается термин «открытое ПО» (Open Source Software), Он означает ПО с открытым исходным кодом. Вроде бы это то же самое «свободное ПО» (по Столлмену). Действительно, и в том, и в другом случае открытый исходный код позволяет модифицировать ПО. Но в случае свободного ПО пользователь одновременно получает свободу распространения модифицированного ПО. В общем случае, открытое ПО может такого права и не давать: это означает, что для собственных целей пользователь может делать с программой все, что захочет, но коммерческое использование модифицированной программы возможно только с разрешения правообладателя (иными словами, аппаратный запрет в этом случае заменяется на чисто правовой).
С другой стороны, свободное ПО защищено свободными лицензиями и уже упоминавшимся копилефтом, в основе которого лежит концепция использования законов авторского права для расширения прав и свобод людей.
Развитие рынка свободного и открытого ПО
За последние два года наблюдалось заметное увеличение доли свободного и примерно такой же спад доли ПО с закрытым кодом. Так, с февраля 2009 год по январь 2011 года суммарная доля браузеров с закрытым исходным кодом упала за рассматриваемый период с 72,7 % до 62,3 %, тогда как суммарная доля браузеров с открытым исходным кодом выросла с 26,3 % до 35,7 %. (данные компании Net Applications, см. http://www.netmarketshare.com).
Пиратское ПО, остававшееся в этот период примерно на одном уровне, в приведенных выше оценках в расчет не принималось.
Надо сказать, что бизнес, который многие крупные компании ведут, выпуская закрытое немодифицируемое ПО, можно на самом деле с успехом вести и на свободном, и даже просто на открытом ПО [3].
Фирмы, выпускающие закрытое ПО, поставляют на рынок то, что можно назвать «законченным программным продуктом». Это не только сама программа, но и прилагаемые к ней тщательно оформленная документация, четкие инструкции, гарантируемое качество изготовле-
3 Термин «проприетарное» происходит от слова proprietary, что означает «частный», - вслед за Столлменом все стали называть коммерческое (несвободное) ПО именно так.
ния, практически обязательная техническая поддержка. Таковы обычные коммерческие условия выпуска на рынок продукции массового спроса.
Применительно к производству ПО это означает, что продукт не должен иметь никаких изъянов, он должен быть многократно протестирован, все тексты документов и инструкций - тщательно выверены, должны быть учтены все возможные источники малейших ошибок. Организация технической поддержки также требуют серьезных организационных мер.
Создание открытого ПО чаще всего основано на совершенно других принципах. В этом случае можно даже не иметь четкой структуры проекта, не уделять чрезмерного внимания к организации процесса тестирования, направленного на вылавливание ошибок программистов - все это осуществляется по ходу дела, в расчете на то, что либо добровольные помощники, либо сами пользователи в дальнейшем выявят все ошибки, внесут усовершенствования и т. д.
Цена ошибок в этом случае не так уж и велика - ведь все можно исправить.
Работа над обычными продуктами открытого ПО обычно ведется на добровольных началах, но бывают и «курируемые» проекты, разработку которых спонсирует одна или несколько компаний.
Идеология разработки открытого ПО сокращает общее время разработки, позволяет быстрее обнаруживать и устранять ошибки, ускоряет внедрение новых функций. Самоорганизующееся сообщество, состоящее из тысяч профессионалов, движимых разными мотивами, помогает создавать программный продукт.
Производители открытого ПО обычно легко захватывают долю рынка благодаря торговле по более низким ценам, без последующих послепродажных лицензионных сборов.
Вместе с тем, как показывает приведенная выше таблица, коммерческое закрытое ПО, свободное ПО и ПО с открытым исходным кодом на рынке спокойно уживаются, сохраняя общее негативное отношение к пиратскому ПО.
Программы с закрытым исходным кодом иногда тоже по ряду причин могут распространяться бесплатно, так что закрытость вовсе не всегда связана с коммерческими интересами. В частности, некоторые разработчики бесплатных программ специально закрывают доступ к исходным кодам из соображений безопасности (чтобы изучив исходный код и обнаружив в нем какие-либо уязвимости хакеры не начали, к примеру, рассылать вирусы, спам). В качестве примера можно привести известное программное приложение интернет-мессенджер QIP (Quiet Internet Pager - популярная программа мгновенного обмена сообщениями с закрытым исходным кодом).
Можно выделить еще один класс программ — «полусвободное» ПО, которое позволяет легко найти все исходные коды, при том, что ее приложениями можно пользоваться сколько и как угодно, но только в некоммерческих целях.
Бизнес-модели открытого ПО
Разумеется, такого грандиозного коммерческого успеха, какого достигла фирма Microsoft (империя Билла Гейтса со штаб-квартирой в Редмонде - пригороде американского Сиэтла), специализирующаяся на продажах всевозможных видов закрытого ПО, ни Р. Столлмен, ни Л. Торвальдс, ни какие другие создатели открытого ПО не достигли, но это не значит, что в сфере открытого ПО нет места для прибыльного бизнеса [4].
Во-первых, различные версии Linux на рынке ПО пользуются немалым спросом, который даже имеет тенденции к росту.
Во-вторых, бесплатное скачивание программ с открытым кодом с интернет-файлов и последующая их установка на персональном компьютере представляется для обычного массового пользователя не самой легкой задачей - чаще всего все равно приходится обращаться к специальным платным сервисным программам (в частности, к программам быстрого скачивания файлов большого объема).
Важным ответвлением рынка открытых ПО является консалтинговый бизнес, тем более что за быстро развивающейся сферой открытого ПО редко когда поспевает создание четких и доходчивых инструкций для пользователей.
Наконец, не до конца отлаженные новые версии открытого ПО вынуждает пользователя заключать специальные контракты по оказанию технической поддержки со службами, организуемыми разработчиками ПО.
Указанные ниши для бизнеса могут заполнять как разработчики ПО, так и достаточно крупные специализированные компании, выполняющие функции торговых и технических посредников и консультантов.
Иными словами, специфика бизнеса в мире открытых программ заключается в том, что здесь в большей степени торгуют знаниями, экспертизой и рабочим временем, а не битами, байтами и лицензиями.
Преимущества и недостатки свободного и открытого ПО
Основное преимущество уже отмечалось выше: разработка программ с открытым исходным кодом дает возможность разработчикам работать на основе норм, принятых в научном сообществе, которые так нравились Ричарду Столлмену и его коллегам до появления в их лаборатории компьютеров с закрытым ПО. В этом случае каждый исследователь сохраняет право на индивидуальное творчество, но при этом имеет возможность использовать творческие достижения не только своих коллег, но и коллег из других лабораторий и даже других стран. Возникают наилучшие условия для обмена идеями среди профессионалов, что, кстати заметим, во многом как раз и предопределило взлет информационных возможностей в глобальном масштабе.
Большим подспорьем в разработке ПО стал блочный метод программирования, позволяющий при разработке самых разных программ
многократно вставлять в них готовые стандартные блоки, не требующие дополнительной отладки.
Вместе с тем, такой ускоренный коллективный метод работы заключает в себе и важный недостаток. Преобладающее внимание к черновой работе, в надежде на то, что доводка до конечного программного продукта будет выполнена общими усилиями, может привести к тому, что окончательный стабильно работающий продукт, лишенный каких-либо изъянов, так никогда и не будет создан. В каком-то смысле здесь можно усмотреть аналогию с той разницей, которая отличает заводскую сборку прибора от любительской.
Таким образом, задача состоит в том, чтобы найти оптимальный режим в разработке программ, с должным вниманием к проверке продукции на полную готовность.
В связи с этим уместно упомянуть о позитивной тенденции, проявляющейся в повышении качества открытых программ.
Это было подтверждено компанией Coverity [http://scan.coverity. com/], занимающейся разработкой средств автоматизированного анализа. Данные, представленные в отчете Scan Report on Open Source Software 2008, базируются на информации, полученной в ходе анализа более чем 55 миллионов строк кода, входящего в состав примерно 250 пакетов открытых ПО. Эксперты Coverity, в числе прочего, проверяли исходные коды ядра операционной системы Linux, соответствующих браузеров и систем управления базами данных - иными словами, это была весьма серьезная работа, с использованием одного из самых авторитетных и придирчивых программных инструментов проверки.
Согласно отчету Scan Report on Open Source Software 2008, плотность дефектов (количества ошибок на определенное число строк кода) в обследованных продуктах за последние два года уменьшилась на 16 % [5].
Еще одним недостатком для разработчиков открытых программ является более сложная модель получения прибыли и ее распределения среди участников процесса разработки. Ряд трудностей возникает при совместной работе над проектом рассредоточенных иноязычных программистов. Из-за большлого числа вносимых изменений постоянно приходится отслеживать эти изменения и проверять их качество. Это требует использования сложных систем контроля и учета кода.
Для массового пользователя, не владеющего искусством программиста, открытость исходного кода не имеет значения, так что единственным преимуществом открытых программ для него является их более низкая стоимость. В развитых странах, где строго следят за соблюдением авторского права, это, безусловно, сказывается. Но в России нелицензионное (практически почти бесплатное) использование дорогостоящей платной программы преследуется очень слабо - поэтому предпочтение отдается нелицензионному использованию коммерческих аналогов, упакованных в более удобную инсталляционную оболочку, не требующих установки множества дополнительных компонентов - проще говоря, более дружественных к рядовому пользователю.
Еще один важный момент - потенциальная опасность прекращения разработки проекта. Он вполне может выпасть из круга интересов автора, что иной раз равнозначно полной или частичной остановке работы.
Тем не менее в настоящее время (2010 год) все больше компаний переходит на открытое ПО, все больше производителей открывают свои программы для общества. Многие разработчики увидели, что крупные проекты гораздо эффективнее разрабатывать не группой отдельно взятых программистов, а усилиями многих людей, рассредоточенных чуть ли не по всей планете.
Один из самых простых способов повысить коммерческие перспективы открытого проекта - собрать его в удобный инсталляционный пакет, подготовить сопровождающую документацию и инструкции, организовать службу поддержки, подготовить обучающие видеоматериалы: т.е. создать из набора исходных кодов и краткого описания по установке продукт для конечного пользователя, который готов заплатить определенную сумму за удобство работы с программой.
Если открытый проект представляет собой веб-сервис, можно продавать услуги по его установке и настройке. Все это можно свести к стандартной рекомендации изучения и учета запросов потребителя (или, что то же самое, запросов рынка).
Как продается открытое ПО
Обычно индивидуальные пользователи получают продукцию открытого ПО бесплатно, а компаниям такой же продукт поставляется за плату. Чаще всего в корпоративных версиях есть дополнительные закрытые компоненты, с приложением более полной документации. Правда, цены все равно устанавливаются намного более скромные, по сравнению с ценами на «закрытые» аналоги. Скажем, лицензия полного пакета Sun StarOffice обойдется примерно в 1100 рублей, в то время как базовая версия Microsoft Office стоит не менее 2500 рублей. К тому же OpenOffice, компоненты которого использует StarOffice, распространяется и вовсе бесплатно.
Часто усилия сообщества направляются на доработку какого-то интересного и крупного проекта, а на продажу идет доработанный продукт, оптимизированный для конкретных нужд.
Существуют и менее тривиальные методы. Заметную популярность приобрели компании, предлагающие услуги страхования открытого кода. Они проводят ревизию исходных кодов и определяют, соблюдены ли условия всех возможных лицензий, согласно которым распространяются разные части кода, помогают подготовить все необходимые бумаги и соглашения для работы или продажи открытого ПО. Если пойти дальше, можно предоставлять платные юридические услуги: часто требуется эксперт, знающий все тонкости законов, чтобы убедиться, что та или иная лицензия подходит для определенных целей.
Распространение открытого ПО в России
В настоящее время большинство российских учреждений, даже и не самых крупных, не говоря уже о частных компаниях постоянно закупает персональные компьютеры, которыми оборудуются многие рабочие места. Операционной системой большей частью служат различные версии Microsoft Windows, относящиеся к семейству проприетарных операционных систем корпорации Майкрософт (Microsoft). Чаще всего реализуются компьютеры, на которых такая операционная система уже установлена, а все необходимые лицензии, как можно надеяться, уже оплачены поставщиками.
Удовольствие дорогое, но к этой операционной системе все привыкли, переход на другую представляется затруднительным, хотя в принципе сама такая возможность существует.
Тем не менее, все чаще раздаются голоса, предупреждающие о тех опасностях, с которыми может быть сопряжено использование закрытой программной продукции компании-монополиста. И, как и вполне естественно было бы ожидать, в качестве альтернативы предлагается переход на операционную систему Linux - в этом случае определенную гарантию от возможного ухудшения качества работы компании-поставщика дает хотя бы открытый код.
Одним из наиболее крупных проектов по внедрению свободного ПО в России стал организованный в 2009 году по инициативе Федерального агентства по образованию проект НП-12: «Обеспечение поддержки внедрения пакета свободного программного обеспечения в общеобразовательных учреждениях Российской Федерации». За основу было решено использовать как раз операционную систему.
Надо сказать, что подобные проекты по внедрению GNU/Linux в школьные общеобразовательные учреждения были ранее инициированы и в ряде других стран (Великобритания, Индия, Бразилия, Китай и другие).
В России выполнение этого проекта по итогам объявленного конкурса возложено на Академию Айти - организованный в 1995 году коммерческий учебно-консалтинговый центр профессиональной подготовки, выполняющий также функции одного из ведущих российских поставщиков продуктов, услуг и решений для профессионального обучения, основанных на современных информационных и коммуникационных технологиях.
Литература
1. Лессиг Л. Свободная культура / Пер. с англ. М.: Прагматика Культуры, 2007. — 272 с.
2. Юрий Ревич «Движение свободного программного обеспечения: история с бородой», Новая Газета, выпуск за 28 марта 2008 года, № 12.
3. Бизнес Open Source: Как зарабатывают деньги на открытом ПО, CHIP 06.2009.
4. Код нараспашку. CHIP 02.2009.
5. http://www.securitylab .ru/news/353360.php