Свободное программное обеспечение в России и мире

Федеральная целевая программа "Электронная Россия"

Рабочая встреча "Свободное программное обеспечение"


Организаторы: ГУ Высшая школа экономики и Издательский дом "Компьютерра"

Спонсоры: IBM и Sun Microsystems

Место и время: Москва, ВШЭ (Мясницкая, 20), 28.11.01


МАТЕРИАЛЫ ВСТРЕЧИ



Содержание

  • About this document ...

    Введение (DEPRECATED!)

    Свободное программное обеспечение -- программы, разрабатываемые и предоставляемые авторами на условиях свободы их использования, модификации и распространения модифицированных версий -- занимает важное место в современной компьютерной отрасли, в том числе, в России. В некоторых сегментах рынка разработки и поставки программ мы наблюдаем устойчивое доминирование свободного ПО (особенно это касается относительно молодых областей приложения компьютера, таких, как, например, предоставление информационных услуг посредством Internet). Успех таких проектов, как Linux или Apache, на слуху у всех, кто хоть немного интересуется компьютерами и сетями. Однако сам принцип свободы программного обеспечения остается во многом темным не только для широкой публики и массового пользователя, но и для многих аналитиков отрасли. В глаза первым делом бросается контраст бесплатного лицензирования свободных программ и желания непременно получить ``свою честную долю'' разработчиков и поставщиков программ несвободных (даже если их поставка и не сопровождается предоставлением пользователю каких-либо реальных услуг), и вопросы о том, откуда берутся эти ``даровые ресурсы'', в чем цели тех, кто их предоставляет, и нет ли здесь какого-нибудь подвоха, занимают очень многих.

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

    Сомнений не вызывают, по крайней мере, два пункта:

    • благодаря технической доступности исходных текстов свободных программ и предоставлямому свободными лицензиями праву на их модификацию, использование свободного программного обеспечения весьма перспективно в плане приведения решений к уровню безопасности, требуемому в каждом конкретном случае, к требованиям отечественных стандартов и норм;
    • выход разработчиков и поставщиков свободных программ на рынок решений в области ИТ способен существенно повысить его конкурентность и усилить, таким образом, позиции заказчиков (включая государственные организации).

    Накопившиеся вопросы и желание если не дать на них ответы сразу, то по крайней мере отчетливо поставить соответствующие проблемы (учитывая, что программное обеспечение, вопросы его разработки, лицензирования и использования неизбежно станут одним из основных смысловых фокусов работ в рамках Федеральной целевой программы ``Электронная Россия'', призванной сократить отставание в становлении институтов информационного общества в нашей стране), привели к тому, что Высшая школа экономики и издательский дом ``Компьютерра'' инициировали проведение рабочей встречи ``Свободное программное обеспечение. Бизнес-модели и корпоративные инициативы''.

    Тематика этого мероприятия, разумеется, не исчерпывает всей проблематики становления института свободного программного обеспечения, да это и невозможно в пределах однодневной встречи.

    Тем не менее, помимо очень важных тем моделей разработки и использования программного обеспечения, бизнес-моделей и корпоративных инициатив, нам неизбежно приходится касаться и философско-этических основ этого института. В связи с этим в материалы, подготовленные к Встрече, помимо тезисов участников (надеемся, читатель оценит разнообразие представленных в них точек зрения), включены также и статьи, представляющие точку зрения, подход и концепцию Фонда свободного программного обеспечения, являющегося наиболее авторитетной из общественных организаций в этой области {Мы рады возможности особо поблагодарить Сергея Коропа, обновившего свои переводы этих материалов к моменту подготовки настоящей брошюры.} .

    * * *

    Замысел проведения Рабочей встречи с живым интересом встречен информационно-технологической отраслью, а две крупные компьютерные корпорации, активно работающие на российском рынке, поддержали нас спонсорскими взносами, что позволило значительно расширить круг участников Встречи. Не менее важно, что эти компании, наряду со многими другими, вносят большой вклад и в развитие самой сферы свободного ПО: бюджет Linux-инициатив IBM исчисляется сегодня миллиардами долларов {О состоянии этих инициатив подробнее см. представленные тезисы и материалы на сайтах www.ibm.ru и www.ibm.com.} , а благодаря развертыванию Sun Microsystems проекта openoffice.org у нас впервые за много лет появляется шанс унифицировать ``офисное'' программное обеспечение на различных платформах {Openoffice.org и создаваемый на его основе StarOffice 6 реализованы под свободной ОС Linux и проприетарными Microsoft Windows и Solaris при сохранении совместимости не только на уровне форматов файлов, но и на уровне навыков пользователя; ведутся работы по переносу его и на другие платформы, включая MacOS.} -- ведь именно ``суета вокруг офиса'' долгое время оставалась одной из причин (пусть даже чисто психологических), сдерживавших миграцию пользователей на свободные платформы.

    Максим Отставнов
    редактор
    еженедельник ``Компьютерра''
    11 ноября 2001 г.


    Changelog


    Версия 1.7 (01.12.01)

    • Добавлены Аннотация (см. с. [*]) и Changelog (эта страница).
    • Тезисы Новодворского и Хачатурова Конституционная анархия Debian (см. с. [*]) исправлены и дополнены.
    • Добавлены тезисы Маховой Кнутов продукт TEX (см. с. [*]).
    • Добавлена Часть III. Сведения о Рабочей встрече ``Свободное программное обеспечение. Бизнес-модели и корпоративные инициативы'' (см. с. [*])
    • Исключены буквы ``ё'' (их оказалось 126 шт.!), в статье Овчинникова ``ТЕХ'' заменено на ``TEX''.

    Часть I
    Тезисы выступлений


    Subsections



    Что значит свобода софта для бизнеса

    Алексей Смирнов <org@altlinux.ru>

    Появление программного обеспечения с открытыми исходными текстами явилось революционным не только с точки зрения технологии разработки ПО, но и с точки зрения всего характера бизнеса в этой сфере. Распространенное заблуждение состоит в том, что свободный софт -- это тот, что распространяется без лицензий, в то время как это программы с открытыми исходными текстами, свободно распространяющиеся на условиях свободной лицензии. Появление лицензий, подобных GNU GPL, которые по сути являются ``юридическим вирусом'', препятствует переводу свободного софта под проприетарную лицензию.

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

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

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

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

    С точки зрения клиента все это выливается в:

    • удешевление решения
    • защиту инвестиций (независимость от разработчика, соблюдение стандартов)
    • повышение безопасности
    • увеличение качества обслуживания

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

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

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

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

    Несколько слов о том, что делаем мы в ALT Linux исходя из изложенного выше понимания тенденций.

    1. Мы самым тесным образом интегрированы в различные международные проекты. Непосредственное участие наших разработчиков в этих проектах позволяет нам постоянно быть на переднем крае, мы имеем достоверную информацию о состоянии и перспективах различных разработок, наши собственные разработки актуальны.
    2. Мы стремимся к открытой модели разработки. Нами создан депозитарий пакетов Sisyphus, в который ежедневно (точнее еженощно) выкладываются все наши труды. Это один из трех существующих в мире открытых депозитариев пакетов для Linux, пользоваться им могут все -- но огромный вклад делают туда свободные разработчики. Sisyphus -- общее наше достояние, и все мы пользуемся его ресурсами.
    3. При работе со свободным софтом преимущество получает тот, кто владеет эффективными технологиями разработки. И мы разрабатываем и внедряем такие технологии. Назову для примера технологию сборки пакетов, позволяющую поддерживать целостность депозитария, технологию создания различных дистрибутивов Linux на базе единого депозитария пакетов (мы можем создать полноценный дистрибутив за 2-3 недели), а также технологию создания веб-порталов.
    4. Большое внимание мы уделяем разработке решений на базе свободного софта и их коммерческой поддержке. Среди этих решений есть и сложные серверные системы, и однодисковые дистрибутивы Linux для предустановки на офисные и мультимедийные компьютеры.

    Apache и ``Русский Apache''. Попытка анализа успеха проектов

    А. В. Тутубалин <lexa@lexa.ru>

    Одним из наиболее успешных OpenSource продуктов является Web-сервер Apache (www.apache.org/httpd/). Этот сервер появился в апреле 1995 года, уже через год он был наиболее популярным ПО для поддержки WWW-серверов с ``рыночной долей'' около 35%. ``Половина рынка'' была освоена к началу 1998 года, начиная с этого времени, доля Apache более чем вдвое превышает долю ближайшего конкурента -- Microsoft IIS -- и колеблется в пределах 55-65%. На сегодняшний день Apache поддерживает функциональность приблизительно 19 млн. WWW-серверов (по данным Netcraft, http://netcraft.co.uk).

    Такой несомненный успех провоцирует на внимательный анализ -- повторить успех Apache было бы приятно любой группе разработчиков OpenSource-проекта.

    Причины успеха Apache можно разделить на две группы: технологические причины, связанные с техническими преимуществами над конкурентами, и нетехнологические.

    Технологические причины успеха Apache

    Технологическое лидерство. В начальный период своей истории появления Apache был одним из технологических лидеров на рынке -- производительность была достаточно велика, потребности в ресурсах -- малы. При этом программа обладала возможностью легкого расширения путем добавления модулей, причем реализовано это было много лучше чем у конкурентов. Возможность легкого расширения обусловило появление большого количества производных от Apache серверов -- Stronghold, Apache/SSL, mod_perl -- удовлетворяющих большинство потребностей Web-разработчиков по сегодняшний день.

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

    Открытость процесса разработки. Процесс разработки Apache открыт для наблюдения и комментирования всем желающим и поэтому предсказуем. Это позволяет выпускать дополнительные модули к новым версиям практически одновременно с их выходом.

    Нетехнологические причины

    ``Демократическая'' разработка. В проекте Apache реализована уникальная схема разработки -- по каждому изменению проводится голосование, причем ``существенные'' изменения могут быть остановлены правом вето любого члена группы разработчиков, а несущественные -- должны набрать больше голосов ``за'', чем ``против''. Такая схема позволяет блокировать сомнительные технологические решения, поддерживая технологический консерватизм. Очевидно, что такая схема не может быть применена в произвольном проекте так как требует разумности от всех разработчиков группы, что достижимо далеко не всегда.

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

    Лицензирование. Существенной причиной успеха Apache является действительно свободное лицензирование. Apache License, в отличие от наиболее распространенной в среде OpenSource GNU GPL, не навязывает свободное распространение производных работ, а требует лишь сохранения права на имя -- указания, что производный проект использует код, разработанный Apache Group. При такой схеме лицензирования коммерческие компании охотнее вкладывают свои ресурсы в развитие продукта, примером может служить участие IBM в разработке Apache 2.0 и переносе Apache на платформу Windows.

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

    Русский Apache. История и нескромный анализ причин успеха

    История. Одновременно с появлением в Рунете WWW-серверов с информацией на русском языке, возникла проблема правильной поддержки кириллицы -- в России используется множество кодовых таблиц для русского языка. ``Единственно правильной'' методики поддержки кириллицы не существовало, выдвигались достаточно самобытные идеи, авторам которых приходилось создавать свои варианты серверного и даже клиентского ПО. По состоянию на начало 1996 года, достигнуть консенсуса разработчиков, администраторов и пользователей не удалось, при этом даже не существовало стандартов, описывающих правильную поддержку неевропейских алфавитов в http/WWW.

    В том же 1996 году появился ``Русский Apache'' -- поддержка нескольких кодировок кириллицы для сервера Apache, автором которого был Дмитрий Крюков (автор первых версий поисковой машины Рамблера и Rambler's Top100). Решение Крюкова было самым качественным из имеющихся -- клиенты могли читать документы в удобной для них кодировке, не модифицируя свое ПО, большая часть (но не все) модулей Apache корректно работала с русским языком.

    К началу 1997 года Крюков увлекся разработкой Rambler's Top100, времени на поддержку ``Русского Apache'' у него не осталось, в феврале 1997 года проект был передан автору данного сообщения.

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

    Существенной составляющей успеха Русского Apache, несомненно, является успех Apache (более того, по данным Netcraft популярность Apache в домене .ru составляла на май 2001 г. около 85% -- много больше, чем в среднем в мире). С другой стороны, доля Русского Apache ``на рынке'' -- около 60%, при этом поддержка множества кодировок последние полтора-два года не является необходимой -- подавляющая доля клиентского ПО поддерживает кодировку Windows.

    Анализировать причины успеха собственного проекта всегда трудно, однако попытаемся это сделать по той же схеме, по которой анализировали успех исходного Apache

    Технологические причины

    Технологическое лидерство. Обладая всеми преимуществами исходного Apache, русская версия добавляет прозрачную поддержку любого количества кодовых страниц для одного языка. В отличие от конкурентных решений, динамические документы могут собираться из источников в разных кодовых таблицах, что позволяет строить сложные WWW-сайты в гетерогенном окружении. Эти свойства покрывают потребности подавляющего числа пользователей, единственным серьезным упущением является отсутствие поддержки многоязыковых серверов с несколькими кодовыми страницами для каждого языка.

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

    Нетехнологические причины

    Открытость разработки. Найти постоянных желающих участвовать в разработке Русского Apache не удалось. Часть работы удается ``свалить'' на волонтеров, в основном они делают скомпилированные версии под различные операционные системы. Однако привлечь к обсуждению проекта и связанных с ним проблем удалось достаточно много людей, в настоящее время рассылки читают около 1000 человек, преимущественно WWW- и UNIX-разработчики.

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


    Конституционная анархия Debian

    Петр Новодворский <nidd@cs.msu.su>,
    Вартан Хачатуров <wart@softhome.net>

    Debian (www.debian.org) -- это операционная система, основанная на свободном программном обеспечении (ПО) и использующая ядро Linux. Основными преимуществами Debian перед другими дистрибутивами, с нашей точки зрения, являются:

    • многоплатформенность. Debian функционирует практически на всех платформах, на которые портировано ядро Linux. Четкая, продуманная и в большинстве случаев абстрагированная от конкретного ядра структура пакетов Debian позволила создать и первый дистрибутив, основанный на ядре GNU/Hurd (Debian GNU/Hurd);
    • стабильность. Стабильные релизы Debian отличаются высокой устойчивостью и малым количеством критических ошибок, что позволяет использовать их на ``боевых'' серверах. Следует также отметить и то, что все обнаруженные позднее серьезные ошибки в пакетах релиза быстро исправляются, и системный администратор имеет возможность оперативной установки исправленных пакетов;
    • гигантская база пакетов. На сегодняшний день Debian содержит около четырех тысяч пакетов со свободным программным обеспечением. Пакеты могут ставиться как по сети, так и с носителей.
    • большое количество разработчиков и открытая модель разработки. Debian разрабатывают и поддерживают около 700 человек, распределенных по всему миру (что, кстати, сильно влияет на локализацию и многоязыковую поддержку). В то время как большая часть других дистрибутивов разрабатывается малыми группами людей или коммерческими компаниями, Debian разрабатывается полностью открыто через Internet, таким же образом, каким разрабатывается само ядро Linux;

    Проблемы

    Ясно, что разработка такого масштабного проекта ставит ряд проблем. Некоторые из них типичны для любых крупных проектов по разработке ПО, некоторые специфичны для свободного ПО:

    • координация действий разработчиков. Ясно, что действия такой большой группы людей (причем людей территориально разделенных, находящихся в разных часовых поясах и зачастую не имеющих фиксированного рабочего дня) необходимо как-то регулировать;
    • работа с пользователями и техническая поддержка. Пользователям свойственно задавать вопросы. Если на их вопросы не отвечать, то пользователи уйдут к тем, кто ответит. Может быть, ответит за деньги, но удовлетворит извечную тягу пользователей к знаниям. Пользователи -- источник сообщений об ошибках, и взаимосвязь пользователь-разработчик необходимо наладить и отрегулировать;
    • управление релизом. Должна быть схема, позволяющая принимать решение о выпуске, и каким-то образом позволяющая отслеживать качество релиза;
    • управление идеологией. Под этим понимается PR проекта, а также отношения между самими разработчиками. Как добиться доверия разработчиков друг к другу? Как исключить проникновение злоумышленников в этот круг? Как разрешать споры?
    • управление оборудованием. У проекта Debian имеется набор серверов для хостинга архива, функционирования скриптов, списков рассылки, сайта www.debian.org да и просто предоставления shell-доступа разработчикам. Каким образом администрировать эти сервера? Где их держать, и как платить за bandwidth?

    Решение проблем

    Все перечисленные проблемы (за исключением технической поддержки пользователей и управления оборудованием) в ``обычных'' проектах принято решать путем образования руководящих органов, отвечающих за каждое из направлений. То есть мы имеем на руководящих постах руководителей, прямое занятие которых -- руководить. Не стоит рассказывать, ``как узок их круг, и как далеки они от подчиненных'', и к чему это чаще всего приводит. Опять-таки, сосредоточение власти в руках одного-двух человек ведет к тому, что недостатки каждого из них становятся недостатками всего проекта.

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

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

    Вот список некоторых из наших документов:

    1. Конституция Debian -- документ, регулирующий принятие решений, важных для всего проекта в целом, процедуры выбора Лидера Проекта, а также права и обязанности различных групп разработчиков Debian, таких как Технический Комитет, или Секретарь Проекта.
    2. Debian policy -- документ, регулирующий подготовку пакетов, строение пакетов, различные ситуации при подготовке пактов и т.д. Иными словами, policy -- это документ, регулирующий техническую сторону Debian (в отличие от Конституции, которая регулирует административную сторону).
    3. Критериии свободного программного обеспечения Debian. О них -- чуть ниже.

    Работа члена команды

    Каким же образом происходит работа собственно разработчика? То есть как организован сам процесс?

    Подготовку пакета и загрузку его в архив можно разбить на следующие стадии:

    1. Программа, удовлетворяющая Определению свободного программного обеспечения Debian и не встретившая никаких возражений со стороны сообщества разработчиков, путем применения набора специальных утилит компилируется в пакет. Здесь следует отметить очень важную вещь: в Debian для подтверждения личности разработчика используется GnuPG (свободная реализация OpenPGP, совместимая с PGP). Все открытые ключи разработчиков собираются в связку, и затем проверяются с его же (GPG) помощью. Абсолютно все пакеты подписываются ключом разработчика на стадии сборки пакета во избежание появления троянских программ, вирусов и прочего. Таким образом, с помощью GPG снимается проблема идентифицирования разработчика в подобном распределенном проекте. Естественно, что использование GPG и MD5-хеширования также защищает пакет от ошибок при передаче, случайных или намеренных. В Debian в качестве метода доступа на компьютеры проекта используется ssh, что опять-таки защищает соединения от возможного перехвата паролей.
    2. После исправления всех очевидных ошибок и неочевидных несоответствий policy пакет загружается на один из ftp-серверов проекта в специальный каталог, служащий очередью на установку в архив. Каждый день в определенное время специальная программа распаковывает загруженные пакеты и (если не произошло ошибок при распаковке) устанавливает их в архив, обновляя при этом индексы архива.
    3. Каждый день в определенное время специальные программы под названием autobuilders проходят по архиву и автоматически распаковывают, а затем компилируют пакеты для архитектур, отличающихся от загруженной. Таким образом, в архив инсталлируются пакеты для всех поддерживаемых архитектур, даже если разработчик не имеет возможности компилировать его где-либо кроме i386 (естественно, существуют методы ограничить платформы для непереносимых программ, но такие пакеты не приветствуются). В случае, если сборка пакета прошла с ошибкой на какой-либо из платформ, разработчику отправляется уведомление, которое затем переходит в разряд Критических Ошибок.
    4. Таким образом, многоплатформенность достигается переносимостью самих программ, и в большинстве случаев особенных усилий для этого не прилагается.
    5. С главного сервера (ftp.debian.org) собранные пакеты расходятся по ``зеркалам'', расположенным по всему миру.

    Пакетная политика

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

    В качестве свода ``правил'' выступает Debian policy. Интересно то, что Debian policy продумана настолько, что это позволяет создавать даже автоматизированные средства проверки пакетов на соответствие ей.

    Все пакеты, включенные в главную часть Debian, удовлетворяют Критериям свободного программного обеспечения Debian. Эти критерии и определяют, что мы понимаем под термином ``free software''. Это отлично работает тогда, когда нужно решить -- подходит ли очередная лицензия от очередного коммерческого гиганта для Debian, или не подходит. Учитываются следующие требования: свободное модифицирование, свободное распространение и свободное использование {Критерии Debian послужили основой для определения ``программного обеспечения с открытыми исходными текстами'' (см. www.opensource.org). -- Ред.} .

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

    Критерии ``free software'' и правила помещения пакета в Debian обязательны к выполнению. Если какая-то часть системы не отвечает требованиям, она может быть не включена в следующую версию ОС. Каждый разработчик обязан при вступлении в Debian знать и понимать все эти правила.

    Работа с пользователями и техническая поддержка

    Система отслеживания ошибок -- главное средство общения между пользователями и разработчиками. С помощью этой системы пользователи сообщают сопровождающему программы о найденных ошибках, выставляют им приоритет. Самый высокий приоритет ошибки -- release critical, то есть ``критичная для релиза'', сохранение которой недопустимо при выпуске новой версии.

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

    Управление оборудованием

    У Debian имеется набор серверов под все архитектуры, на которые он портируется. Из них 17 доступны всем разработчикам. Эти Машины Debian или куплены на деньги, пожертвованные проекту Debian спонсорами, или подарены ими же (cреди спонсоров -- IBM, Sun, Hewlett-Packard). Машины подключены к сети благодаря VA Systems, Brainfood и университетам, поддерживающим разработку Debian.

    Чтобы поддерживать такое количество разработчиков требуется немалое количество ответственных людей -- Администраторов Debian. Они следят за состоянием серверов удаленно и в экстренных случаях едут на место -- к провайдеру. Часто эти люди оплачиваются фирмой, которая предоставляет хостинг, иногда это -- добровольцы. Это одна из важнейших ролей в проекте Debian.

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

    Чуть-чуть о политике

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

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

    В Конституции есть отдельная глава об организации SPI (Software For Public Interests, Inc.) Это зарегистрированная в США организация обслуживает финансовые нужды проекта Debian. Например, пожертвования Debian идут на счета SPI, Inc.

    Следует отметить, что Конституция не дает никому никаких привилегий над другими, и таким образом не вносит никакой дискриминации. Абсолютной властью в Debian обладает только абсолютное большинство разработчиков.

    Процесс принятия в разработчики

    Особенный интерес заслуживает процесс принятия в официальные разработчики.

    Каждый претендент на место официального разработчика проходит несколько тестов.

    Для начала претенденту надо провести некоторую работу для Debian. Этим он показывает свою заинтересованность в проекте.

    Затем претендент должен получить от официального разработчика подпись своего GnuPG ключа. На этом основано доверие между разработчиками в проекте Debian.

    Далее претендент проходит тест на умение собирать пакеты Debian, а так же на знание технических и ``философских'' документов.

    И, самое важное, претендент обязан согласиться с Социальным контрактом Debian. Этим он обязуется:

    • сохранять Debian свободным на 100%;
    • не скрывать исправления и изменения программ и отсылать их авторам;
    • не скрывать проблем. Если разработчику известна ошибка, он не должен скрывать ее;
    • понимать, что главное для Debian -- ее пользователи и свободное программное обеспечение.

    После прохождения всех тестов претендент обычно становится официальным разработчиком.

    * * *

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


    Свободное ПО в образовании -- успехи и проблемы

    Е.А. Роганов <roganov@msiu.ru>


    Данная статья подготовлена специально для рабочей встречи ``Свободное программное обеспечение: бизнес-модели и корпоративные инициативы'', что обусловило некоторые особенности изложения.

    Во-первых, автор считает, что большая часть участников встречи не подвергает сомнению целесообразность преимущественного использования свободного ПО в рамках реализации федеральной целевой программы ``Электронная Россия'' и основное внимание уделяет не демонстрации успешных примеров использования альтернативных подходов в образовании, а проблемам, при этом возникающим.

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

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

    Автор данной статьи не претендует на полную объективность, но хотел бы отметить стремление к ней и подчеркнуть, что свой взгляд на проблему он считает точкой зрения не одной узкой группы, а выражением мнения нескольких: школьников, студентов, школьных учителей, преподавателей ВУЗов, профессиональных программистов и даже руководителей. Краткая информация об авторе, приведенная в конце статьи, объясняет вышесказанное.

    Три составляющие успеха

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

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

    Сейчас в университете работает более десяти компьютерных классов общего доступа, рассчитанных на 25-28 человек каждый, а число зарегистрированных пользователей превысило 6400 человек. Успешному решению задачи по созданию и развитию информационно-вычислительной среды в условиях постоянного роста числа пользователей и дефицита финансовых средств способствуют наличие в университете единого центра управления всеми вопросами, связаными с информационными технологиями, и продуманная долгосрочная концепция развития. Это позволяет рассматривать все направления деятельности от конфигурации вновь приобретаемой техники до разработки нового программного обеспечения и учебно-методических материалов в комплексе.

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

    Оборудование

    Уже более четырех лет МГИУ при закупках новой техники всегда приобретает только профессиональные мониторы, трехкнопочные мыши и стомегабитное сетевое оборудование. Стратегия максимально широкого использования ОС Linux позволяет минимизировать затраты на покупку программного обеспечения и приобретать бездисковые ``тонкие'' клиенты.

    Развитием этого подхода чуть более года назад стало создание аппаратно-программного комплекса ``Горыныч'', предоставляющего три рабочих места на базе одного системного блока. При этом используются три видеоадаптера, три клавиатуры (две из них -- USB), три мыши (две из них -- serial) и слегка модифицированные ядро Linix и X-сервер.

    По состоянию на апрель 2001г. стоимость одного рабочего места в компьютерном классе на базе бездисковых ``Горынычей'' была $323, что составляло около 68% от $475 -- стоимости аналогичного бездискового места стандартной конфигурации.

    В настоящее время в МГИУ эксплуатируется уже четыре класса ``Горынычей''. Несколько подобных комплексов установлены и в подразделениях университета, таких как учебный отдел и отдел кадров.

    Программное обеспечение

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

    Хочется отметить, что если весь процесс обучения студентов-программистов уже давно можно было реализовать без использования коммерческого программного обеспечения, то полноценное обучение школьников и всех студентов младших курсов с использованием только свободного ПО стало возможным лишь около года назад. В МГИУ ОС Linux используется в качестве базовой ОС уже много лет, однако отказаться от применения Windows в учебном процессе и для некоторых других задач до последнего времени мы не могли по целому ряду причин. Сейчас, однако, ситуация кардинально изменилась.

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

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

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

    Весьма полезным дополнительным эффектом от реализации принятых решений стало появление Beowulf кластера. В прошлом году МГИУ принял участие в работе над Российско-Белорусским проектом ``СКИФ'' и организовал веб-сайт, посвященный приложениям Т-системы, a студенты университета выступили с докладом на конференции ``Высокопроизводительные вычисления и их приложения''.

    Кластеры, подобные нашему, по целому ряду параметров уступают специализированным кластерам, таким как кластер НИВЦ МГУ, использующим в качестве коммуникационной среды SCI, а не Fast Ethernet. Однако специализированные кластеры достаточно дороги и далеко не всегда эффективно используются, а кластер МГИУ является практически бесплатным, обеспечивая одновременное проведение учебных занятий и научных исследований.

    Системные администраторы и обычные пользователи

    Типичная ситуация, которая складывается в сообществе (университеты, школы, офисы и т.д.), живущем в Windows-мире такова:

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

    Альтернатива Linux-мира:

    • системные администраторы:
      • необходимы обязательно и тоже хорошо оплачиваемые;
      • открытость кодов дает им возможность решать задачи, связанные с модификацией стандартного ПО, ``подстраивая'' его под конкретные нужды сообщества;
    • обычные пользователи:
      • от них не требуется более высокой квалификации, чем в случае жизни в Windows-мире; в силу открытости системы и программного обеспечения пользователи могут изучать любые интересующие их компоненты; учебный процесс, в частности, не обязан сводиться только к изучению технологий;
      • система способствует росту профессионализма; всегда существует прослойка людей с уровнем знаний, промежуточным между знаниями системных администраторов и рядовых пользователей; ``самовоспроизводство'' системных администраторов происходит естественным образом, причем квалифицированные кадры администраторов и программистов поставляются таким сообществом наружу (в другие университеты, школы, офисы. ( ldots ))

    Информатизацию с построением Windows-мира можно организовать и без значительных затрат на повышение квалификации сотрудников. Такой мир будет существовать. Не эффективно, но будет.

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

    Некоторые проблемы

    Сборка таких ``Горынычей'', которые сейчас используются в МГИУ, более невозможна, так как практически прекратился выпуск PCI видеокарт.

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

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

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

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

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

    Возможные способы решения

    Так как практика показала, что использование ``Горынычей'' полностью оправдано в учебных компьютерных классах и интернет-кафе, а также на тех рабочих местах в офисах, где не используются ресурсоемкие приложения, то представляется целесообразным на государственном уровне найти решение возникшей проблемы. Изготовление специального оборудования не является сколь либо серъезной проблемой (см., например, сайт www.applica.com), а удешевить рабочее место учащегося или служащего -- весьма актуальная задача.

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

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

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

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

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

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

    Параллельно необходимо активно развернуть процесс ``доводки'' свободного ПО и подготовку учебно-методических материалов.

    При благоприятном развитии событий уже 1 сентября 2002г. можно будет перейти ко второму этапу и организовать более многочисленные учебные центры, в которых будут обучаться ``по-новому'' студенты-первокурсники и старшеклассники некоторых школ.

    Через еще два-три года центры, начавшие работать на первом этапе, смогут обучить представителей практически всех близлежащих высших учебных заведений, школ и государственных предприятий, а в тех университетах, которые начали работать ``по-новому'', с 1 сентября 2002г., появится достаточное количество студентов, способных взять на себя работы по системному администрированию и преподаванию информатики и информационных технологий старшеклассникам. Это будет означать переход к третьему этапу реформы.

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

    Краткая информация об авторе

    После окончания ФМШ 18, мех-мата и аспирантуры МГУ автор начал заниматься информатикой и программированием, участвовал в проектах по разработке информационных систем и компиляторов, работал в московских отделениях Hewlett Packard и Digital, постоянно преподавал студентам-программистам в ВУЗе и более пяти лет старшеклассникам в школе.

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


    Рабочая программа по информатике и информационным технологиям для учащихся 10-11 классов

    Е.А. Роганов <roganov@msiu.ru>


    Приведенная ниже программа пересматривается ежегодно, однако ее общая направленность и основные разделы остаются неизменными вот уже 5 лет. После появления в 2000г. новых государственных стандартов по дисциплине ``Информатика'' для студентов ВУЗов выяснилось, что приводимая ниже программа может служить основой и для работы со студентами первого курса большинства специальностей. Студенты-программисты и те первокурсники, которые уже изучили этот курс на подготовительном факультете МГИУ, занимаются по особым программам.

    Введение

    Данная программа разработана на основе ``Обязательного минимума содержания по информатике'', рекомендованного Министерством образования Российской Федерации для преподавания курса информатики в основной школе. Предлагаемая программа курса ориентирована на занятия со школьниками в компьютерных классах, оборудованных современной вычислительной техникой с возможностью выхода в глобальную сеть Интернет. Предполагается обеспечение каждого учащегося отдельным рабочим местом на практических занятиях. В курсе излагаются теоретические основы информатики, даются практические знания и навыки в области современных информационных технологий. Основное внимание уделяется изучению материала, необходимого для овладения основами таких профессий, как секретарь-референт, Web-мастер и пользователь UNIX-систем. Курс учитывает особенности обучения в классах ``Школа-ВУЗ'' и преемственность преподавания информатики в школе и на младших курсах университета. В программе предусмотрен ``блок специализации'', включающий в себя дополнительные разделы информатики, связанные с выбранным слушателями дальнейшим направлением обучения.

    распределение учебных часов по темам
    Наименование темы Кол-во часов
    1 Информация и компьютер 21
    2 Технологии обработки графики и текста 36
    3 Основы языка HTML 30
    4 Вычисления на ЭВМ 27
    5 Современное программирование 51
    6 Устройство и обслуживание ЭВМ 24
    7 Блок специализации 15
    Итого 204

    Информация и компьютер

    Появление и развитие ЭВМ привело к революционным изменениям в области накопления, передачи и обработки информации. Они затронули все сферы жизни общества: производство, наука, образование и т.д. Основы обработки информации на компьютере и рассматриваются в данном разделе курса.

    Наименование темы Кол-во часов
    1 Основы современной информатики и компьютерных технологий 9
    2 Понятие об операционной системе 6
    3 Введение в сетевые и Интернет-технологии 6
    Итого 21

    Основы современной информатики и компьютерных технологий

    Информационные процессы.

    Информационная деятельность человека. Технические средства хранения, передачи, обработки информации. Понятие информации. Кодирование информации. Единицы измерения информации. Системы счисления, используемые в информатике. Примеры двоичного кодирования различных форм информации (числовой, текстовой, графической, звуковой).

    Основные понятия и операции формальной логики.

    Истинность и ложность предложений -- двузначная логика. Составные предложения: дизъюнкция и конъюнкция. Таблицы истинности для основных операций. Законы булевой алгебры.

    Компьютер -- универсальная информационная машина.

    Техника безопасности в компьютерном классе. Санитарно-гигиенические нормы при работе на компьютере. История развития вычислительной техники. Типы и назначение компьютеров. Магистрально-модульный принцип построения компьютера. Переферийные и внутренние устройства: назначения и основные характеристики. Программный принцип управления компьютером.

    Понятие об операционной системе

    Операционные системы.

    MS DOS. Microsoft Windows. Linux. Файловая система и принципы хранения информации. Работа с носителями информации в различных ОС. Компьютерная безопасность и защита информации. Компьютерные вирусы: методы распространения и профилактика заражения. Типы программного обеспечения. Правовая охрана программ и данных. Лицензии на использование программых продуктов. Свободно распространяемое программное обеспечение.

    Основные приемы работы в современных ОС.

    Графический интерфейс и оконные системы. Особенности операционных систем Microsoft Windows. Рабочий стол и его компоненты. Графический интерфейс Windows для работы с файлами. Работа пользователя в ОС Linux. Графическая оболочка KDE. Файловые менеджеры как средство просмотра и управления файлами. Командная строка: управление файлами и базовые утилиты.

    Введение в сетевые и Интернет-технологии

    Структура и принципы работы локальных и глобальных сетей.

    Интернет. Технология World Wide Web. Браузеры и их назначение, URL. Браузер Netscape Navigator, его настройка. Браузер Microsoft Explorer. Поиск информации в Интернет.

    Электронная почта и ICQ.

    Электронный адрес. Прием и посылка электронной почты. Передача нетекстовой информации. Работа на удаленном компьютере (ssh) и передача файлов по сети (ftp, scp).

    Технологии обработки графики и текста

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

    Наименование темы Кол-во часов
    1 Работа с графикой 18
    2 Обработка текста на ЭВМ 18
    Итого 36

    Работа с графикой

    Использование графической информации при работе на ЭВМ.

    Формат графического файла (GIF, JPG, PNG, TIFF, BMP и другие). Программы просмотра графической информации. Особенности растровой и векторной графики. Основные инструменты редакторов растровой графики. Примитивы векторной графики. Графическая информация в Интернет.

    Редакторы растровой графики (Paint, XPaint).

    Создание и сохранение файлов. Палитры, кисти. Выделение и копирование. Дополнительные возможности.

    Редакторы векторной графики.

    Внешний вид. Объекты. Создание и сохранение файлов. Панель рисования. Панель редактирования. Выделение и копирование. Специальные эффекты.

    Графический редактор Gimp.

    Создание и сохранение файлов. Основные инструменты. Слои. Анимация в Gimp. Фильтры. Дополнительные возможности. Векторная графика в Gimp (Filter/Render/Gfig). Фрактальная графика (Filter/Render/IfsCompose). Каналы.

    Анимация.

    Графические форматы, поддерживающие анимацию. Изменение формата графического файла. Средства просмотра анимированной графики. Анимация в Интернет. Баннеры. Трехмерное моделирование и анимация.

    Способы ввода графической информации в ЭВМ.

    Зависимость размера графического файла от разрешения и глубины цвета. Общие принципы работы со сканерами. Распознавание текста. Обзор современного состояния цифровой фото- и видеотехники. Обработка графических изображений. Регулировка яркости и контрастности. Цветопередача. Изменение размеров графических образов.

    Обработка текста на ЭВМ

    Форматы текстовых файлов (документов).

    Создание и обработка текста на ЭВМ. Текстовые редакторы и процессоры. Редакторы для создания неформатированных текстов. Сферы применения неформатированного текста. Редактор NotePad.

    Текстовые редакторы в ОС Linux.

    KEdit. KWrite. Редакторы, встроенные в файловые менеджеры. Создание и сохранение документа. Пользовательские настройки редакторов. Редактор Emacs. Создание и сохранение документа. Редактирование документа, возможности откатки изменений. Поиск и замена фрагментов текста. Макросы. Использование редактора emacs для работы с файлами.

    Кодирование русского текста.

    Наиболее распространенные кириллические кодировки текста: KOI8-R, ISO-8859-5, Windows-1251, альтернативная. Изменение кодировки русского текста.

    Текстовые процессоры.

    WYSIWYG-редакторы. Word и StarWriter. Панели инструментов. Создание и сохранение документа. Форматирование текста. Нумерованные и маркированные списки. Многоколоночный текст. Колонтитулы. Таблицы. Графика, иллюстрации и рисунки. Включение математических формул. Создание оглавления и алфавитного указателя документа.

    Генераторы HTML-текстов.

    Редактор Netscape Composer. Гипертекст и его редактирование. Элементы форматирования текста. Таблицы. Вставка графики и ссылок.

    Редактор Lyx (KLyx).

    Система верстки текстов TEXи сферы его применения. Основные приемы работы в редакторе Lyx. Форматирование текста. Списки. Вставка таблиц и иллюстраций. Набор математических формул. Дополнительные возможности. Оглавление и предметный указатель в документах, подготовленных в Lyx.

    Основы языка HTML

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

    Наименование темы Кол-во часов
    1 Гипертекст и язык HTML 21
    2 Динамический HTML 9
    Итого 30

    Гипертекст и язык HTML


    Простейшие теги HTML.

    Структура гипертекстового документа. Цветовое оформление текста. Форматирование абзаца. Теги физического форматирования: установка стиля шрифта. Параметры шрифта. Логическое форматирование: уровни заголовков.

    Гиперссылки.

    Понятие относительного и абсолютного URL. Теги ссылок. Внутренние ссылки: ссылки на отдельные места документа.

    Использование графики в оформлении гипертекста.

    Вставка изображений в гипертекст. Указание дополнительных параметров изображения. Ссылки от отдельных частей изображения.

    Списки.

    Нумерованные списки. Маркированные списки. Списки определений. Комбинированные списки.

    Использование таблиц в HTML.

    Теги построения таблицы. Параметры таблицы. Выравнивание содержимого строк и ячеек. Оформление заголовка таблицы. Объединение ячеек по вертикали или по горизонтали: ``растянутые'' ячейки.

    Фреймы.

    Теги фреймов. Вложенные фреймы и параметры фреймов. Мультимедийные возможности HTML. Вставка фонового звука.

    Формы как средство ввода данных в Web-документы.

    Контрольные переключатели (checkbox), селекторные кнопки (radio button), поля ввода пароля, кнопки переустановки (reset button). Списки. Кнопки передачи данных (submit button).

    Динамический HTML

    Свойства, стили и таблицы стилей.

    Наследование свойств. Каскадные таблицы стилей. Применение таблиц стилей.

    Добавление на страницы кода сценария.

    Использование сценария для управления свойствами в Dynamic HTML. Знакомство с образцами программ, написанных на языке JavaScript: бегущая строка, электронные часы.

    Совместимость браузеров и будущее HTML.

    Эволюция стандартов HTML. Создание совместимых страниц и узлов. Рекомендации по оформлению домашней страницы пользователя.

    Вычисления на ЭВМ

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

    Наименование темы Кол-во часов
    1 Вычисления с помощью ЭВМ 9
    2 Электронные таблицы 9
    3 Работа с базами данных 9
    Итого 27

    Вычисления с помощью ЭВМ

    Простейшие калькуляторы.

    Вычисления с помощью калькуляторов. Научные калькуляторы. Перевод чисел из одной системы счисления в другую при помощи калькуляторов.

    Программы для символьных вычислений.

    Вычисление числовых выражений. Раскрытие скобок. Разложение на множители. Решение уравнений и систем. Дифференцирование функций.

    Построение графиков.

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

    Электронные таблицы

    Табличное представление данных.

    Электронные таблицы. Рабочая книга и таблицы в ней. Структура электронной таблицы. Ввод информации на рабочий лист. Операции с ячейками. Автопродолжение. Формулы.

    Абсолютные и относительные адреса ячеек.

    Сложные формулы и стандартные функции. Условная функция и логические выражения. Внешний вид таблицы. Сводные таблицы. Сортировка и фильтрация данных.

    Диаграммы.

    Построение диаграмм. Изменение внешнего вида диаграмм. Вставка рисунков в таблицу.

    Работа с базами данных

    Обзор принципов и средств хранения информации.

    Математическое моделирование. Табличная модель данных. Поля и записи. Связанные таблицы. Уникальные и ключевые поля.

    Использование базы данных (Postgres или Access).

    Разработка структуры базы данных. Создание и заполнение базы данных. Сортировка информации. Формы. Связи между таблицами. Запросы к базе данных. Отчеты.

    Современное программирование

    Богатство и разнообразие современного мира программирования трудно переоценить. В данном курсе особое внимание уделяется языкам программирования вне зависимости от особенностей ОС и проникновению программирования в Интернет-технологии.

    Наименование темы Кол-во часов
    1 Этапы решения задачи на ЭВМ 3
    2 Основы логического программирования 6
    3 Алгоритмы и исполнители 6
    4 Основы процедурного программирования 21
    5 Программирование и Интернет 12
    6 Основы shell-программирования 3
    Итого 51

    Этапы решения задачи на ЭВМ

    Моделирование.

    Формализация задачи. Разработка алгоритма. Выбор средств программирования. Анализ результатов. Компьютерный эксперимент. Современные языки программирования. Стили программирования: процедурный, объектно-ориентированный, функционально-логический.

    Основы логического программирования

    Базы данных в языке Prolog.

    Предикаты. Факты. Запросы к базе данных. Запросы с переменными. Выполнение запроса: унификация и конкретизация; более чем один ответ. Составные запросы, подцели. Использование анонимных переменных.

    Базы знаний.

    Правила. Рекурсивные процедуры. Использование языка Prolog для решения логических задач. Предикаты для работы с арифметическими выражениями. Встроенные предикаты ввода-вывода.

    Алгоритмы и исполнители

    Понятие алгоритма.

    Свойства алгоритмов. Исполнители алгоритмов. Система команд исполнителя. Средства представления и записи алгоритмов. Блок-схемы.

    Исполнитель ``Черепашка''.

    Язык программирования Logo. ``Черепашья графика''. Расширение набора команд путем создания процедур.

    Основы процедурного программирования

    Алгоритмические языки.

    Разнообразие языков и их особенности. Знакомство с одним из языков программирования (VBasic, C, Ruby, Java). Переменные: имя, тип, значение. Присваивание. Основные операторы языка.

    Управляющие конструкции.

    Условные операторы. Блок-схемы алгоритмов с ветвлениями. Анализ условий ветвления.

    Циклы.

    Описание циклических алгоритмов с помощью блок-схем. Условия завершения циклов.

    Массивы.

    Размерность массива. Динамические массивы. Преобразование типов. Работа со строками.

    Функции и процедуры.

    Использование вспомогательных алгоритмов. Передача параметров в функции и процедуры. Локальные и глобальные переменные.

    Ввод-вывод данных.

    Ввод данных с клавиатуры. Работа с файлами.

    Использование стандартных библиотек функций и классов.

    Библиотека математических функций. Работа с функциями времени и даты. Использование генераторов случайных чисел.

    Программирование и Интернет

    Java-технологии.

    Понятие об аплетах. Безопасность при работе в сети. Включение аплетов в HTML-документы. Передача параметров аплету. Проекты модернизации существующих аплетов.

    Объекты и объектно-ориентированное программирование.

    Основные принципы объектно-ориентированного программирования. Java -- язык ООП. Классы и методы. Использование классов в аплетах.

    Создание скриптов и программирование.

    Использование языков типа JavaScript или VBScript для управления и динамического изменения html-страниц.

    Сценарии и обработка событий.

    Работа с объектами (на примере одного из вышеперечисленных языков).

    Основы shell-программирования

    Введение в shell.

    Командная строка. Перенаправление ввода/вывода. Конвейеры. Управление процессами: перевод в фоновый режим, отмена, прерывание. Поиск в файлах: фильтр grep.

    Устройство и обслуживание современной ЭВМ

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

    Наименование темы Кол-во часов
    1 Основы современных ЭВМ 3
    2 Сборка, настройка и диагностика компьютеров 9
    3 Операционные системы 6
    4 Работа с периферией 3
    5 Маркетинг на компьютерном рынке 3
    Итого 24

    Основы современных ЭВМ


    Компоненты современной ЭВМ.

    Поколения ЭВМ. Отличия современных ЭВМ от более ранних. Функциональность и технические характеристики компонент. Техника безопасности при работе с компьютерами. Настройка различных модулей ЭВМ. Совместимость модулей и их взаимодействие. Основные типы компьютерных интерфейсов. Новости мира компьютерных технологий. Демонстрация принципов работы новейших компонент и их особенностей.

    Сборка, настройка и диагностика компьютеров

    Сборка компьютеров.

    Основные приемы сборки. Наиболее часто встречающиеся ошибки при сборке. Сборка различных типов компьютеров.

    Диагностика компьютеров.

    Проверка работоспособности компьютера. Методы определения неисправных узлов. Замена вышедших из строя компонент.

    Настройка и установка параметров компьютера, их особенности и назначение.

    Проверка настроек, диагностика правильной работы компьютера при данных установках. ``Тонкая отладка'' работы ЭВМ.

    Операционные системы

    Современные ОС, их отличия и установка.

    MS Windows 95/98, MS Windows NT/2000, Linux. Необходимые условия установки ОС. Разбиение диска на несколько разделов. Типы файловых систем. Создание различных файловых систем. Установка нескольких операционных систем на один жесткий диск. Программы начальной загрузки и их настройка.

    Настройка ОС.

    Понятие драйвера устройства. Установка и настройка дополнительных драйверов устройств. Конфигурирование основных параметров системы. Сеть и ее настройка. Установка дополнительного программного обеспечения.

    Работа с периферией

    Типы внешних устройств и их назначение. Характеристики и технические параметры внешних устройств. Аппаратная настройка. Подключение и необходимая настройка периферии. Драйверы устройств, их установка и настройка параметров. Программное обеспечение, работающее с данным оборудованием, и его настройка.

    Маркетинг на компьютерном рынке

    Комплектование и модернизация компьютера.

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

    Блок занятий в области специализации

    Подробное описание этих занятий содержится в соответствующей рабочей программе по выбранному направлению специализации.

    Рабочие программы по отдельным направлениям специализации разрабатываются профилирующими кафедрами МГИУ при участии центра компьютерных технологий и согласовываются с администрацией школы. На блок специализации отводится 15 часов.

    Рекомендуемая литература

    В центре компьютерных технологий МГИУ подготовлен ``электронный учебник'', представляющий собой гипердокумент, охватывающий весь материал данного курса. В него внедрены специальные программные средства, позволяющие автоматизировать проверку знаний учащихся. Ко всем разделам учебника имеются упражнения и задания.


    Содержание первой части книги ``Практическая информатика''

    Е.А. Роганов <roganov@msiu.ru>


    Данное учебное пособие предназначено прежде всего для студентов первого курса, изучающих информатику. Оно также может быть весьма полезно учащимся старших классов и всем желающим познакомиться с современным миром информационных технологий. Книга создавалась при участии большого количества людей на основе огромного количества разнообразных материалов, размещенных в сети Интернет. Основная цель -- описание информационных технологий, не привязанное жестко к конкретной операционной системе, тому или иному программному обеспечению. В книге рассматриваются две основные на данный момент времени ОС -- Microsoft Windows и Linux, причем большее внимание уделяется второй из них, все еще менее распространенной в Росии. В настоящий момент времени первая часть книги печатается, а ее электронный вариант (сопровождаемый лицензией GPL) размещен на веб-сервере ЦКТ МГИУ по адресу
    http://www.ctc.msiu.ru/materials. Во вторую часть книги (предварительные материалы к которой в гипертекстовой форме могут быть найдены по тому же адресу) предполагается включить темы ``Вычисления на ЭВМ'' и ``Программирование''.

    Глава 1 Основы информатики

    • Информационные процессы -- Информационная деятельность человека -- Технические средства хранения информации -- Кодирование информации -- Единицы измерения информации -- Форматы файлов -- Системы счисления -- Примеры двоичного кодирования информации
    • Компьютер -- универсальная информационная машина -- История развития ЭВМ -- Типы и назначение компьютеров -- Магистрально-модульный принцип построения -- Периферийные и внутренние устройства -- Программный принцип управления компьютером -- Компьютерные вирусы -- Правовая охрана программ и данных

    Глава 2 Операционные системы и сети

    • Операционные системы -- Операционная система MS DOS -- Microsoft Windows -- Операционная система Linux
    • Особенности ОС Linux -- Графическая среда KDE -- Командная строка и терминал -- Команды для работы с файлами -- Краткий справочник по командам Linux -- Konqueror - файловый менеджер и браузер -- Программа Midnight Commander (mc)
    • Компьютерные сети -- Технология World Wide Web (WWW) -- Универсальный локатор ресурса (URL) -- Браузеры и их назначение -- Поиск информации в Интернет -- Электронная почта (E-mail) -- ICQ -- Базовые сетевые утилиты

    Глава 3 Графика на компьютере

    • Что такое графический формат? -- Особенности растровой графики -- Векторная графика -- Средства работы с графикой
    • Редактор Paint -- Знакомство с редактором -- Редактирование и преобразование рисунка в Paint
    • Создание растровых рисунков в XPaint -- Основные инструменты XPaint -- Рабочее окно XPaint -- Работа с цветом
    • Редактор векторной графики XFig -- Объекты XFig -- Панели инструментов -- Горячие клавиши
    • Графический редактор Gimp -- Запуск и инсталляция -- Основы работы. Интерфейс программы -- Дополнительные возможности
    • Ввод графики в ЭВМ -- Обзор цифровой фототехники -- Виды сканеров, их назначение и характеристики -- Особенности сканирования изображений -- Графические планшеты

    Глава 4 Обработка документов

    • Форматы текстовых файлов
    • Кодирование русского текста
    • Редакторы plain-текста -- NotePad (Блокнот) -- Редактор KEdit -- Редактор KWrite -- Редактор McEdit
    • Текстовый редактор Emacs -- Работа с файлами -- Редактирование -- Клавиатурные макросы -- Дополнительные возможности
    • Текстовый процессор MS Word -- Создание и сохранение документа -- Колонтитулы -- Многоколоночный текст -- Списки -- Таблицы -- Вставка графики -- Включение математических формул
    • Редактор StarWriter -- Форматирование текста -- Проверка правописания -- Поиск и замена -- Колонтитулы -- Списки -- Многоколоночный текст -- Таблицы -- Вставка графики и текстовые эффекты -- Вставка формул в текст
    • Редактор Netscape Composer -- Форматирование текста -- Вставка гиперссылок -- Вставка изображений -- Таблицы в гипертексте
    • Редактор KLyx -- Форматирование текста -- Нумерованные и маркированные списки -- Использование таблиц и иллюстраций -- Включение математических формул

    Глава 5 Основы языка HTML

    • Структура HTML-документа -- Заголовок документа -- Тело документа -- Цветовое оформление документа -- Разделение текста на абзацы -- Разрыв строки -- Горизонтальные линии
    • Форматирование гипертекста -- Логическое форматирование -- Физическое форматирование -- Предварительно отформатированный текст
    • Использование графики в HTML-документах
    • Гиперссылки -- Абсолютный и относительный URL -- Гиперссылки в пределах одного документа -- Ссылка на почтовый ящик
    • Списки -- Нумерованные списки -- Маркированные списки -- Список определений -- Вложенные списки
    • Использование таблиц в HTML -- Основные атрибуты тега <TABLE> -- Выравнивание данных в ячейках -- Объединение ячеек -- Цвет в таблицах
    • Фреймы -- Контейнер <FRAMESET> -- Определение параметров кадров -- Тег <FRAME> -- Организация ссылок
    • Мультимедийные возможности в HTML
    • Формы в HTML-документах -- Работа с тегами форм -- Тег <FORM> -- Тег <TEXTAREA> -- Тег <SELECT> -- Тег <INPUT> -- Тип поля ввода, атрибут TYPE -- Нестандартное использование элементов форм

    Глава 6 Динамический HTML

    • Стили и таблицы стилей -- Использование стилей -- Задание значений -- Справочник по свойствам таблиц стилей -- Классы стилей -- Каскадные таблицы стилей -- Применение таблиц стилей
    • Использование языка сценариев JavaScript
    • Рекомендации по созданию HTML-документов


    Кнутов продукт TEX

    Ирина Маховая <irina@mir.msk.su>

    Введение

    TEX - великое творение великого программиста и математика современности Дональда Кнута. Он создал эту издательскую систему для своих нужд, когда работал над многотомником "Искусство программирования" - Библией программистов всего мира, и затем предоставил ее в свободное пользование [1].

    Теперь этот издательский пакет принят в качестве стандарта de facto во всех ведущих научно-технических издательствах [2, 3].

    Преимущества TEX'а

    1. Не имеет равных по качеству полиграфического представления сложных научно-технических текстов.
    2. Не зависит от компьютерной платформы.
    3. Свободно распространяемый продукт.

    Недостаток TEX'а один:

    • он не WYSIWYG, поэтому новичков может отпугнуть.

    Так, например, выглядит набранная в TEX'е формула [2]:

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

    Имеются и проблемы, связанные с преимуществом свободного распространения TEX'а:

    1. Нет фирмы, заинтересованной в прибыли и ``проталкивающей'' свободный продукт на рынок.
    2. Поддержание свободного продукта силами общественной организации возможно только при финансовой поддержке.
    3. Элитарность TEX'а не способствует расширению круга пользователей.
    4. Возможность создавать собственные макрорасширения TEX'а приводит к множеству версий и затрудняет стандартизацию.

    В настоящее время в России вопрос с распространением и поддержанием TEX'а решен следующим образом:

    1. Скачивание через Интернет (архив CTAN и его зеркала):
      http://www.ams.org (Web-страница Американского математического общества);
      http://www.tug.org (Web-страница международной группы пользователей TEX'a).

      либо установка с CD ROM [4].

    2. Получение консультаций по списку рассылки неформальной российской группы CyrTEX пользователей TEX'а: CyrTEX-ru-on@vsu.ru (подписка на mail-list).
    3. Извлечение информации из книг и CD ROM по TEX'у на русском языке, выпускаемых, в частности, издательством "Мир":
      http://www.mir-pubs.dol.ru (Web-страница издательства ``Мир'').

    Заключение

    TEX по своей значимости не уступает изобретению Гутенберга, поэтому его будущее видится мне в радужных тонах, а то, что русская версия еще не устоялась, -- явление временное и частное, типичное для российской действительности. И нужно сделать все для того, чтобы этот замечательный программный продукт не утратил своего статуса ``public domain'', дабы не исчезло его основное предназначение -- международное средство коммуникации ученых, исследователей и всех тех, кто хочет жить и работать в высокоразвитом интеллектуальном обществе.


    Литература

    Серия "Библиотека издательских TEXнологий"

    [1] Кнут Д. Компьютерная типография. М.: Мир, 2002.

    [2] Грэтцер Г. Первые шаги в LATEX'e. М.: Мир, 2000.

    [3] Гуссенс М., Миттельбах Ф., Самарин А. Путеводитель по пакету LATEX и его расширению LATEX2e. М.: Мир, 1999.

    [4] Гуссенс М., Ратц С. Путеводитель по пакету LATEX и его Web-приложениям. М.: Мир, 2001 (дополнен CD ROM'ом "TEXLive 6", частично русифицированным).

    [5] Гуссенс М., Ратц С., Миттельбах Ф. Путеводитель по пакету LATEX и его графическим расширениям. М.: Мир, 2002.

    [6] Каров. Шрифтовые технологии: описание и инструментарий. М.: Мир, 2001



    Правовая защита свободного программного обеспечения в России

    Елена Тяпкина <lawyer@tecon.ru>

    Большинство российских компаний пользуются нелицензионным ПО Microsoft, потому что у них нет возможности по экономическим причинам приобрести лицензии на весь пакет необходимого программного обеспечения MS. Тем самым эти компании нарушают авторское законодательство РФ, и, как мы это знаем из информационных бюллетеней Microsoft, подвергаются преследованию со стороны правоохранительных огранов. Применение свободного ПО, распространяемого на условиях GPL, позволит, во-первых, сэкономить значительные денежные средства при приобретении пакета программных средств, во-вторых, использовать программное обеспечение в полном соответствии с предлагаемой лицензией, не нарушая исключительных прав правообладателя. Однако в настоящее время существует ряд проблем, связанных с применением GPL на территории РФ.

    Первая из них -- единственный текст GPL, который имеет юридическую силу -- это текст на английском языке. Free Software Foundation придерживается однозначной позиции относительно переводов GPL на другие языки. По мнению FSF GPL является уникальной формой лицензионного соглашения, т.к. оно предназначено для применения буквально в любом государстве мира. Производитель свободного ПО и пользователи этого ПО могут находиться в разных юрисдикциях и быть носителями разных языков. В силу этого официальный текст GPL -- это текст на английском языке, который является неким унифицирующим механизмом. Переводы GPL, а также других лицензий GNU -- Lesser GPL и GFDL -- не имеют юридической силы и несут исключительно информационную функцию с тем, чтобы пользователь был лучше информирован о своих правах. По словам юриста FSF г-на Эбена Моглена, в настоящее время изучается вопрос об официальных переводах лицензий GNU для тех юрисдикций, где в соответствии с национальным законодательством договоры должны составляться на государственном языке этих стран.

    Существует ли подобные требования относительно языка лицензий в законодательстве РФ? Гражданское законодательство (Гражданский кодекс РФ, Закон РФ ``Об авторском праве и смежных правах'') не содержит требований в отношении языка лицензионных соглашений. Однако в соответствии со ст. 8 Закона РФ ``О защите прав потребителей'' информация о реализуемых товарах и услугах должна предоставляться потребителю на русском языке. Очевидно, это положение закона будет распространяться на случаи продажи компьютеров с предустановленным свободным ПО физическим лицам для личного использования.

    Таким образом, в связи с позицией FSF относительно переводов GPL при распространении свободного ПО на территории РФ возникают следующие проблемы:

    1. Существование различных вариантов переводов GPL на русский язык, не всегда правильных и не всегда соответствующих формальным требованиям FSF к переводам лицензий.
    2. В соответствии с Законом РФ ``О защите прав потребителей'' при продаже свободного ПО для личного использования недостаточно изложения GPL только на английском языке.

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

    1. Eсли лицензиар и лицензиат имеют место жительства или место нахождения на территории РФ -- будет применяться право РФ;
    2. Если одна из сторон имеет место жительства в РФ или место нахождения на территории РФ, а другая сторона -- на территории другого государства, то суд будет применять так называемые ``коллизионные'' нормы международного частного права. В частности, к отношениям сторон лицензионного договора в соответствии со ст. 166 Основ гражданского законодательства Союза ССР и Республик будет применяться право страны лицензиара. Если лицензиар имеет место нахождения или место жительства в другом государстве, суд будет применять нормы права того государства.

    Третья проблема заключается в том, что GPL разработана на основании норм авторского законодательства США, которое относится к англо-саксонской системе права. Отдельные положения авторского права англо-саксонской системы существенно отличаются от положений авторского права романо-германской системы права (к которой принадлежит и законодательство РФ). По этой причине GPL не соответствует ряду статьей Закона РФ ``Об авторском праве и смежных правах'', что может привести к отрицательным последствиям при распространении свободного ПО на условиях GPL в Российской Федерации.

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

    Однако для успешного применения GPL в РФ нет необходимости принимать специальный закон об охране свободного программного обеспечения. По своей природе GPL сходна с обычными лицензионными соглашениями, которые применяются в РФ, только в отличие от них она разрешает неограниченному числу пользователей копировать, распространять и модифицировать ПО. Порядок передачи прав на использование ПО регулируется действующими Законом РФ ``Об авторском праве и смежных правах'' и Законом РФ ``Об охране программ для ЭВМ и баз данных''. Поэтому GPL может применяться в РФ в соответствии с действующим авторским законодательством с учетом вышеуказанных проблем. Для решения этих проблем целесообразно предпринять следующие шаги:

    1. С учетом того, что в настоящее время не существует одобренного FSF перевода GPL на русский язык, экземпляры свободного ПО, распространяемые на территории РФ, должны сопровождаться копией текста GPL на английском языке, а также, для лучшей информированности пользователей, копией какого-либо из существующих переводов GPL на русский язык.
    2. Совместно с FSF следует разработать или выбрать из существующих вариантов русский перевод GPL, который будет одобрен FSF к применению на территории РФ.
    3. Изучить опыт применения GPL в странах с романо-германской системой права, а также в странах, где требования авторского законодательства к содержанию лицензионных договоров сходны с требованиями авторского права РФ. На основании изучения такого опыта возможна разработка ряда поправок к GPL, которые бы позволяли эффективно применять GPL в странах с системой права, отличной от англо-саксонской.
    4. Провести кампанию в целях популяризации GPL в РФ: все знают, что такое Microsoft. Следует приложить усилия к тому, чтобы все знали, что такое GPL.


    Свободный софт: программа для государства

    Александр Евтюшкин <evt_av@nikoil.ru>

    1. В настоящее время в госучреждениях доминирует проприетарная продукция. Доля этой продукции, приобретаемая легально, весьма невелика. Наиболее вероятный вариант развития-повышение этой доли под давлением правообладателей, что создаст серьезную нагрузку на бюджет (либо покупаем, либо платим штрафы). Стоимость только легальных копий Windows на все бюджетные учреждения зашкаливает за десятки миллионов долларов, причем раз в два-четыре года эти расходы будут повторяться.
    2. Основные причины того, что государство не пользуется сейчас свободным софтом-отсутствие привычки (поправимо), отсутствие доверия (нет поставщика, который гарантировал бы хоть иллюзию поддержки) и отсутствие готовой типовой конфигурации офисного десктопа, простой в установке, использовании и поддержке.
    3. Самое разумное, что в этой ситуации может сделать государство: объявить конкурс на разработку свободного софта для офисного десктопа. Главное условие конкурса: лицензия GNU на готовый продукт. Победители определяются тестированием продукта в течение месяца независимыми фокус-группами в несколько сот человек каждая. Победитель получает 100,000 долларов США, два вторых места - 50,000 долларов США, три третьих - 25,000 тыс. долларов США. Общие затраты на конкурс не превысят 500,000 долларов США, в результате же появится продукт, который можно будет использовать в госучреждениях при минимальных затратах и без риска штрафов.
    4. Вокруг такого продукта может/должна появиться инфраструктура обслуживания, которая естественным образом начнется с системы обучения администраторов и пользователей. Благодаря открытым исходникам и свободной лицензии, можно ожидать появления большого количества центров поддержки из числа энтузиастов-эти центры будут зарабатывать на поддержке и обучении, а их заведомая многочисленность исключит возможность установления монопольно высоких цен. На первом этапе скорее всего понадобится помощь/вмешательство государства для организации первых региональных центров, но эта помощь должна выражаться в недорогом госзаказе нескольким (это важно) предприятиям в каждом регионе.
    5. Потратившись на создание такого продукта, государство естественным образом должно стимулировать его использование (антипиратские мероприятия, выдавливающие нелегальные копии проприетарного софта из госучреждений; установление единого стандарта оформления документов и обмена информацией на основе данного продукта и т.п.). Важная составляющая -- включение данного продукта в обязательный школьный курс.
    6. При возникновении новых потребностей-goto 1.

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



    Sun Microsystems и мир свободного ПО

    Павел Анни <Pavel.Anni@Sun.COM>

    1. История, стратегия и тактика компании Sun Microsystems -- подтверждение приверженности миру открытых систем

    • корни компании -- в мире Unix (Bill Joy - один из четверых основателей компании)
    • основа первой ОС -- BSD Unix
    • единственная компания на рынке, не изменившая идее Unix
    • открытые коды коммерческой операционной системы - уникальный случай на рынке
    • Почему Sun это делает?

    2. Поддержка открытого ПО

    • sunfreeware.com
    • Solaris Companion CD
    • perl, apache -- в стандартном дистрибутиве

    3. Проект OpenOffice.org

    • история
    • принципы работы проекта
    • результаты и текущее состояние
    • планы и перспективы

    4. Solaris

    • открытые исходные тексты
    • GNOME как основная рабочая среда для Solaris 9


    5. Программы поддержки разработчиков

    • Sun Developer Connection и другие


    Поддержка ОС Linux корпорацией IBM

    Игорь Ларин <Igor.Larin@ru.ibm.com>
    Алексей Перевозчиков <82189117@ru.ibm.com>


    iSeries

    • Стандартный Linux ``из коробки'' -- не требуется никаких модификаций
    • Работает на любой модели -- от самых маленьких до сверхмощных
    • На каждом процессоре может работать до 4-х независимых копий Linux
    • Абсолютная изоляция задач работающих под Linux от остальных
    • Работает параллельно с OS/400 даже на одном процессоре -- никакой эмуляции

    xSeries

    IBM уделяет пристальное внимание аспектам развития ОС Linux и приложений к ней на платформе Intel-серверов IBM eServer xSeries. Совместно с Open Source Community создаются драйверы устройств, документация, издано множество руководств по установке, настройке и администрированию Linux-систем на базе серверов xSeries (доступно на www.redbooks.ibm.com).

    IBM поддерживает 4 пакета (distributions): RedHat, TurboLinux, Suse, Caldera, сертификация новых версий которых для xSeries регулярно проводится независимыми компаниями. Действует также программа IBM ServerProven Linux Solution по сертификации программных продуктов третьих фирм.

    Более того, IBM поставляет готовые решения, в том числе xSeries 135 для web/proxy серверов, а также кластерные решения на Linux. На платформе IBM eServer xSeries создан самый большой Linux-кластер (суммарно 3300 процессоров Intel Itanium).

    pSeries

    IBM разрабатывает и поддерживает самые инновационные технологии кластеризации для UNIX (AIX) и Linux.

    IBM eServer Cluster -- это полностью интегрированные кластеры Linux для высокопроизводительных и коммерческих вычислений.

    IBM обладает уникальным опытом создания крупномасштабных кластеров Linux, объединяющих до 1000 и более серверов для таких компаний как Royal Dutch Shell, CGG, NCSA и т.д.

    В рамках проекта GRID (Distributed Terascale Facility) IBM работает над созданием самой высокопроизводительной компьютерной сети -- серии связанных кластеров Linux общей вычислительной мощностью 13,6 триллионов операций в секунду.

    Версия ОС AIX 5.1 cодержит полный набор Linux API (application programming interface). После перекомпиляции Linux-приложения выполняются ОС AIX как свои собственные и могут использовать все ресурсы и преимущества 64-разрядной AIX, такие как масштабируемость, безопасность и высокая производительность

    UNIX сервер класса high-end IBM p690 -- это первый UNIX-сервер, который обеспечивает возможность работы ОС Linux в логических разделах Большинстве моделей серверов pSeries могут работать под управлением ОС Linux.

    Service & Education

    Для успешного использования Linux необходимо обучение.

    IBM предлагает широкий спектр учебных курсов и программ по Linux. Учебный центр IBM поможет Вам стать Сертифицированным Профессионалом Linux.



    PlayStation2+Linux=открытая компьютерная платформа

    Вадим Вещезеров <veshchezerov@runixonline.com>, Сергей Макаренков

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

    Уже PlayStation (1993 год) превосходила существовавшие тогда PC (PC386). Вычислительные возможности PlayStation2 заметно превосходят Pentium4. В отличие от других non-Intel архитектур эта архитектура стала по-настоящему массовой. PlayStation выпущено более 60 млн. шт. (и их выпуск продолжается), PlayStation2 выпущено уже более 20 млн. и их выпуск составляет 4,5 млн. шт. в квартал. Для превращения ее в полноценный компьютер осталось дополнить ее периферией (все необходимые интерфейсы установлены) и операционной системой. На японский рынок выпущен полноценный Linux -- вариант PlayStation2 с полной периферией. Рассматриваются варианты использования этого варианта PS2 в крупных проектах (так, World Bank предполагает поставку около миллиона таких приставок для школьного образования в Африке ).

    2. Широкому распространению PS2 как полноценного компьютера препятствует политика самой фирмы SONY.

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

    3. В ходе проекта RU.nix наша компания практически завершила инженерный анализ PlayStation2 и ее компонентов (процессора Emotion Engine, графического процессора и процессора ввода-вывода).

    На этой базе создана работающая версия Linux для PlayStation1 (данная разработка рассматривалась как экспериментальная, вопрос о ее широком тиражировании не решен). В настоящее время создана работающая версия ядра Linux для PlayStation2 и в ближайшее время предполагается выпуск первого дистрибутива (хотя еще не поддерживающего в полном объеме графику). В начале следующего года будет выпущена полная версия, поддерживающая все вычислительные и графические возможности приставки и ряд дополнительных устройств.

    4. Мы приглашаем к сотрудничеству другие компании.

    Использование RU.nix дает следующие преимущества:

    • PlayStation2 и производные от нее системы -- первая массовая (и дешевая)
      non-Wintel -- платформа с хорошими перспективами развития.
    • Между PlayStation и PlayStation2 поддерживается обратная совместимость. Это же обещано и в будущем (с появлением PlayStation3).
    • RU.nix реализуется без использования материалов SONY и свободна от отчислений в ее пользу. Также существует судебная практика -- SONY проиграла все процессы против аналогичных фирм-разработчиков в США.
    • Предполагаемые к выпуску в рамках RU.nix комплекты SDK и разработчика игр будут продаваться заметно дешевле и не предполагают сложных процедур лицензирования и контроля (а также отчислений от продаж).
    • Для небольших российских разработчиков могут быть установлены специальные условия и цены.


    Бизнес-модели для проектов по разработке программ с открытыми исходными текстами

    Выполнено в качестве курсовой работы на кафедре экономической информатики экономического факультета Московского государственного Университета им. М. В. Ломоносова. Научный руководитель: проф. М. И. Лугачев.

    Константин Овчинников <konstant@rbcmail.ru>

    Автор не выступил на Рабочей встрече из-за отсутствия времени на заседании. Мы искренне благодарны автору за возможность воспроизвести его интересное исследование в настоящей книге.

    Введение

    В данной работе сделана попытка ответа на один вопрос: ``Может ли разработка ПО с открытыми исходными текстами приносить прибыль?'' История бизнеса, построенного вокруг открытого ПО, делается в момент написания данной работы, поэтому пока даже классифицировать бизнес, связанный с разработкой ПО с открытыми исходными текстами, сложно. В России пока таких компаний мало, но они есть: ALT Linux, ASP Linux, Namesys . Традиционно наиболее динамично производство ПО развивается в Кремниевой долине, в Калифорнии, США, но там статистика компаний ``подпорчена'' общим спадом IT (точнее, спадом эйфории по IT, но это отдельная тема). Тем не менее, остается сравнительный анализ: компаний, производящих закрытое ПО и компаний, поставляющих свой продукт в открытых исходных текстах.

    Стараясь не влезать в технические дебри, необходимо привести основные ``за'' и ``против'' открытого ПО и связанной с ним ``базарной'' модели разработки, и только потом можно говорить о перспективах той или иной компании и бизнес-модели, на основе которой данная компания работает.

    Терминология

    Необходимо дать определение некоторым терминам и аббревиатурам, которые будут использоваться в дальнейшем:

    ОС -- операционная система;

    ПО -- программное обеспечение;

    UNIX [Unix] -- многозадачная ОС, сейчас UNIX -- зарегистрированная торговая марка The Open Group, поэтому при упоминании UNIX-подобных ОС имеет смысл говорить о стандарте POSIX;

    OSS -- Open Source Software -- ПО, соответствующее определению ПО с открытыми исходными текстами. Тавтологии избежать не удалось, так как определение ПО с открытыми исходными текстами подрузамевает не только открытые исходные тексты как таковые, но и соответствие лицензии, на основе которой ПО распространяется, требованиям определения открытого ПО [1.2]. Далее как синонимы будут употребляться термины ``открытое ПО'' и ``ПО с открытыми исходными текстами'', а для ПО, которое распространяется с открытыми исходными текстами, но чья лицензия не соответствует определению открытого ПО, лучше употреблять выражение Gated source

    ПО с доступным исходным текстом -- Лицензия такого ПО, как правило, ограничивает его коммерческое применение; такое ПО обладает некоторыми преимуществами открытого ПО и закрытого ПО, поэтому многими считается оптимальным вариантом. В данной работе рассмотрен Solaris как пример gated source

    OSI -- Open Source Initiative -- инициатива по созданию стандарта для OSS: во-первых, стандарта качества; во вторых, стандарта лицензии, на основе которой ПО распространяется. ПО, удовлетворяющее обоим стандартам, получает специальную оценку ``OSI Certified''. OSI создавалась для продвижения открытого ПО на рынок закрытого ПО; основным идеологом OSI является Эрик Реймонд, который призывает к использованию открытого ПО [1.3].

    Free Software -- свободное ПО -- отличается от свободно распространяемого ПО тем, что защищено лицензией, не позволяющей кому-либо владеть данным ПО, то есть продавать и получать от этого прибыль или использовать в коммерческих программных продуктах (лицензия подразумевает, в том числе, и открытые исходные тексты). Фактически free software и OSS -- это одно и то же, но для продвижения свободного ПО на рынок закрытого ПО Эрик Реймонд предложил употреблять термин ``open source'', чтобы создать положительный образ качественного ПО.

    FSF -- Free Software Foundation (также известен как GNU -- рекурсивная аббревиатура GNU's not Unix) -- фонд свободного программного обеспечения -- объединяет некоммерческие проекты по разработке свободного ПО, ``свободно творящих'' программистов и предлагает лицензии GNU GPL для защиты программы от коммерческого использования [2].

    GNU GPL -- GNU General Public License -- лицензия для свободного ПО; существуют различные версии GNU GPL: GPL, GPL2, LGPL (Lesser GPL);

    Linux -- Линукс -- ядро ОС, удовлетворяющее стандарту POSIX и свободно распространяемое на основе GNU GPL2; разработчик -- Линус Торвальдс. Кроме Линукс, существуют и другие открытые ОС, такие как FreeBSD, GNU/Hurd, FreeDOS и другие.

    Propietary, closed software -- собственническое (проприетарное), закрытое ПО. Если исходные тексты программы легально доступны для изучения и изменения не любому человеку, такое ПО является закрытым.

    Бизнес-модель -- совокупность способов ведения бизнеса в компании (ее структура, продукция, способы доставки и обслуживания товаров, повышения рыночной стоимости), правил ведения этого бизнеса, лежащих в основе стратегии компании, а также критериев определения деловых показателей (см. ``Управление корпоративной бизнес-моделью'', Х. C. Джилл). В данной работе будут исследоваться прежде всего возможные источники получения данной компанией прибыли.

    В качестве специального соглашения квадратные скобки используются далее для пояснений.

    Идеология открытого ПО

    Идеология открытых исходных текстов изначально являлась частью идеологии UNIX, а эта операционная система существовала задолго до персональных компьютеров: UNIX появился примерно в 1975 году, тогда как персональные компьютеры (платформа PC) -- лишь в 1981. Пользователи UNIX могли что-либо улучшить в программе (UNIX с самого начала был связан с языком программирования Си, и пользователи UNIX, как правило, владели Си), поэтому для них исследование исходных текстов имело смысл. Кроме того, исходные тексты были и остаются гарантией безопасности, то есть можно использовать ПО от неизвестного разработчика, будучи уверенным в том, что это ПО не содержит вирусов или ``закладок'' (достаточно изучить исходный текст, чтобы в этом убедиться). Как правило, такое ПО распространялось свободно, специальной лицензии для такого рода ПО (так же как и определения свободного ПО и ПО с открытыми исходными текстами [open-source software]) не существовало.

    Недостатки закрытого ПО

    Главный лозунг движения за открытые исходные тексты -- ``ПО должно быть открытым''; силу этому движению в значительной степени придает объединяющая разработчиков неприязнь к закрытому ПО и к компаниям, принципиально защищающими закрытое ПО (например -- Microsoft). Основные недостатки закрытого ПО следующие:

    • Закрытое ПО в принципе тормозит научно-технический прогресс , так как фирмы-разработчики закрытого ПО, как правило, не обмениваются опытом и, в результате, часто, образно выражаясь, по нескольку раз изобретают один и тот же велосипед и наступают на одни и те же грабли. Сосредоточение патентов на главные технологии в одних руках может вести к монополизации рынка определенных программных продуктов, что имеет и положительные стороны. Например, разработка технологии только одной компанией гарантирует сохранение стандарта. Однако монополия полезна для пользователей ПО, когда монополия не проводит слишком агрессивной ценовой политики и поддерживает на определенном уровне качество своей продукции. От закрытых технологий страдает скорость развития всей отрасли, однако целью разработчиков ПО часто является не только и не столько поддержка новых технологий, сколько максимизация прибыли. Кроме того, страдает потребитель ПО, получающий недостаточно качественный продукт и вынужденный платить за такой программный продукт.
    • Закрытое ПО дает возможность фирме-разработчику внедрять в основную программу другие программы , самой безобидной целью которых может быть сбор личных, например, музыкальных предпочтений пользователя [что при всей безобидности такой деятельности юридически является вторжением в частную жизнь, но за что почти нереально получить компенсацию в суде], а наиболее противоправными -- сбор личных сведений о пользователе, создание специальных ``дыр в защите'' для того, чтобы при необходимости дистанционно (например, при обострении политических отношений со страной, в которой используется данное ПО) вывести из строя программу, программную или аппаратную часть компьютера -- это так называемые ``закладки'', существование которых было доказано, например, в некоторых продуктах Lotus. Также известны обвинения в адрес некоторых производителей ПО в сговоре с производителями процессоров и жестких дисков, в результате чего в программу могут внедряться специальные механизмы, тормозящие работу программы (пользователь вынужден покупать более производительный процессор или материнскую плату), или недостаточно оптимизируется код программ для того, чтобы они занимали больше места в оперативной памяти и на жестком диске.

    Использование программ с открытыми исходными текстами играет на данный момент разную роль для разных компаний: некоторые компании делают на этом бизнес, как, например, Red Hat Software, некоторые, стремясь следовать за модой на открытые исходные тексты, инвестируют в проекты по разработке таких программ значительные средства или открывают исходные коды своих ранее закрытых продуктов (Sun Microsystems). Но ни одна компания, работающая в сфере ПО, даже мощнейшая империя Microsoft, не может игнорировать влияние движения за открытые исходные тексты на себя и на отрасль в целом. Linux -- это своеобразное знамя движения за открытые исходные тексты, успех Linux -- наибольший успех этого движения.

    Теоретические преимущества разработки программного обеспечения с открытыми исходными текстами

    Далее перечислены преимущества открытого ПО для бизнеса в широком понимании (то есть бизнеса. хотя бы каким-либо образом использующим ПО), изложенные в оригинале на [1.1] и частично на [1.4]. Расписать преимущества открытого ПО лучше, чем Эрик Реймонд, пожалуй, сложно.

    Надежность

    Эрик Реймонд начинает рассказ о преимуществах открытого ПО с цитаты Джеральда П. Вейнберга [Gerald P. Weinberg]: ``Если бы строители строили дома также, как программисты пишут программы, то первый же дятел, встретившийся на пути цивилизации, уничтожил бы ее''. По мнению Реймонда, проблема надежности остается одной из главных проблем ПО.

    Основанием использования открытого ПО в бизнесе является надежность открытого ПО. Исходные тексты доступны всем; оно более надежно, чем закрытое, собственническое ПО. Доработанный открытый исходный код надежен настолько, насколько это возможно.

    Здесь необходимо небольшое пояснение, взятое из [3] . С появлением Linux с открытым ПО стала связываться идея ``базарной модели разработки ПО'', которая противопоставляется традиционной централизованной ``соборной модели'', ``При достаточном количестве глаз, ошибки выплывают на поверхность'' -- показательное в этом смысле высказывание Линуса Торвальдса, раскрывающее один из важнейших принципов такой разработки. Линус начал активно привлекать к бета-тестированию и исправлению ошибок в программах рядовых пользователей. Пользователь закрытого ПО может только сообщить об ошибке, допустим, в службу поддержки, а потом он может ждать исправления ошибки в самой программе минимум через несколько месяцев. Пользователь же открытого ПО может, найдя ошибку, указать на нее разработчику, и ошибка сразу же будет исправлена в следующем релизе, а релизы для открытого ПО могут появляться по нескольку раз в день. Если даже компания, разрабатывающая ПО, тестирует свое ПО внутри своей структуры, количество бета-тестеров не сравнимо с количеством бета-тестеров открытого ПО, при том что последние не только ищут, но и исправляют ошибки. Кроме того, в мире открытого ПО намного выше стандарты надежности, так как разработчики действуют по другим мотивам: личный престиж, удовлетворение от собственной работы и другими мотивами нематериального характера. Теперь понятно, откуда берется надежность открытого ПО.

    Это [OSS] кажется радикальной идеей для многих бизнесменов. Многие из них верят, что открытое ПО необходимо является ``непрофессиональным''. низкого качества и более склонно к зависаниям, чем закрытое ПО.

    Лучшим опровержением является сама инфраструктура Интернета. Достаточно вспомнить DNS (Domain Name Server), sendmail (основная программа для *nix-систем для отправки электронной почты), различные открытые TCP/IP стеки (например, считающийся самым быстрым TCP/IP стек FreeBSD) и утилиты, языки для создания скриптов, такие как Perl, на которых построены большинство ``живых'' сайтов WWW (вообще говоря, сфера применения Perl намного шире, так как это полноценный язык, реализованный на множестве платформ). Это механизмы, на которых Интернет основан, а без них Интернет вряд ли мог бы существовать.

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

    В независимом тесте на надежность ``лицом к лицу'' открытые *nix-системы были менее хрупкими -- то есть зависали реже -- чем их собственнические аналоги. Документ с тестом доступен в формате Postscript и PDF (как известно, у производителей закрытого ПО свои тесты).

    Результаты от применения в бизнесе технических преимуществ открытого ПО очевидно для Эрика Реймонда. В конечном счете, просмотр исходных текстов заинтересованными сторонами (которыми, напомним, в ``базарной модели'' являются и пользователи) станет необходимым условием высокого качества программного продукта. Во многих рыночных нишах ПО, исходные тексты которого не могут быть доступны любому, перестанет считаться конкурентноспособным.

    Никто не подсчитывал, какие убытки несет та или иная компания, более или менее активно использующая компьютеры, в результате зависаний или просто ненадежной работы ОС или приложений: как выразился оди из участников форума Slashdot.org, ``Компании платят своим сотрудникам за то, что те перезагружают компьютеры''. Однако эти убытки могут быть сравнимы в некоторых случаях со стоимостью все ИТ-инфраструктуры компании. В ситуации с продуктами Microsoft с проблемой надежности связана проблема поддержки пользователей. Зависания или нестабильная работа программ являются одной из главных причин обращения пользователей в службу поддержки, тогда как в Microsoft эта служба стала с первого февраля 2001 года ограниченной и платной. В мире открытых исходных текстов также распространена платная поддержка, но проблема надежности для пользователей стоит менее остро.

    Безопасность

    Защищает ли закрытый исходный текст от попыток взлома? -- по мнению Эрика Реймонда, в действительности все как раз наоборот, что может подтвердить любой криптограф. Безопасность не может осуществляться во мраке.

    Это происходит потому, что у взломщиков намного больше стимулов и они более настойчивые, чем разработчики и тестеры (которым, кроме безопасности, приходится заботиться о многом другом). Взломщики найдут ``дыры'' в ПО, вне зависимости от того, является ПО закрытым или открытым.

    Закрытые исходные тексты приводят к нескольким пагубным последствиям: во-первых, они создают иллюзию защищенности (характерно, что тогда как в мире открытого ПО конфиденциальные данные либо шифруются с помощью серьезного криптоалгоритма, либо программа при каждом запуске будет напоминать, что ваши данные хранятся в виде простого текста и не шифруются, разработчики закрытого ПО часто полагаются на ``авось'' и, например, делают хранитель паролей без криптозащиты). Во-вторых, людям, желающим устранитьошибки и незащищенность в программе сделать это будет невозможно. В-третьих, для закрытого ПО труднее распространять надежные исправления, когда ``дыра'' в защите обнаружена. Фактически открытые ОС и приложения намного безопаснее, чем их закрытые аналоги. Когда в 1997 году был обнаружен эксплоит ``Ping o'Death'', разработчики Линукс сделали защиту от него в течение нескольких часов, тогда как закрытое ПО не закрывала эту ``дыру'' месяцами.

    Много громких взломов было совершено тривиальными способами или когда взломщики использовали давно известные ``дыры'' в защите интернет-серверов, но которые системные администраторы не удосужились закрыть.

    Алан Кокс [Alan Cox] написал статью ``Риск работы с закрытым ПО''.

    Точку зрения Эрика Реймонда подтверждает уход Филипа Зиммермана, создателя программы шифрования сообщений с открытым ключом Pretty Good Privacy [PGP], из компании Network Assotiates Inc. в конце февраля 2001 года. Это было связано с тем, что руководство компании решило сократить объем раскрываемого исходного кода в PGP, традиционно распространявшейся в как открытое ПО по решению Зиммермана. Зиммерман заявил, что будет заниматься развитием открытого стандарта OpenPGP.

    Преимущества для производителей ПО

    ``Базарная'' модель разработки, кажется, переворачивает традиционные представления о разработке ПО; чем больше программистов -- тем лучше (в ``Соборе и базаре'' Реймонд противопоставляет эту связь закону Фредерика Брукса о мифическом человеко-месяце: начиная с некоторого момента, добавление новых разработчиков к проекту не дает ожидаемого прироста скорости разработки) (по крайней мере, до того момента, пока лидеру проекта или команде основных разработчиков хватает компетенции управлять укрупнением проекта). Даже небольшой проект по разработке открытой программы может увлечь больше умов, чем большинство традиционных проектов может себе позволить. Вне зависимости от того, разрабатывается ли программа для внутреннего использования или для продажи, разработка по модели открытых исходных текстов дает следующие преимущества.

    Скорость разработки

    Предполагается, что коммерческие разработчики, использующие ``базарную модель'' смогут получить и удерживать значительное начальное преимущество над теми, кто ее не использует. Если рассмотреть рыночную нишу, то первый коммерческий разработчик, который примет эту модель в данной нише, получит приемущество. Дело в том, что общее количество свободных талантливых разработчиков, согласных разрабатывать открытое ПО, ограничено. Первый ``базарный'' проект на конкретной рыночной нише, скорее всего, привлечет лучших. А если они бескорыстно вкладывают свое время в разработку, то, скорее всего, они продолжат разработку этого проекта.

    Меньшие расходы

    Переход на открытую модель разработки поможет также значительно снизить издержки в общих расходах на проект.

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


    Преимущества для вендоров

    При разработке ПО для продажи к преимуществам открытого ПО добавляются еще два.

    Тесный контакт с покупателем

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

    В этом плане мало что может быть лучше, чем разработка продукта совместно с потребителем продукта. ``Базарный'' метод разработки напоминает то, как многие успешные японские компании занимались потребительской разработкой продукта: можно выйти на рынок с продуктом, который не до конца доработан, а потом, основываясь на отзывах потребителей, быстро достичь той комбинации качеств продукта, которая будет наиболее востребована потребителями. Эта модель особенно ценна для высокотехнологичных товаров (лэптопы, PDA, сотовые телефоны и т.д.), потребность в которых потребитель может не осознавать, или он может на знать точно, какие качества продукта ему нужны.

    Широкий рынок

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

    Преимущества для предпринимателей

    Для предпринимателя или производителя ПО в начинающем проекте [start-up] использование открытой модели разработки -- способ получить дополнительные интеллектуальные ресурсы. Лучшая в мире новая идея не будет приносить дохода, пока ей не заинтересуется достаточное количество людей.

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

    В качестве недавнего примера можно привести компанию Digital Creations, которая открыла исходные коды своего основного продукта Zope по совету своих венчурных инвесторов. Последние планируют увеличение стоимости компании за счет открытия исходных кодов.

    "Четыре пути к победе"

    Теперь рассмотрим открытые исходные тексты с точки зрения инвестора. Существует по крайней мере четыре бизнес-модели для получения дохода от деятельности, связанной с открытым ПО:

    1. Поддержка продавцов (также известная как ``Выкидывайте рецепт и открывайте ресторан''). В этой модели компания не занимается самим программным продуктом, но продает дистрибутив, получает доход за счет торговой марки и послепродажного обслуживания. По такой схеме действуют Red Hat и Cygnus.
    2. Потеря лидерства. В этой модели компания, проигрывающая позицию на рынке, открывает исходные тексты, чтобы составить конкуренцию закрытому ПО. Именно так поступила компания Netscape.
    3. Удержание рынка аппаратного обеспечения. В этой модели производитель аппаратного обеспечения (для которого ПО является комплементарным товаром, но не приносит большого дохода) открывает исходные тексты, чтобы получить лучшие драйверы и более дешевые средства разработки интерфейса. Так, SGI поддерживает разработку Samba.
    4. Аксессуары. Продажа аксессуаров -- книг, совместимого аппаратного обеспечения, целых систем с предустановленным открытым ПО. Это легко опошлить (футболки с открытыми исходными текстами, кофейные кружки, игрушки в виде линуксоидных пингвинов [пингвин -- символ Линукс. Почему? -- потому, что он ни у кого не вызывает антипатии]), но, по крайней мере, издание книг и производство аппаратного обеспечения принесло успех компаниям, которые этим занимаются: O'Reilly Associates, SSC, VA Research, в том числе.

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

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

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


    Критический взгляд на разработку ПО с открытыми исходными текстами

    В данной части представлена комментированная точка зрения Николая Безрукова (ведущий аналитик корпорации BASF, профессор университета Fairleigh Dickinson, веб-мастер сайта www.softpanorama.org -- Open Source Software University -- добровольного технического сайта программы ООН "United Nations SDNP programme", которая помогает с подключением к Интернету и распространением Линукс в развивающихся странах), который принципиально поддерживает OSI, но против пропаганды OSS как идеи, которая спасет мир. Николай Безруков считает необходимым проводить анализ сильных и слабых сторон OSS, он против Реймондизма [Raymondism] -- культа вокруг открытых исходных текстов. В основном, критика Безрукова относится к главному сочинению Эрика Реймонда [3] и направлена против следующих утверждений:

    • ``Закон Брукса'' не подходит для "широкой" модели разработки с использованием Интернета;
    • ``При достаточном количестве глаз все ошибки окажутся на поверхности'';
    • Линукс относится к ``базарной'' модели разработки;
    • Открытая модель разработки автоматически приводит к прекрасным результатам;
    • ``Базарная'' модель разработки является новой революционной моделью разработки ПО.

    Здесь приводится тезисы из [4.1] и комментированный перевод фрагментов из эссе Безрукова [4.2] относящихся, в основном, к возражениям против того, что ``открытая модель разработки автоматически приводит к прекрасным результатам''.

    Свои размышления по этому вопросу Н. Безруков начинает с цитирования Линуса Торвальдса:

    ``Люди думают, что если разработка идет на базе открытой модели, это приведет к лучшим результатам автоматически. Это не так. Чтобы достичь успеха, разработку необходимо вести в нужном направлении. Открытые исходные тексты не решают проблему мирового голода''.

    По мнению Безрукова, ``базарной'' модели разработки присущи следующие недостатки:

    • Перегрузка и перегорание ведущих разработчиков. Это происходит, в основном, из-за излишних амбиций разработчиков, которые стремятся достичь уважения в среде хакеров, программируя днями и ночами, соревнуясь с коммерческими разработчиками ПО. Перегорание разработчиков может быть серьезной проблемой, однако при разумном подходе ее можно решить. Пока ни один из крупных и ответственных (так как по этим проектам судят о перспективах открытого ПО в целом) не пострадал из-за этого. Типичный пример -- Линукс, котрым бессменно руководит Линус Торвальдс. Чтобы не допустить перегорания, он снижает свою нагрузку, так как в его распоряжении достаточно людей, готовых заняться ``рутинной'' работой.
    • Консервативный подход к архитектуре. По мнению Николая Безрукова, в ОС Линукс, например, нет абсолютно никаких новых решений с точки зрения дизайна ОС, а особенности ``базарной'' модели разработки не позволяют вносить решительные изменения в архитектуру проекта. Тем не менее, Линукс задумывался как принципиальная альтернатива MS Windows и коммерческим приложениям, и именно этой идеей увлеклись люди, а не архитектурными изысками ОС. Следствием ``базарной'' модели разработки может быть большое количество кода, написанного непрофессионалами. В ядре 2.4 ОС Линукс многие части ядра пришлось из-за этого переписать.
    • Консерватизм в дизайне ОС долгое время был свойственен и пользовательской серии MS Windows (9x, Me), потому что крупная корпорация была ограничена в маневре из-за боязни потерять пользователей. Именно поэтому в коде пользовательской серии MS Windows содержатся коды совместимости с MS-DOS, хотя для исполнения 16-разрядного кода 32-разрядный процессор вынужден эмулировать (!) процессор Intel 8088, что не может не сказываться на производительности. Консерватизм в дизайне может проявиться не сразу, а в достаточно поздней версии программы: со временем ошибки исправляются, а краеугольные камни архитектуры проявляются четче. Это правило действует для всех: и для разработчиков открытого ПО, и для коммерческих разработчиков, не заложивших в свое время в проект достаточную масштабируемость.
    • Письменные коммуникации по электронной почте в некоторой степени имеют тенденцию искажать смысл и провоцируют столкновения и ``почтовые перепалки'' (flame wars). От этого психологического недостатка анонимного общения страдает качество коммуникации в Интернете вообще, но вопрос, как использовать возможности компьютера и Интернета (как и любой мощной технологии), -- для созидания или разрушения -- чисто философский. Техника же помогает устранить эту проблему: в установках большинства почтовых программ есть функция фильтрации сообщений, чтобы оградить пользователя от нежелательных адресатов. Даже если вся разработка зависит от почтовой переписки, от ``почтовых перепалок'' обычно удается избавляться.
    • Скорость разработки. Тогда как Эрик Реймонд считает преимуществом открытого ПО увеличенную скорость разработки, Николай Безруков считает, что для немодульных, нераспараллеленных проектов разработка по ``базарной'' модели может существенно снизить темпы разработки; другими словами, ``базарная'' модель разработки ограничена в применении (у стандартной, централизованной модели таких проблем нет). В качестве примера Безруков приводит TEX, который был разработан Дональдом Кнутом единолично. Имени Дональда Кнута Безруков не упоминает, как будто TEX -- всего лишь одна из программ, разработанных без участия Интернета, и имеющая повсеместную распространенность. Неудачным этот пример можно считать хотя бы потому, что почти все, связанное с Дональдом Кнутом можно считать исключением: и TEX, и ``Искусство программирования''. ``Скорость убивает'' и ее первой жертвой становится демократия (впервые отмечено Фредериком Бруксом в его анализе разработки OS/360). Это социальный вопрос, решая который главному разработчику (или ядру разработчиков) приходится быть дипломатом, чтобы руководить тоталитарно и при этом удерживать людей, коммерчески незаинтересованных. Так, тоталитарными решениями Линуса Торвальдса недовольны многие, и, кажется, появление другого Линукса назревает, но пока этого не произошло. Обычно в мире открытого ПО такие проблемы решаются отделением недовольных разработчиков: либо просто уход, либо начало разработки конкурирующей программы (опять-таки специфика открытого ПО, так как у проприетарного ПО может быть только один собственник, и ``раздвоение'' невозможно). С одной стороны, это плохо, но с другой стороны, конкуренция всегда повышает качество продукта, так что конечного пользователя распри между разработчиками не должны волновать. Кроме того, если проект работает, успехи заметны, разработчики согласны продолжать -- в конце концов, какая у него модель разработки -- тоталитарная или демократичная -- вопрос формализма. Другой вопрос -- ясное понимание цели проекта, и тут скорость и качество могут столкнуться. Единственный на него ответ -- в осознании и провозглашении главной цели проекта ведущим разработчиком (разработчиками). Акцентирование качества как центральной цели проекта реально увеличивает шансы выживания проекта в открытых исходниках. -- считает Николай Безруков. В общем, это и проявилось, когда Линус Торвальдс многократно откладывал выпуск ядра 2.4, или когда откладывался выпуск Netscape 6.
    • Эффект ``городского совета'' или же эффект ``Комитета по администрированию структурного планирования ядра Linux''. Да, разработчик открытого ПО намного ближе к пользователю, чем коммерческий разработчик, но прямой контакт с большим числом пользователей может занимать слишком много времени разработчика. Отчасти это возврат к дискуссии о структуре разработчиков -- с этой точки зрения ограничение контактов ядра разработчиков (или формирование ``клики'') -- защитная реакция на поток некомпетентных писем. В итоге, с одной стороны -- уставшие обсуждать и давать разъяснения разработчики, с другой -- отсутствие демократии для пользователей. Пользователю остается лишь надеятся, что разработчик знает, как лучше, или самому стать разработчиком, чтобы иметь возможность повлиять на развитие проекта.
    • Проблема ``Самого низко висящего яблока''. Программисты, заинтересованные не материально, а творчески, стремятся разрабатывать программы, которые им интересны. Наличие большого числа слабо поддающихся подсчету текстовых редакторов -- тому подтверждение. Видимо, из-за этого долгое время не было ядра свободной ОС. Техническое замечание: с программистской точки зрения наиболее сложными в написании являются ОС и компилятор, потом к этим задачам добавилась реализация Java. Немного менее трудной задачей, чем написание ОС, является реализация какого-либо протокола (например, почтового). На самом деле, была одна еще более сложная задача, чем все перечисленные вместе взятые -- реализация TCP/IP стека. Над этим в работали институтах около двух десятков лет, в результате отлаженный стек унаследовали *BSD-системы, а разработчики Линукс воспользовались стеком FreeBSD. У MS Windows проблемы с TCP/IP стеком наблюдаются до сих пор. В мире открытого ПО одна из функций FSF -- направление разработчиков для создания завершенной свободной среды (ОС + все необходимые приложения). Поэтому, пока FSF существует и обладает авторитетом (во многом это авторитет Ричарда Столлмена) эта проблема решается.

    Проблема перехода на открытое ПО

    Эта проблема, насколько мне известно, Безруковым не поднималась, однако это одна из причин, почему все до сих пор не перешли на открытое ПО, если с технической точки зрения оно имеет столько преимуществ. Если компания решила перейти на использование открытого ПО (прежде всего, открытой ОС), перед ней встает ряд задач, рассмотрев которые с самого начала, возможно, от перехода на открытое ПО придется отказаться. Открытая ОС более надежна, но нуждается в первоначальной настройке. Чтобы освоить новое ПО, компании придется брать одного системного администратора на 10-15 человек персонала, если персонал изначально не обучен работе с открытым ПО (а лучше -- отправить на двухнедельные курсы каждого сотрудника). Теоретически, когда-то должен будет наступить момент, когда персонал освоится, штат системных администраторов можно будет сократить и за счет преимуществ открытого ПО производительность труда предприятия возрастет. Но неопределенность временных рамок перехода и затрат на него сдерживает многие компании от такого решительного шага, как смена программной платформы всего предприятия (серьезное предприятие всегда интегрировано, поэтому переводить на открытое ПО придется все рабочие станции). Безусловно, есть решения для совместной работе MS Windows и Линукс (именно о таком переходе чаще всего идет речь), но такая работа, как и установка на одном компьютере двух ОС, может быть лишь временным решением (нет смысла переходить на открытое бесплатное ПО и при этом продолжать тратить деньги на закрытое). Таким образом, открытое ПО лучше всего подходит для новых компаний, изначально набирающей сотрудников, умеющих работать с открытым ПО, потому что физически перевод компании на принципиально другую ОС возможен лишь тогда, когда размер компании (численность сотрудников и количество рабочих станций) не превышает некоторого ``предела мобильности''.

    Промежуточные итоги

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

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

    Разбор моделей действующих проектов

    Источники в данной части -- пресс-релизы компаний, финансовая общедоступная информация.

    AOL: Netscape 6

    Netscape Communications (на данный момент -- подразделение AOL) приводится Эриком Реймондом как классическая компания, открывшая исходные тексты по модели ``гонка за лидером''. При упоминании названия этой модели многие вспоминают так называемую ``войну браузеров'', но мало кто помнит, что Netscape с помощью своего браузера стремилась также укрепить позиции своих сетевых сервисов, таких как Netcenter. Сетевые сервисы в то время только зарождались, но затем, поверив в их перспективность, другие компании также стали строить свои порталы (в том числе и Microsoft). Из пресс-релиза компании [NSCP] за 22 января 1998 года: ``NCSP сегодня объявила о планах по раскрытию исходного кода <...> клиента Netscape Communicator <...> Эта стратегия призвана ускорить разработку и свободное распространение будущих версий Netscape Communicator для корпоративных заказчиков и физических лиц, подготавливая почву на рынке для корпоративных решений и бизнеса, основанного на Netcenter''.

    То есть Netscape закладывала двойную прочность в свою бизнес-модель: планировалось получать прибыль как за счет брэнда, так и от сетевых сервисов. В сознании пользователей браузера за Netscape закреплялась репутация производителя качественного ПО, что добавляло преимуществ закрытому ПО от Netscape. В браузере Mozilla, разработка которого идет параллельной веткой разработке Netscape 6, закладок [bookmarks] на сайты Netscape нет, но в браузере Netscape 6 такие закладки указывают на большинство мест, которые захочет посетить среднестатистический пользователь, Естественно, по мнению Netscape, все самое интересное -- на порталах Netsape. Здесь задачей Netscape становится удержание пользователей в сети своих сайтов на все время сеанса связи также, как это делает AOL по отношению к своим подписчикам.

    Код первой бета-версии Netscape 6 (Preview Release 1 появился 5 апреля 2000 года) на 98 процентов совпадал с Mozilla M18, но Netscape стала активно улучшать и рекламировать быстродействие Netscape 6, технологию тем и, естественно, связь браузера с порталами Netscape. Кроме того, в Netscape 6 встроены программные продукты и технологии третьих фирм, такие как Net2Phone, Macromedia Flash. Одним из главных достоинств Netscape 6, наиболее активно рекламируемых, является встроенный клиент AOL Instant Messager. Руководители проекта Mozilla сразу объявили своей основной целью разработку многоплатформенного модульного приложения, тогда как Netscape 6 поддерживает три ``стратегические'' платформы: Windows, Linux и MacOS (кроме того, Netscape 6 работает на Solaris).

    Двойное лицензирование кода позволило встроить в Netscape 6 AOL Instant Messager, используемый AOL в качестве рекламной площадки. Почти одновременно с выходом первого пре-релиза Netscape 6 AOL объявила (5 апреля 2000 года) о заключении OEM-соглашения с Gateway о том, что на новые Интернет-устройства Gateway будет устанавливаться Netscape 6. Именно открытость кода браузера помогла доработать его для использования в специальных интернет-устройствах, которые многими рассматриваются как более перспективные средства для доступа к Сети, чем традиционные ПК, которым отводится роль сервера в доме.

    Таким образом, стратегическое решение Netscape Communications об открытии исходного кода своего браузера во многом определило возрастание популярности сетевых сервисов Netscape и AOL, увеличение количества пользователей AOL Instant Messager и, следовательно, рекламной аудитории AOL.

    К сожалению, так как Netscape Communications Corporation была куплена AOL, которая потом объединилась с Time Warner, статистика многопрофильной AOL-Time Warner не дает возможности оценить коммерческую эффективность опубликования исходного кода Mozilla, однако в пресс-релизах AOL заявляет о всяческой поддержке данного проекта, проводит маркетинговые компании, направленные на увеличение количества пользователей Netscape 6. Так, в пресс-релизе за 5 апреля 2001 говорится буквально следующее: ``Начиная с сегодняшнего дня, America Online начинает рекламную кампанию в национальных газетах и журналах, по каналам телевидения с лозунгом <...> Netscape 6 также будет распространяться через America Online's Browser Distribution Program и через недавно начатую Affiliate Browser Program''.

    Финансовые показатели AOL-Time Warner: ``В последнем отчетном году, который закончился в декабре 2000, выручка компании возросла на 35% до $7.70 миллиардов. Прибыль возросла на 12% до $1.15 миллиардов. Этот результат отражает рост числа подписчиков и увеличение дохода от рекламы, частично компенсированное увеличением расходов, связанных с продажами.'' [5]

    Кроме сетевых сервисов, AOL-Time Warner также занимается кабельным телевидением, кино-индустрией, телесетями, музыкой и издательством. На данный момент AOL-Time Warner -- медиа-гигант, практически монополист (по количеству клиентов в сети) на рынке программ мгновенных сообщений. Тогда как Sun и Microsoft фиксировали падение прибылей из-за общего спада в ИТ-отрасли США (существует мнение, что это был первая волна нового рынка, тогда как основные прибыли приносит вторая волна, когда в компании приходят предприниматели с серьезными бизнес-планами на готовую инфраструктуру), AOL закончила год с большим приростом прибыли. Соответственно и такой проект, как Netscape 6, которому AOL уделяет столько внимания, не может быть убыточным, иначе подразделение Netscape Communications было бы попросту расформировано. Реальную прибыль от Netscape 6 AOL получила от распространения AIM.

    Судя по статистике, (см. Приложение 3 ) Netscape 6 еще малопопулярен, так что существенное повышение прибыли от сетевых сервисов за счет закладок в Netscape 6 Netscape Communications может планировать получить. Однако ``шумиха'' вокруг сначала открытия исходных кодов Netscape 5.0, затем выхода релиза Netscape 6 безусловно послужила бесплатной рекламой Netscape Communications, то есть повышения значимости брэнда должно было уже произойти. А за счет этого -- и повышение уровня продаж закрытых продуктов Netscape Communications, таких как web- и mail-серверы.

    Другие последователи модели ``гонка за лидером''

    Netscape 6 представляет собой вариант gated source, когда только часть исходного текста доступна всем без ограничений (закрытыми являются модули сторонних разработчиков, а открытым является код Mozilla). Из-за включения в свой продукт модулей сторонних разработчиков (которые несогласны открывать свои исходные коды), примеру Netscape последовала Apple: свободная ОС Darwin -- основа MacOS X, последняя ОС для Macintosh.

    Sun Microsystems: OpenOffice

    Решение Sun Microsystems сначала о покупке StarDivision, производителя бесплатного, но закрытого офисного пакета StarOffice, а потом об открытии исходных текстов StarOffice, переименованного в OpenOffice , казалось бы, вполне укладывается в модель повышения узнаваемости и популярности брэнда Sun Microsystems, который в связи с открытием исходных текстов StarOffice долгое время многократно упоминался даже в неспециализированной периодике, не говоря о сетевых СМИ. Но Sun Microsystems заявила о намерении предоставлять сетевые сервисы, конкретно, сервисы по работе с приложениями через браузер, что является логичным продолжением идеологии ``тонких клиентов''.

    Тонкий клиент -- модель, при которой к рабочей станции (в старой терминологии) требования по мощности процессора и объему памяти минимальны, жесткого диска может вообще не быть. Все приложения запускаются на сервере, а на тонкие клиенты передается лишь изображение. Естественно, требования к серверу повышаются, но такая модель дает ощутимое сокращение расходов даже при построении системы с нуля, не говоря уже о возможности за счет покупки одного сервера ``вдохнуть новую жизнь'' в старое аппаратное обеспечение, то есть выполнять современные приложения на, казалось бы, безнадежно устаревшей аппаратуре.

    Однако терминальный доступ подрузамевает сервер и тонкий клиент, находящиеся на одном предприятии, а ``сетевой компьютер'' -- концепция, при которой к серверу приложений доступ осуществляется через Интернет, и клиент покупает услуги использования приложения или контента (все что нужно для работы -- браузер). Такая концепция имеет несколько очевидных преимуществ:

    1. Унификация стандартов -- задача, которую часто приходится решать предприятиям, ложится на плечи сервера приложений. Именно поэтому фирмы, которые будут представлять сетевые сервисы, поддерживают XML, который легко конвертировать как в HTML для десктопов, так и в WML или следующий за ним стандарт для сотовых телефонов.
    2. Снижение общей стоимости эксплуатации (TCO -- total cost of ownership). Приложения выполняются на сервере, поэтому требования к клиентам минимальны.
    3. Мобильность: опять же следует из того, что приложения выполняются на сервере, поэтому для мобильных устройств возможна работа с приложениями, которые требуют ресурсов мощного компьютера.

    Судя по публикациям в прессе, на рынке сетевых сервисов предстоит битва HP, IBM, Sun, Microsoft и Oracle, которая определит лидеров на следующем витке развития ИТ-технологий: ``Призы для победителей в разворачивающемся состязании за привлечение наибольшего количества сторонних разработчиков выглядят весьма привлекательно: рост продаж операционных систем; ПО для баз данных; консалтинговых услуг; наконец, компьютеров, особенно больших и дорогих серверов, поддерживающих работу web-сервисов''.

    Здесь необходимо сделать одно замечание относительно продаж компьютеров и серверов. Спад продаж ПК в США из-за насыщения рынка привел к тому, что компания Micron, например, продала свое подразделение по производству ПК, Dell впервые произвела массовые увольнения. В то же время на рынке серверов норма прибыли и раньше была высокой, а теперь этот рынок стал более привлекательным для компаний, занимающихся производством десктопов, и конкуренция здесь, видимо, будет обостряться. Sun Microsystems не производит ПК, однако обострение конкуренции не может не сказываться на компании. Кроме того, Интернет-компании, обеспечивавшие высокий спрос на мощные серверы для баз данных и web-серверов, исчезают в массовом порядке. Остаются биотехнологии, вычислительные запросы которых не представляется возможным удовлетворить в сколько-нибудь обозримом будущем. Сетевые сервисы намного менее ресурсоемки, но на данный момент, они, по-видимому, остаются вторым по привлекательности рынком сбыта мощных вычислительных систем (не только класса ``сервер''). Для освоения этого рынка компании нужно предложить законченное аппаратно-программное решение, решающее поставленную задачу доступа к сетевым сервисам (и такие решения уже есть, это Sun ONE от Sun Microsystems, Netaction от Hewlett-Packard и другие).

    Что же имеется в виду под сетевыми сервисами? -- Пока это, прежде всего, стандартные офисные приложения, такие как электронные таблицы и текстовые процессоры, базы данных, а OpenOffice и является как раз таким офисным пакетом. Многоплатформенный офисный пакет до недавнего времени был недостающим звеном в модели сетевых сервисов Sun. Остальные части модели, такие как Java и XML -- от самой Sun или от других разработчиков -- уже были доступны. С позиции продвижения сетевых сервисов открытие исходных текстов StarOffice представляется, в том числе, и маркетинговой акцией: в связи с открытием исходных текстов само название ``StarOffice'' получило более широкую известность, поэтому одно это название может очень сильно способствовать продвижению сетевых сервисов, в состав которых этот офисный пакет включен. Традиционная надежность открытого ПО также поможет продвижению сетевых сервисов Sun.

    Sun Microsystems: Solaris

    6 декабря 2000 года началась ``Solaris 8 Foundation Source Program''. Эта программа предполагает возможность приобретения исходного кода на дисках или возможность скачать исходные тексты Solaris 8 (для платформ x86 и Sun SPARC) после регистрации. Исходный код можно получить только от Sun, передавать его кому-либо запрещено лицензией. В принципе, этот маркетинговый ход должен стимулировать разработку приложений под Solaris, сообщества со-разработчиков не создавалось. Интересно рассмотреть, что же реально дает открытие исходных текстов одного из основных продуктов компании.

    1. Основным продолжает оставаться продвижение аппаратного обеспечения -- именно продажа ``железа'' приносит Sun Microsystems основные прибыли. На платформу Sun SPARC портировались ОС, но наиболее полно использовать все возможности платформы, такие как ``горячая замена'' процессоров и памяти может лишь Solaris. На платформе x86 строят дешевые серверы, в линейке серверов от Sun это доступные серверы для малого бизнеса. Solaris 8 для платформы x86 (она же i386) хорош тем, что позволяет использовать лучше Linux и других возможности многопроцессорных конфигураций.
    2. Продвижение стандартов, таких как Java и приложений для нее (которые работают под Solaris значительно быстрее, чем под другими ОС -- быстрее только под JavaOS, которая находится в разработке), своих баз данных, интернет-серверов и других приложений, которые лучше всего работают именно под Solaris, в частности, на Sun SPARC.
    3. Стимулирование сторонних разработчиков: знание исходного кода системы позволяет лучше подстраивать приложения под ОС. Именно по этой причине, по заявлению представителя корпорации Microsoft ([7], 1 февраля 2001), компания предоставила исходный код Windows сотням своих крупных заказчиков, однако изменять исходный код заказчики не могут. С количеством приложений под Solaris на SunSPARC все в порядке, но на i386 Solaris был портирован относительно недавно, поэтому не хватает не только приложений, но и недостаточно поддерживается аппаратное обеспечение.

    Solaris является примером ПО с доступным исходным текстом. Эта операционная среда свободно доступна только для некоммерческого применения (если скачивать Solaris 8 в исходном тексте или в скомпилированном виде в соответствии с другой программой Sun); чтобы изменения были внесены в основную ветвь разработки, они должны пройти сертификацию на соответствие стандартам.

    Если не вдаваться в юридические тонкости лицензирования, такой вариант gated source представляет собой очень привлекательный для компании-разработчика вариант, так как компания продолжает получать прибыли от приобретения ее продукта коммерческими компаниями по коммерческой цене. В то же время и коммерческие, и индивидуальные пользователи могут изменять исходный текст продукта. Такие ``полусвободные'' лицензии порицаются идеологами открытого ПО, но практически пользователи остаются довольны такой формой лицензирования (см. дискуссии на [8]). Так, один из участников форума Slashdot.org заявил (речь идет о Sun Solaris): ``Что, собственно, было плохого в старой лицензии Sun? Да, это было не свободное ПО, но те, кто покупали продукт, получали полный исходный код. Это позволяло исправлять ошибки и добавлять новые возможности сообществом и для сообщества (или я сильно забыл детали). Если честно, я думаю, что именно так ПО должно распространяться. Если я покупаю копию Word, я хочу получить полный исходный текст. Я не думаю, что у меня необходимо должно быть право передавать исходный текст кому-либо еще. Но я не хочу зависеть от глючного приложения, которое я не могу исправить или модифицировать <...>''.

    В попытках найти ``золотую середину'' при открытии исходного текста своего продукта, многие компании склоняются в пользу gated source, успокаивая сторонников открытого ПО тем, что это лишь временная мера. Теоретически, должна получиться комбинация преимуществ открытого и коммерческого ПО, но лицензирование с ограниченными свободами пользователей продукта отталкивает свободных разработчиков (понятно, что никто не согласен бесплатно работать на какую-либо компанию, выполняя работу за нее). Возможно, для некоторых продуктов полная свобода распространения не назрела, в то же время коммерческие разработчики ПО, такие как Sun, всегда действуют из соображений получения прибыли. Если раньше можно было получать максимальную прибыль, продавая закрытое ПО -- компании продавали закрытое ПО. Если сейчас наиболее выгодным для данного продукта оказывается модель с gated source -- используется эта модель. И лишь когда зарабатывать непосредственно на софте, как это случилось на рынке браузеров, станет невозможно, данное ПО станет распространяться свободно. Пока для Sun наиболее выгодно получать прибыль от продаж ПО, предоставляя свободный доступ к своему продукту для некоммерческого использования -- фактически жертвуя лишь небольшой частью прибыли, которую компания получала от индивидуальных пользователей. Платформа Sun SPARC практически недоступна для индивидуального применения, а на i386, как уже упоминалось, Solaris был портирован относительно недавно, поэтому некоммерчески Solaris мог применяться лишь в университетах.

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

    ASP Linux

    Российская компания ASP Linux появилась совсем недавно, и первый релиз их продукта вышел во время проведения Комтека'2001. Данная ОС позиционируется разработчиками как ОС как для провайдеров сервисов приложений (Application Server Provider, чаще переводится как ``провайдер сетевых сервисов''), так и для использования в качестве настольной системы. ASP Linux объединилась с двумя создателями дистрибутива BlackCat Linux (русифицированный Red Hat), уже имея свои наработки. Среди наиболее интересных:

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

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

    1. Платная поддержка индивидуальных пользователей (бесплатная поддержка предоставляется для зарегистрированных пользователей на 90 дней).
    2. Корпоративная поддержка: настройка и администрирование корпоративных Linux-систем.
    3. Консалтинговые услуги и обучение.
    4. Проектирование встроенных компьютерных систем и перенос Linux для встроенных систем (по заявлениям представителей ASP Linux, было осуществлено портирование Linux на платформу StrongArm на телефонное оборудование компании Infra Telesystem).
    5. Перенос приложений под Linux из других ОС (осуществлен перенос Pervasive SQL 2000 под Windows NT под Linux и Solaris).
    6. Разработка приложений под Linux (предлагаются консультации для программистов других компаний).
    7. Создание кластеров: компания разрабатывает свое решение для распределения нагрузки в системе (осуществление планируется в 2002 году).

    Кроме того, ASP Linux связана с компанией Falcon, производителем компьютеров, совместимых с Linux.

    По схожей модели действует компания ALT Linux (большинство разработчиков в которой из IPLabs Linux Team, известной по дистрибутиву Mandrake). Компания ALT Linux разрабатывает сверхзащищенный дистрибутив для серверного применения, одновременно оказывая IT-услуги, перечень которых примерно совпадает с перечнем услуг компании ASP Linux. Даже выбор рыночной ниши для продуктов этих компаний (дистрибутивы для провайдеров сетевых сервисов и защищенных интернет-серверов) говорит о том, что компании хотели бы создать свою репутацию, прежде всего, среди корпоративных заказчиков, которые могут обращаться к данным компаниям за перечисленными услугами. К сожалению, действуя в России, ориентироваться на платежеспособный спрос на свои услуги со стороны индивидуальных пользователей компании ASP Linux и ALT Linux не могут.

    Заключение

    Абсолютно все рассмотренные модели (хотя открытие исходных кодов Solaris можно считать лишь маркетинговым ходом) предполагают получение лишь косвенных доходов от распространения ПО. Но одно из главных и, пожалуй, наиболее ценное преимущество открытого ПО -- надежность -- больше всего влияет на сам программный продукт, повышая его конкурентные преимущества. Если раньше правило ``объем продаж=маркетинг'' действовало безотказно, что проявилось в успехах компании Microsoft, сделавшей свой бизнес на продаже нестабильной ОС, то теперь покупатель (как корпоративный заказчик, так и индивидуальный пользователь) старается разобраться в преимуществах того или иного ПО, прежде чем его покупать. На корпоративном рынке маркетинг всегда играл меньшую роль, поэтому Linux, продукт с изначально нулевым маркетингом, смог завоевать значительную долю рынка серверов. То есть на корпоративном рынке объем продаж больше зависит именно от качества продукта, поэтому продукт с открытыми исходными кодами (что подразумевает высокое качество) имеет здесь болше шансов в конкуренции с другими программными продуктами. Рынок настольных систем неоднороден, в развитых странах отношение к открытому ПО можно охарактеризовать как ``эйфория'', в неразвитых же из-за большого объема рынка пиратской продукции высокая цена коммерческого ПО не играет никакой роли, поэтому пользователь выбирает между открытым и бесплатным, не ощущая особой разницы. Компании, чей бизнес построен на разработке открытого ПО, страдают от пиратства в той степени, в которой корпоративные заказчики не обращают внимания на их продукты и услуги, не видя в них необходимости. То есть убедить предприятие, например, в России перейти на открытое ПО, чтобы затем предложить этому предприятию консультационные услуги, сложнее, чем в США, если предприятие в России использует пиратское ПО. Но и в России только по причине более высокого качества открытое ПО обретает все большую популярность.

    Таким образом, открытое ПО имеет явные преимущества перед коммерческим в тех странах, где коммерческие компании защищают свои права на интеллектуальную собственность, качество же ПО становится преимуществом при информированности пользователя ПО. Именно в этих случаях даже компании, занимающиеся только открытым ПО, такие как ASP Linux, вполне жизнеспособны. В принципе, ничего нового в бизнесе на открытом ПО нет -- это те же консультационные услуги и продажа аппаратного обеспечения, только клиенты привлекаются не столько за счет маркетинга непосредственно услуг и ``железа'', сколько из-за репутации компании; репутация же создается через выпуск максимально качественного програмного продукта -- а на данный момент максимального качества продукта можно добиться лишь открывая исходные коды и привлекая соразработчиков.

    Ссылки и источники

    1. Opensource.org;

    1.1 Opensource.org -- экономические преимущества открытого ПО;

    1.2 Opensource.org -- определение открытого ПО;

    1.3 Opensource.org -- "OSI Certified" лицензии;

    1.4 Opensource.org -- ответы на часто задаваемые вопросы;

    2. FSF;

    3. Eric Raymond. ``Cathedral and Bazaar'' (русский перевод);

    4. Softpanorama.org

    4.1 Николай Безруков. ``Open Source Software Development as a Special Type of Academic Research'' (русский перевод);

    4.2 Николай Безруков. ``A Second Look at the Cathedral and Baazar''; впервые опубликовано на www.firstmonday.org.

    5. finance.yahoo.com -- основной источник финансовых показателей компаний;

    6. Пресс-релизы Netscape Communications за 2000 год;

    7. ZDNet.com, ZDNet.ru -- см раздел ``Open Source''.

    8. Slashdot.org -- в том числе, обсуждение решений Sun и Netscape по открытию исходных текстов соответствующих продуктов.


    Часть II
    Материалы Фонда свободного программного обеспечения

    Оригинальные тексты (на английском языке) включенных в эту часть документов, другие документы Фонда свободного программного обеспечения (на английском, русском и других языках) читатель может найти на сайте Фонда www.fsf.org. Вопросы о деятельности FSF и проекте GNU направляйте по адресу gnu@gnu.org, либо свяжитесь с FSF иным способом. Эти перводы не поддерживаются FSF, который не несет никакой ответственности за их содержание и/или оформление. Разрешается копирование и распространение этих статей любым способом без внесения изменений, при условии, что это разрешение сохраняется.


    Subsections


    Subsections



    Проект GNU

    Ричард Столлмен <rms@gnu.org>

    Первое общество ``программной взаимопомощи''

    Когда я начинал работать в MIT Artificial Intelligence Lab (Лаборатория искусственного интеллекта Массачусетского Технологического Института, далее AI Lab) в 1971, я стал членом общества ``программной взаимопомощи'' (software-sharing community), существовавшего уже много лет. Подобная взаимопомощь не была ограничена нашим сообществом: она была столь же стара, как сами компьютеры, подобно тому, как привычка делиться рецептами -- ровесница кулинарии. Но мы делали это более активно, чем другие.

    В AI Lab использовалась операционная система с разделением времени, называемая ITS (Несовместимая Система Разделения Времени, Incompatible Timesharing System), которую хакеры {Слово "хакер" неверно используется в значении "компьютерный взломщик" некоторыми журналистами. Мы, хакеры, отказываемся принять такое его толкование и продолжаем подразумевать под ним смысл "кто-то, кто любит программировать и получает удовольствие от этого".} , работавшие в лаборатории, спроектировали и реализовали на ассемблере Digital PDP-10, одного из тогдашних компьютеров. Мне, как члену этого общества и системному хакеру AI lab, предстояло развивать систему.

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

    Гибель сообщества

    Ситуация резко изменилась в начале 1980-х, когда Digital отказалась от дальнейшего развития семейства PDP-10. Ее архитектура, элегантная и мощная для 60-х, не позволяла легко увеличить размер адресного пространства, что стало возможным в 80-х. Это значило, что почти все программы, составляющие ITS, устарели.

    Сообщество хакеров AI lab распалось незадолго до этого. В 1981 развивающаяся компания Symbolics наняла почти всех хакеров AI lab, после чего наше сообщество обезлюдело настолько, что уже не могло поддерживать само себя. (Книга ``Хакеры'' (Hackers), Стива Леви (Steve Levy), описывает эти события, также давая четкую картину сообщества в его первозданном виде.) Когда AI lab приобрела новую PDP-10 в 1982, администрация решила использовать несвободную ОС Digital вместо ITS.

    Современные компьютеры тех лет, такие, как VAX или 68020, имели собственные операционные системы, но ни одна из них не была свободной: вы обязаны были подписать обязательство нераспространения даже чтобы получить исполнимый код.

    Это значило, что первым шагом в использовании компьютера стало обещание не помогать окружающим. Сотрудничество тем самым было запрещено. Собственники программ установили правило: ``Если вы поделились программой с вашим соседом, вы пират. Если вам требуются модификации, умоляйте нас реализовать их.''

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

    Когда производители программ рассуждают о ``соблюдении'' своих ``прав'' либо ``искоренении пиратства'', их слова вторичны. Истинное содержание этих заявлений кроется в неявных предположениях, которые полагают, как данность. Подразумевается, что публика примет их без обоснования. Но давайте же все обсудим.

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

    Другое подразумеваемое предположение состоит в том, что единственным важным свойством программы является возможность выполнять с ее помощью некоторые действия -- т.е. что мы, пользователи, не должны беспокоиться о том, какое общество нам позволено иметь.

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

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

    Объем публикации не оставляет места для более подробного разъяснения этого вывода, поэтому читателям следует обратиться к странице http://www.gnu.org/philosophy/why-free.ru.html.

    Проблема морального выбора

    Когда наше сообщество распалось, жить по-прежнему стало невозможным. Вместо этого я очутился перед моральной дилеммой.

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

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

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

    Другим выбором, прямолинейным и неприятным, было бросить заниматься компьютерами. В этом случае мои способности не были бы использованы во вред, но пропали бы зря. Я не был бы виновен в разобщении и ограничении пользователей компьютеров, но это все равно случилось бы.

    Поэтому я начал искать способ, с помощью которого программист будет в состоянии улучшить ситуацию. Я спросил себя, могу ли я написать какую-либо программу или программы, чтобы оживить наше сообщество?

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

    Как разработчик операционных систем, я обладал требуемыми для этой работы навыками. Поэтому, хоть я и не ожидал непременного успеха, я чувствовал, что могу выполнить ее. Было решено сделать систему совместимой с Unix и переносимой, так что пользователи Unix могут легко перейти к ней. Название GNU было выбрано согласно хакерским традициям, как рекурсивный акроним ``GNU's Not Unix'' (GNU, не Unix).

    Операционная система -- это не только ядро, которого хватает только на то, чтобы запускать другие программы. В 1970-х каждая операционная система, достойная этого названия, включала командные процессоры, ассемблеры, компиляторы, интерпретаторы, отладчики, редакоторы текстов, почтовые программы и многое другое. Все это было в ITS, в Multics, VMS и Unix. Система GNU также должна включать эти компоненты.

    Позднее я услышал такие слова, автором которых считается Гиллель {Как атеист, я не подчиняюсь ни одному религиозному лидеру, но иногда меня восхищают их высказывания.} :

    Если не я за себя, то кто за меня?

    Если я только за себя, то зачем я?

    Если не сейчас, то когда же?

    Решение начать разработку проекта GNU основано на похожих принципах.

    ``Свободный'' -- не значит ``даром''

    Термин ``свободное ПО'' часто понимают неправильно -- он не имеет общего с ценой. Речь ведется о свободе. Таким образом, вот определение свободного ПО: программа является свободной для вас, конкретного пользователя, если:

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

    Поскольку ``свободный'' подразумевает свободу, а не цену, нет противоречий между продажей копий и свободным ПО. Фактически, свобода продажи копий является существенной: продажа коллекций свободного ПО на CD-ROM важна для общества и является хорошим способом получить средства на разработку свободного ПО. Следовательно, программы, которые невозможно включить в такие коллекции, не являются свободными.

    Вследствие неоднозначности слова ``free'' (которое в английском языке употребляется как в значении ``свободный'', так и ``бесплатный'', -- прим. перев.) многие пытались найти ему замену, но пока что это никому не удалось. Английский язык содержит множество различных способов отображения самых тонких нюансов, но в нем нет простого, однозначного слова, которое подразумевало бы ``free'', как свободу; ближе всего по смыслу к этому приближается ``unfettered'' (``лишенное оков'', ``нестесненное''). Такие альтернативы, как ``liberated'' (освобожденный), ``freedom'' (свобода) и ``open'' (открытость) имеют либо неверное значение, либо иные недостатки.

    Программы GNU и система GNU

    Разработка целой системы -- очень большой проект. Чтобы довести его до завершения, я решил приспосабливать и пользоваться существующими свободными программами, когда это было возможно. Например, с самого начала предполагалось применять TEX как основную систему подготовки текстов, несколькими годами позднее было решено воспользоваться X Window System, нежели разрабатывать для GNU другую оконную систему.

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

    Зарождение проекта

    В январе 1984 г. я завершил свою работу в MIT и начал писать программы для проекта GNU. Покинуть MIT было необходимо, чтобы MIT ничем не был связан с распространением GNU, как свободного ПО. Если бы я оставался в штате, в MIT могли бы претендовать на право собственности и навязать свои собственные условия распространения, либо даже превратить программы в собственнические. Я не хотел проделать большую работу, лишь чтобы увидеть, как она становится бесполезной для своей цели: создания нового сообщества, в котором возможно делиться программами друг с другом.

    В то же время профессор Уинстон (Winston), глава MIT AI Lab, любезно предложил мне продолжать пользоваться возможностями лаборатории.

    Первые шаги

    Вскоре после начала проекта GNU я услышал о Free University Compiler Kit (Набор Компиляторов Свободного Университета), также известном как VUCK. (Голландское слово, обозначающее ``free'', т.е. ``свободный'', пишется через V.) Этот компилятор был разработан для поддержки множества языков, включая C и Pascal, и множества целевых платформ. Я запросил у автора разрешение использовать его для GNU.

    Он ответил с иронией, заявив, что университет свободный, а компилятор -- нет. Тогда я и решил, что моей первой разработкой в рамках проекта GNU будет многоязыковый многоплатформенный компилятор.

    В надежде избежать разработки компилятора целиком, я раздобыл исходники компилятора Pastel, многоплатформного компилятора, разработанного Lawrence Livermore Lab. Он поддерживал (и сам был написан) расширенный диалект языка Pascal, предназначенный для системного программирования. Я добавил в него поддержку C, и начал переносить его на Motorola 68000. Но мне пришлось отказаться от этого, когда я обнаружил, что компилятору требуются мегабайты под стек, в то время, как доступная на 68000 Unix-система ограничивается лишь 64k.

    Оказалось, что компилятор Pastel сначала строил по всему входному файлу дерево разбора, далее конвертировал его в цепочку ``инструкций'', а затем генерировал целиком выходной файл, вовсе не освобождая памяти. На этом этапе я заключил, что все-таки придется написать новый компилятор с самого начала. Новый компилятор известен сегодня как GCC; никакие части Pastel в нем не использованы, но мне довелось адаптировать и использовать уже написанный мной код поддержки C. Но все это случилось несколькими годами позднее, а в то время я работал над GNU Emacs.

    GNU Emacs

    Работа над GNU Emacs началась в сентябре 1984 г., и в начале 1985 он уже был пригодным к использованию. Это позволило мне начать использовать Unix-системы для подготовки текстов -- не имея желания изучать vi либо ed, я был ранее вынужден заниматься редактированием на других платформах.

    В это время общество начало проявлять интерес к GNU Emacs, что подняло вопрос, как его распространять. Конечно, я поместил его на ftp-сервер с анонимным доступом на одном из доступных мне компьютеров MIT. (Этот сервер, prep.ai.mit.edu, стал впоследствие основным ftp-сайтом GNU; несколькими годами позднее он был закрыт, и мы дали это имя нашему новому ftp-серверу.) Но в то время многие заинтересованные люди не имели доступа в Интернет и не могли скачать себе копию. Спрашивается, что я мог предложить им?

    Я мог бы им сказать: ``Найдите того, кто имеет доступ в Сеть и может скачать его для вас.'' Еще я мог поступить, как это было с оригинальной версией Emacs для PDP-10 и заявить: ``Вышлите мне ленту и я верну ее вам с Emacs.'' Но я не имел работы и разыскивал способы зарабатывать на свободном ПО. Поэтому я объявил, что вышлю всем желающим ленту за $150. Тем самым было положено начало бизнесу, связанному с распространением свободных программ, предшественник фирм, которые сегодня распространяют завершенные системы GNU/Linux.

    Свободен ли каждый пользователь программы?

    Если программа свободна, когда покидает руки своего автора, это не всегда означает, что она будет свободной для всех пользователей, располагающих копией. Например, программы ``общественной собственности'' (public domain software, т.е. ПО, не имеющее владельца авторских прав) свободны, но каждый в состоянии выпустить собственническую слегка модифицированную версию. Аналогично, многие свободные программы имеют владельца авторских прав, но распространяются с простыми либеральными лицензиями, которые позволяют выпуск собственнических модификаций.

    Классическим примером этой проблемы служит X Window System. Разработанная в MIT и выпущенная как свободное ПО с либеральной лицензией, она вскоре была взята на вооружение множеством компаний. Они включали X в свои собственнические Unix-системы исключительно в виде исполнимых файлов и помещали под ту же самую подписку о неразглашении. Эти копии X были свободны не более, чем Unix.

    Разработчики X Window System не считали это проблемой -- такого развития событий они ожидали. Их целью была не свобода, а лишь ``успех'', определяемый как ``наличие многих пользователей''. Никого не интересовало, будут ли пользователи свободными, а лишь их многочисленность.

    Это ведет к парадоксальной ситуации, когда два разных способа оценить степень свободы программы дают различный ответ на вопрос: ``Эта программа свободна?'' Если ваша оценка основана на свободе, предоставленной условиями распространения MIT, можно утверждать, что X является свободной системой. Но если измерить свободу среднего пользователя X, придется заключить, что эта система собственническая. Большинство пользователей X применяли собственнические версии, поставляемые с Unix, а не свободные.

    Принцип ``авторского лева'' и GNU GPL

    Целью GNU было дать пользователям свободу, а не только завоевать популярность. Следовательно, нам были нужны условия распространения, которые защитят программы GNU от превращения в собственнические. Используемая методика получила название ``авторское лево'' (в противоположность ``праву''), или ``copyleft''
    {В 1984 или 1985 Дон Хопкинс (Don Hopkins) (обладатель очень богатого воображения) прислал мне письмо. На конверте он написал несколько забавных фраз, включая такое: "Copyleft-all rights reversed." Я использовал слово "copyleft", чтобы назвать концепцию распространения программ, котрую разрабатывал в это время.} .

    ``Авторское лево'' использует систему авторского права, но в целях, противоположных ее обычному использованию: из способа прихватизации программ она превращается в средство защиты их свободы.

    Центральная идея ``авторского лева'' в том, что мы даем каждому разрешение запускать, копировать, изменять программу и распространять измененные версии -- но не разрешение добавлять ограничения от себя. Этим критические свободы, которые определяют ``свободное ПО'' гарантируются каждому, кто имеет копию, они становятся неотчуждаемыми.

    Эффективность ``авторского лева'' возможна, лишь если модифицированные версии также свободны. Этим обеспечивается, что производные продукты, в случае их публикации, будут доступны нашему обществу. Когда программисты добровольно участвуют в улучшении программ GNU, ``авторское лево'' защищает их от нанимателей, которые могут сказать: ``Вы не можете свободно распространять свои модификации, поскольку мы собираемся сделать их нашей собственнической версией программы.''

    Требование, чтобы модификации также были свободны, необходимо, если мы хотим гарантировать свободу каждого пользователя программы. Компании, которые прихватизировали X Window System, обычно вносят в нее некоторые изменения, чтобы приспособить к своей системе и аппаратуре. Эти модификации невелики по сравнению с общим объемом системы X, но они были нетривиальны. Если внесение модификаций может служить оправданием лишению пользователей свободы, найдется много желающих воспользоваться подобным обоснованием.

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

    Частная форма ``авторского лева'' используется для большинства программ GNU -- это Универсальная Общественная Лицензия GNU (GNU General Public License, или GNU GPL). Мы также имеем другие виды ``авторского лева'' для особых случаев. Документация GNU также подчинена ``авторскому леву'', но в значительно более мягкой формулировке, поскольку изощренность GNU GPL избыточна для документации.

    Фонд Свободного ПО

    Интерес к использованию Emacs возрастал, в работу над проектом GNU включались новые участники, и мы решили, что пора снова искать источники финансирования. Поэтому в 1985 нами был создан Фонд Свободного ПО (Free Software Foundation, FSF), благотворительный фонд (tax-exempt charity), поддерживающий разработку свободного ПО. FSF также взял на себя распространение лент с Emacs, позднее на них было добавлено и другое свободное ПО (как GNU, так и не-GNU), а также продажу свободной документации.

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

    Персоналом Free Software Foundation разработаны и сопровождаются многочисленные программные пакеты, к примеру, C-библиотека и командный интерпретатор (shell). Библиотека GNU C используется всеми программами в системе GNU/Linux как посредник в общении прикладной программы с Linux. Она была разработана сотрудником FSF Роландом МакГрафом (Roland McGrath). Командный интерпретатор, использующийся в большинстве систем GNU/Linux -- BASH, Bourne Again Shell {"Bourne again Shell" -- шуточная переделка ``Bourne Shell'', названия обычного командного интерпретатора под Unix.} , написанный служащим FSF Брайаном Фоксом (Brian Fox).

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

    Поддержка свободного ПО

    Философия свободного ПО отвергает методы, общепринятые в бизнесе, но мы не отвергаем идею бизнеса вообще. Когда предприниматель уважает свободу пользователей, мы желаем ему успеха.

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

    Сегодня каждая из этих разновидностей бизнеса на свободном ПО практикуется множеством предприятий. Одни распространяют свободное ПО на CD-ROM; другие предлагают платную поддержку, начиная ответами на вопросы и устранением ошибок и завершая добавлением новых возможностей. Начинают появляться даже компании, занимающиеся выпуском новых свободных программ.

    Однако, будьте осторожны -- многие из тех, кто заявляет о следовании идее ``открытых исходных текстов'' в действительности основой своего бизнеса делают несвободные программы, которые работают совместно со свободными. Эти компании далеки от свободного ПО, это разработчики собственнических программ, которые искушают пользователей позабыть свободу. Они называют это ``добавлением стоимости'' (value added), отражая этим ценности, которые хотят навязать нам: удобства превыше свободы. Если мы предпочитаем свободу, нам следует называть подобные программы ``с уменьшением свободы'' (freedom subtracted).

    Технические цели

    Принципиальная цель GNU -- быть свободным ПО. Даже если система GNU не имела бы технического превосходства над Unix, она обладала бы социальным преимуществом, позволяя пользователям сотрудничать, и этическим, уважая их свободу.

    Но можно считать вполне обоснованным применение широко известных ``правил хорошего тона'' -- например, использование динамических структур данных неограниченных размеров, а также поддержка всех возможных 8-битных кодов, когда это имеет смысл.

    Дополнительно, мы отвергли принятую в Unix экономию памяти, отказались от поддержки 16-битных машин (было ясно, что 32-битные архитектуры станут общепринятыми, когда система GNU будет готова), и не предпринимали попыток сократить объем используемой памяти, пока он не превышал мегабайта. В программах, для которых работа с очень большими файлами не была важной, мы предлагали программистам сначала считать исходные данные целиком в память, а затем работать уже с ней, не используя ввод/вывод.

    Такие решения позволили многим программам GNU превзойти свои Unix-аналоги в надежности и скорости.

    Пожертвование компьютеров

    С ростом репутации проекта GNU нам стали жертвовать машины с системой UNIX. Это было очено полезно, поскольку простейшим способом разработать компоненты системы GNU было сделать это на UNIX-системе и заменить ее компоненты одну за одной. Но при этом возникло этическое противоречие: можем ли мы использовать для этой работы UNIX?

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

    Но, хоть это и было оправданным злом, оно все-таки оставалось злом. Сегодня мы более не имеем ни одной копии Unix, поскольку заменили их свободными операционными системами. Если мы не были в состоянии заменить на машине ОС, мы вместо этого меняли саму машину.

    Список задач проекта GNU

    По мере развития проекта GNU и роста количества системных компонент, которые мы разыскивали либо разрабатывали, стало желательным сделать список остающихся прорех. Мы использовали его для привлечения желающих написать недостающие компоненты. Этот список стал известным как ``список задач проекта GNU'' (GNU project task list). В дополнение к отсутствующим компонентам Unix мы включили в него другие полезные проекты разработки программ и документации, которые, по нашему мнению, должна иметь действительно завершенная система.

    Сегодня немногие компоненты Unix остались в списке задач проекта GNU -- они все уже сделаны, за исключением нескольких не очень важных. Но в списке по-прежнему много проектов, которые многие считают ``приложениями''. Любая программа, которая полезна не только узкому кругу пользователей, может быть полезной составной частью операционной системы.

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

    Библиотечная Лицензия GNU

    Библиотека GNU C использует особую разновидность ``авторского лева'', называемую Библиотечной Лицензией GNU (GNU Library General Public License, в настоящий момент изменила свое название на GNU Lesser General Public License -- Прим. перев.), которая дает разрешение компоновать библиотеку с собственническими программами. Зачем сделано это исключение?

    Это не было делом принципа: нет принципа, согласно которому разработчикам собственнического ПО дается право использовать наш код. (Зачем нам участвовать в развитии проекта, который определенно не будет сотрудничать с нами?) Использование LGPL для стандартной C-библиотеки либо другой, является стратегическим ходом.

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

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

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

    Рассмотрим GNU Readline, библиотеку, которая обеспечивает BASH средствами редактирования командных строк. Readline распространяется с обычной GNU GPL, не с библиотечной GPL. Это, возможно, снижает число пользователей Readline, но это для нас не потеря. В то же время, по крайней мере одна полезная программа обрела свободу именно потому, что нуждалась в использовании Readline и это является действительно нужным обществу.

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

    Профессиональный зуд?

    Эрик Реймонд (Eric Raymond) сказал, что: ``Работа над каждой хорошей программой начинается автором для удовлетворения своего профессионального зуда'' (scratching a developer's personal itch). Возможно, так иногда и бывает, но многие важные составляющие GNU были разработаны с целью создать полноценную свободную ОС. Они появились на свет благодаря нашему видению проблемы и плану действий, а не вследствие импульсивного решения.

    Например, мы разработали библиотеку GNU C потому, что Unix-подобная система требует такой библиотеки, и Bourne-Again Shell (bash), поскольку Unix-подобная система требует командного интерпретатора, а также GNU tar, так как аналог Unix должен иметь программу tar. То же самое справедливо и в отношении моих собственных программ -- компилятора GNU C, GNU Emacs, GDB и GNU Make.

    Некоторые программы GNU разрабатывались, чтобы устранить конкретную угрозу нашей свободе. Так, мы написали gzip взамен программы сompress, которая была потеряна обществом из-за патентованного алгоритма LZW. Мы разыскали желающих реализовать LessTif, а позднее начали проекты GNOME и Harmony, чтобы решить проблемы, созданные некоторыми собственническими библиотеками (см. далее). Нами разрабатывается GNU Privacy Guard для замены популярного несвободного криптографического ПО, поскольку пользователи не должны выбирать между конфиденциальностью и свободой.

    Конечно, программы создаются благодаря личной заинтересованности авторов, а многие их возможности добавляются различными людьми для удовлетворения собственных нужд. Но это не единственная причина существования программ.


    Незапланированные разработки

    В начале работы над проектом GNU я полагал, что нам следует разработать систему GNU целиком, а лишь затем выпустить ее. Все произошло по-другому.

    Поскольку каждый компонент системы GNU разрабатывался под Unix, все они могли работать в ней задолго до появления завершенной системы GNU. Некоторые такие программы завоевали популярность и пользователи начали их расширение и перенос на различные несовместимые версии Unix, а также на другие системы.

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

    GNU Hurd

    В 1990 система GNU была почти завершена; единственной важной нехваткой было ядро. Мы решили реализовать его как набор процессов-серверов, работающих поверх Mach. Mach -- это микроядро, разработанное в университете Карнеги-Меллон (Carnegie Mellon University) и позднее в университете штата Юта (University of Utah); GNU HURD -- коллекция серверов, (или ``стадо гну'', ``herd of gnus''), выполняемая поверх Mach и реализующая различные функции ядра Unix. Начало работ было задержано ожиданием выпуска Mach как свободного ПО, как нам пообещали.

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

    Alix

    Изначально ядро GNU не планировалось называть HURD. Его первым названием было Alix (Аликс)-имя женщины, которую я любил тогда. Она была администратором Unix-системы и однажды заметила, как хорошо ее имя подходит под общий принцип именования клонов Unix. В шутку она сказала своим друзьям: ``Кому-то следует назвать ядро в мою честь''. Я промолчал, но решил сделать ей сюрприз, назвав свое ядро Alix.

    Но все произошло по-другому. Майкл Бушнел (Michael Bushnell, ныне Thomas), главный разработчик ядра, предпочитал название HURD, и назвал Alix некоторую часть ядра, которая перехватывала системные вызовы и обрабатывала их посылкой сообщений серверам HURD.

    В конце концов, Аликс и я разошлись, она сменила имя; в то же время дизайн HURD также изменился и C-библиотека смогла посылать сообщения непосредственно серверам, так что компонент Alix исчез.

    Но до того, как это случилось, ее друг набрел на имя Alix в исходных текстах HURD и сообщил ей об этом. Так что имя свою роль все же сыграло.

    Linux и GNU/Linux

    GNU Hurd еще не готов для реального использования. К счастью, доступно другое ядро. В 1991 г. Линус Торвальдс (Linus Torvalds) разработал Unix-совместимое ядро, которое назвал Linux. В течение 1992 г. ядро Linux было объединено с незавершенной системой GNU в полноценную ОС. (Конечно, такое объединение само по себе было сложной работой.) Именно благодаря Linux мы можем работать с версией системы GNU уже сегодня.

    Мы назваем такую версию GNU/Linux, выражая тем самым, что она скомбинирована из системы GNU и Linux в качестве ядра.

    Угрозы нашему будущему

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

    Эти угрозы обсуждаются ниже.

    Засекречивание оборудования

    Производители аппаратного обеспечения все активнее пытаются сохранить в тайне его спецификации. Это затрудняет разработку свободных драйверов, чтобы Linux и XFree86 могли работать с новым ``железом''. Сегодня мы располагаем полноценной свободной системой, но не будем иметь ее завтра, если не сможем поддерживать компьютеры, которые у нас будут.

    Есть два пути решить эту проблему. Программисты могут делать реконструкцию (reverse engineering) устройств, чтобы понять, как с ними работать. Все остальные в состоянии выбирать только те устройства, которые поддерживаются свободным ПО. С ростом нашего сообщества засекречивание спецификаций обернется против его инициаторов.

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

    Несвободные библиотеки

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

    Первым примером этой проблемы, проявившимся еще в 1980-е годы, был Motif. Хотя в те времена не было свободных ОС, было ясно что Motif создаст множество проблем позднее. Проект GNU ответил двумя путями: призывал разработчиков использовать в своих проектах альтернативные свободные библиотеки X widgets наряду с Motif, и обратился к желающим создать свободный заменитель Motif. Работа потребовала многих лет: LessTif, разработанный Hungry Programmers, приобрел возможности, достаточные для большинства Motif-приложений, лишь в 1997 г.

    Между 1996 и 1998 гг. другая несвободная библиотека компонент пользовательского интерфейса, называемая Qt, была использована в значительной коллекции свободных программ, оболочке KDE.

    Свободные системы GNU/Linux не могли применять KDE, поскольку не были в состоянии использовать библиотеку. В то же время, некоторые коммерческие дистрибьюторы GNU/Linux, которые не ограничивались исключительно свободным ПО, включали KDE в свои дистрибутивы, получая систему с большими возможностями, но с меньшей свободой. Группа разработчиков KDE активно поощряла все большее количество программистов использовать Qt, и миллионы новых ``пользователей Linux'' даже и не подозревали о проблеме, скрытой здесь. Ситуация была зловещей.

    Ответом общества свободного ПО были GNOME и Harmony.

    GNOME (Модель Сетевой Объектной Среды GNU, GNU Network Object Model Environment) является проектом создания GNU-десктопа. Начатый в 1997 Мигелем де Иказа (Miguel de Icaza) и разрабатываемый при поддержке Red Hat Software, GNOME будет поддерживать схожие со своими аналогами возможности, но исключительно при помощи свободного ПО. У него есть и технические преимущества, такие, как поддержка широкого спектра языков, не только C++. Но главной целью была свобода -- исключение зависимости от несвободных программ.

    Harmony -- это библиотека, предназначенная для работы с программами KDE не используя Qt.

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

    [Дополнение: в сентябре 2000 года библиотека Qt начала распространяться на условиях GNU GPL, вследствие чего проблема была решена.]

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

    Программные патенты

    Серьезнейшей угрозой для нас являются патенты, которые лишают разработчиков свободного ПО права использовать алгоритмы и возможности на срок до 20 лет. Патенты на алгоритм сжатия LZW были выданы в 1983, и мы по-прежнему не можем выпустить свободное ПО, генерирующее правильные файлы формата GIF. В 1998 свободная программа сжатия аудиозаписей методом MP3 была исключена из дистрибутива под угрозой патентного иска.

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

    Те из нас, кто ценит в свободном ПО его свободу, останется с нами в любом случае. Мы сделаем нашу работу, не используя патентованных возможностей. Но те, кто ценит свободное ПО за его техническое превосходство, вероятно, сочтут катастрофой ситуацию, когда патент лишит нас возможности конкурировать на равных. Поэтому недостаточно говорить о практической неэффективности ``соборной'' (``cathedral'') модели разработки программ, о надежности и богатых возможностях конкретных свободных программ. Мы также должны говорить о свободах и принципах.

    Свободная документация

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

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

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

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

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

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

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

    Мы должны пропагандировать свободу

    Сегодня количество пользователей систем GNU/Linux, таких, как Debian GNU/Linux или Red Hat Linux, оценивается в десять миллионов. Свободное ПО приобрело такие полезные свойства, что пользователи переходят на него даже из чисто практических соображений.

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

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

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

    ``Открытые исходные тексты''

    Обучать свободе новых пользователей стало еще труднее, когда в 1998 часть нашего сообщества решила не использовать более термин ``свободное ПО'' (``free software''), а вместо него предложила понятие ``ПО с открытыми исходными текстами'' (``open source software'').

    Некоторые из сторонников нового термина намеревалась устранить путаницу ``свободного'' (``free'') с ``бесплатным'' (``gratis'') -- хорошая цель. Другие, в то же время, собирались отправить за борт дух нашего сообщества и те принципы, которые служат мотивацией для движения за свободу ПО и проекта GNU, а вместо них ориентироваться на руководителей компаний и предпринимателей, многие из которых ставят прибыль превыше свободы, превыше интересов общества, превыше моральных принципов. Поэтому ораторские способности сторонников ``открытых исходных текстов'' направлены на перспективы создания высококачественных и мощных программ, но не на идеи свободы и сотрудничества.

    Журналы, посвященные Linux служат ярким примером -- они переполнены рекламой собственнических программ, работающих под GNU/Linux. Когда появится очередной Motif или Qt, будут ли эти журналы предостерегать программистов от их использования, или будут рекламировать их?

    Для поддержки бизнеса, которая может принести пользу нашему обществу, существует множество способов; при прочих равных, все они полезны. Но завоевание привязанности предпринимателей путем замалчивания свободы и наших принципов может быть разрушительным: дисбаланс между ростом сообщества и уровнем сознательности в нем еще более ухудшится.

    Термины ``свободное ПО'' и ``ПО с открытыми исходными текстами'' описывают, более или менее, одну и ту же категорию ПО, но различаются в том, что именно говорится о программах и о моральных ценностях. Проект GNU продолжает использование понятия ``свободное ПО'', выражая тем самым, что важна идея свободы, а не просто технологии.

    Пытайтесь!

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

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

    Сегодня зачастую я не один. С облегчением и радостью вижу я полки хакеров, закрепляющиеся на рубеже обороны, и чувствую, что угроза миновала -- сегодня. Но опасность растет с каждым годом, и сегодня Micro$oft явно выбрала мишенью наше сообщество. Мы не вправе полагать будущее свободы как данность. Не воспринимайте ее как данность! Если вы хотите сохранить свою свободу, будьте готовы защитить ее.

    --

    Впервые опубликовано в книге ``Open Sources'', O'Reilly, 1999. Переводчик искренне благодарит Марию Суханову и сотрудника бюро переводов Lingo (пожелавшего остаться неизвестным) за конструктивное обсуждение и советы.

    Вопросы о деятельности FSF и проекте GNU направляйте по адресу gnu@gnu.org, либо свяжитесь с FSF иным способом.

    Эта страница НЕ поддерживается FSF, который не несет никакой ответственности за ее содержание и/или оформление.

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

    Copyright (C) 1998, 2001 Richard Stallman.

    (C) 2000, 2001 Перевод на русский язык: Сергей Короп <svk@lib.ru>.

    Разрешается копирование и распространение этой статьи любым способом без внесения изменений, при условии, что это разрешение сохраняется.

    Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

    Перевод выполнен по версии статьи от 24 октября 2001.


    Subsections



    Категории свободных и несвободных программ

    Здесь приведен глоссарий различных категорий программного обеспечения, часто используемых в обсуждении темы свободного ПО. Он разъясняет, в чем эти категории пересекаются либо включены в состав друг друга.

    Свободное ПО (Free software)

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

    На нашем сайте имеется список переводов термина ``свободное программное обеспечение'' на различные языки.

    Если программа свободна, то в перспективе она может быть включена в состав свободной операционной системы, такой как GNU, или в состав свободных версий GNU/Linux.

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

    Свобода программного обеспечения означает свободу работы с ним, а не цену {В английском языке слово ``free'' означает одновременно ``свободный'' и ``бесплатный''. - Здесь и далее - примечания переводчика. . Но разработчики коммерческих программ иногда используют термин ``свободная программа'', подразумевая цену. В одних случаях это значит, что вы можете получить копию бинарников бесплатно; в других -- что копия предустановлена на компьютер, который вы покупаете. И то, и другое не имеет ничего общего с нашим пониманием свободных программ в проекте GNU.

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

    Во многих языках различаются понятия ``свободный'' и ``бесплатный''. Например, по-французски это ``libre'' и ``gratuit''. В английском имеется слово ``gratis'', которое недвусмысленно обозначает цену, но нет общепринятого прилагательного, однозначно подразумевающего свободу. Это очень грустно, поскольку такое слово было бы полезно.

    Свободные программы зачастую более надежны, чем несвободные.

    ПО с открытыми исходными текстами (Open Source software)

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

    ПО общественной собственности (Public domain software)

    ``ПО общественной собственности'' -- это программные продукты, авторскими правами на которые никто не обладает. Это частный случай свободного ПО, не подчиняющегося ``авторскому леву'', означающий, что некоторые копии либо модификации могут быть вообще несвободными.

    Иногда понятие ``общественная собственность'' используется в вольном толковании, вместо ``свободный'' либо ``доступный даром''. В то же время, ``общественная собственность'' -- это правовой термин, который означает, строго говоря, ``не являющийся объектом авторского права'' (not copyrighted). Для точности мы рекомендуем использовать понятие ``общественная собственность'' исключительно в этом смысле и применять другие термины, чтобы выразить другие идеи.

    ПО, подчиняющееся ``авторскому леву'' (Copylefted software)

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

    Мы применяем ``авторское лево'' к большей части программ, написанных в рамках Проекта GNU, поскольку наша цель -- дать каждому пользователю свободу, которую подразумевает понятие ``свободное программное обеспечение.'' Доступно более подробное пояснение, как работает принцип ``авторского лева'' и почему мы используем его.

    ``Авторское лево'' является общей концепцией, чтобы практически объявить программу объектом ``авторского лева'', требуется сопроводить ее конкретным набором условий распространения. Существует множество способов их сформулировать.

    Свободное ПО, не подчиняющееся ``авторскому леву'' (Non-copylefted free software)

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

    Если программа является свободной, но не подчиняется ``авторскому леву'', то некоторые копии либо модификации могут вообще потерять свободу. Компьютерные компании могут скомпилировать эту программу (как измененную, так и оригинал) и распространять исполнимые файлы как собственнический программный продукт.

    X Window System служит удачным примером. X Consortium выпускает X11 на условиях, которые делают ее свободной программой, не подчиняющейся ``авторскому леву''. Если вы того пожелаете, вы сможете получить копию на этих условиях, которая будет свободной. В то же время существуют несвободные ее версии для популярных рабочих станций и графических адаптеров PC, на которых работают исключительно эти версии. Если вы пользуетесь такой аппаратурой, X11 для вас не будет свободным ПО.

    ПО, подчиняющееся GPL (GPL-covered software)

    GNU GPL (General Public License, Общественная Публичная Лицензия) (20kB) предлагает один из конкретных наборов условий распространения программы, который подчиняет ее ``авторскому леву''. Проект GNU использует ее для большинства своих программ.

    Система GNU (The GNU system)

    Система GNU представляет собой завершенную свободную Unix-подобную операционную систему.

    Unix-подобная операционная система включает в себя множество программ. Система GNU включает все программные средства GNU, а также и множество других пакетов, таких как X Window System и TEX, которые разработаны не в рамках проекта GNU.

    Мы разрабатываем и собираем компоненты системы GNU с 1984 года, первый тестовый выпуск ``полной системы GNU'' состоялся в 1996 году. Сегодня, в 2001-м, система достаточно надежна и разработчики заняты адаптацией GNOME и ppp. В то же время разновидность системы GNU, в которой используется ядро Linux, известная как GNU/Linux, добилась большого успеха.

    Поскольку целью системы является свобода, каждый ее компонент должен в свою очередь быть свободным. В то же время, не требуется, чтобы все они подчинялись ``авторскому леву''; любая разновидность свободного ПО может быть использована в нашей системе на законных основаниях, если подходит технически. Мы можем воспользоваться и пользуемся такими свободными программами, не подчиняющимися ``авторскому леву'', как X Window System.

    Программы GNU (GNU programs)

    Термин ``программы GNU'' совпадает с ``Программным обеспечением GNU``. Программа Foo является программой GNU, если она входит в программное обеспечение GNU.

    Программное обеспечение GNU (GNU software)

    Программное обеспечение GNU -- такое, что выпускается под покровительством Проекта GNU. Большая его часть подчиняется ``авторскому леву'', но не все; тем не менее, каждая программа проекта GNU должна быть свободной.

    Если программа является частью программного обеспечения GNU, мы также говорим, что эта программа есть программа GNU.

    Некоторые программы проекта GNU написаны сотрудниками Фонда Свободного ПО, но большая их часть пожертвована добровольцами. Правами на некоторые из пожертвованных программ обладает Фонд Свободного ПО, права же на другие принадлежат их авторам.

    Полусвободное ПО (Semi-free software)

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

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

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

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

    Мы бы не хотели, чтобы произошло следующее:

    • Мы считаем, что свободные программы должны быть доступны всем, включая предприятия, а не только школы и любителей. Наше желание -- вовлечь предпринимателей в использование всей системы GNU целиком, а поэтому недопустимо включать в ее состав полусвободные программы.
    • Коммерческое распространение свободных операционных систем, включая GNU/Linux, очень важно, и пользователи высоко ценят удобство коммерческих дистрибутивов на CD-ROM. Добавление полусвободных программ в состав операционной системы может исключить ее дальнейшее распространение на коммерческой основе.

    Фонд Свободного ПО сам по себе некоммерческий, поэтому с правовой точки зрения мы вольны использовать полусвободное ПО ``для внутреннего употребления''. Но мы не желаем делать этого, поскольку можем тем самым воспрепятствовать нашим усилиям в приобретении программ, которые мы сможем также включить в состав GNU.

    Если существует задача, которая требует программы, то пока у нас не появится свободная программа, система GNU будет иметь прореху. Нам придется сказать желающим: ``Мы не имеем программы, решающей такую-то задачу, в составе системы GNU, и поэтому мы надеемся. что вы ее напишете.'' Если же мы сами воспользуемся полусвободным ПО, это может лишить нас (и тех, кто к нам прислушивается) стимула создать свободный заменитель. Вот почему мы так не поступаем.

    Собственническое ПО (Proprietary software)

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

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

    Например, мы допускали установку Unix на наши компьютеры в 1980-е годы, поскольку мы использовали его для написания свободного заменителя Unix. Сегодня, поскольку доступны свободные операционные системы, такое оправдание более недействительно; мы удалили все копии несвободных ОС, и каждый новый компьютер, который у нас появляется, должен использовать полностью свободную операционную систему.

    Мы не настаиваем, чтобы пользователи либо сторонние участники проекта GNU, обязательно придерживались этого правила. Мы придумали его для себя. Тем не менее, мы надеемся, что вы последуете за нами.

    Freeware

    Термин ``freeware'' не имеет точного определения, но применяется широко к программным пакетам, которые позволено распространять, но не модифицировать (при этом исходные тексты недоступны). Такие пакеты не являются свободными, поэтому не стоит применять термин ``freeware'' для обозначения свободных программ.

    Условно-бесплатное ПО (Shareware)

    Условно-бесплатное ПО выпускается с разрешением дальнейшего распространения копий, но каждый, кто его использует, обязан заплатить за лицензирование.

    Условно-бесплатное ПО не является ни свободным, ни даже полусвободным. Тому есть две причины:

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

    Коммерческое ПО (Commercial Software)

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

    Например, GNU Ada всегда распространяется на условиях GNU GPL, и каждая копия свободна, но разработчики этой системы продают услуги сопровождения. Когда их торговые представители общаются с потенциальными покупателями, иногда последние говорят: ``Мы бы чувствовали себя в большей безопасности с коммерческим компилятором.'' На это продавцы отвечают: ``GNU Ada -- коммерческий компилятор; так получилось, что он является в то же время свободной программой.''

    Для Проекта GNU акценты смещаются: более важно то, что GNU Ada является свободной программой, а то, что она коммерческая, не критично. В то же время, дополнительное развитие GNU Ada, причина которого кроется в коммерческом статусе проекта, определенно полезно.

    Мы надеемся на вашу помощь в распространении информации о том, что возможно коммерческое свободное ПО. Вы можете помочь нам, если постараетесь не говорить ``коммерческий'', где подразумеваете ``собственнический.''

    --

    Вопросы о деятельности FSF и проекте GNU направляйте по адресу gnu@gnu.org, либо свяжитесь с FSF иным способом.

    Этот текст НЕ поддерживается FSF, который не несет никакой ответственности за ее содержание и/или оформление.

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

    Copyright (C) 1998, 2001 Free Software Foundation, Inc., 59 Temple Place -- Suite 330, Boston, MA 02111, USA

    (C) 2000, 2001 Перевод на русский язык: Сергей Короп <svk@lib.ru>.

    Разрешается копирование и распространение этой статьи любым способом без внесения изменений, при условии, что это разрешение сохраняется.

    Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

    Перевод выполнен по версии статьи от 19 сентября 2001.


    Часть III.
    Сведения о Рабочей встрече ``Свободное программное обеспечение. Бизнес-модели и корпоративные инициативы''


    Subsections


    Сведения о Рабочей встрече ``Свободное программное обеспечение. Бизнес-модели и корпоративные инициативы''

    Организаторы:

    Государственный университет "Высшая школа экономики", Издательский дом "компьютерра"

    Спонсоры:

    IBM (www.ibm.ru), SUN MICROSYSTEMS (www.sun.ru)

    Время:

    28 ноября 2001 г., 09:00-20:00

    Место:

    ГУ ВШЭ (г. Москва, Мясницкая, 20), зал заседаний ученого совета

    Председатель Оргкомитета

    • Ярослав кузьминов / ГУ "Высшая школа экономики"

    Члены Оргкомитета

    • Михаил брауде-золотарев / ИД "Компьютерра"
    • Вера гурова / Sun Microsystems
    • Борис колотилин / НПФ "ПромТехн"
    • Игорь ларин / IBM
    • Александр олейников / РГ "Открытые системы" РАН
    • Андрей яковлев / ГУ "Высшая школа экономики"

    Ответственные

    • Максим отставнов (программа)
    • Константин преображенский (логистика)

    Программная группа при Оргкомитете

    Александр Аверьянов, Татьяна Демьянкова, Евгений Журавлев, Ирина Маховая, Алексей Новодворский, Петр Новодворский, Алексей Смирнов, Сергей Смирнов, Юлия Тихонравова, Алексей Тутубалин, Елена Тяпкина, Вартан Хачатуров, Максим Цыпляев, Solar Designer и другие

    Особые услуги

    Юрий Зотов, Сергей Короп

    Программа Встречи

    9:00 Регистрация участников встречи

    10:00 Открытие встречи

    10:15 Корпоративные инициативы. Панельные доклады.

    Ведущий: Максим Отставнов

    • Linux-инициатива корпорации IBM / Алексей Перевозчиков ( Краткие тезисы см. с. [*]. С докладом выступала Наталья Железных (IBM).) (IBM)
    • Sun Microsystems и мир свободного ПО / Павел Анни ( Краткие тезисы см. с. [*].) (Sun Microsystems)

    [Перерыв на кофе]

    12:15 Организационные и деловые модели. ``Круглый стол''.

    Ведущий: Алексей Перевозчиков

    • Apache и Русский Apache. Анализ успеха проектов / Алексей Тутубалин (Развернутые тезисы см. с. [*] настоящего издания.) (``Ашманов и Партнеры'')
    • Что значит свобода софта для бизнеса / Алексей Смирнов
      (Развернутые тезисы см. с. [*] настоящего издания.) (ALT Linux Team)
    • ReiserFS: Snowballing Success / Hans Reiser (Тезисы пока не представлены.) (По организационным причинам выступление Райзера и выступление Новодворского и Хачатурова поменялись местами.)
    • Debian. Конституционная анархия / Петр Новодворский, Вартан Хачатуров (Развернутые тезисы см. с. [*] настоящего издания.) (Проект Debian)
    • PlayStation2 + Linux = открытая компьютерная платформа / Вадим Вещезеров, Сергей Макаренков (Тезисы см. с. [*] настоящего издания.) (Руникс Онлайн)

    [14:00 Обед]

    15:00 Использование свободного ПО. Панельные доклады.

    Ведущая: Вера Гурова

    • Роль открытости ПО в обеспечении информационной безопасности / Борис Колотилин (Тезисы пока не представлены. (НПФ ``Промтехн''))
    • План миграции на свободное программное обеспечение в РСК МиГ / Илья Сафонов (Тезисы пока не представлены.) (РСК ``МиГ'')
    • Свободная платформа для образования / Евгений Роганов (Развернутые тезисы см. с. [*] настоящего издания.) (МГИУ)
    • TEX в России: история, состояние, перспективы / Ирина Маховая (Тезисы см. с. [*] настоящего издания.) (Издательство ``Мир'' {По ошибке в отпечатанной заранее программе мероприятия Маховая была заявлена докладчицей от несуществующее ныне CyrTUG. Приносим искренние извинения г-же Маховой и изд-ву ``Мир'' за мизатрибуцию.} )
    • Свободный софт: программа для государства {Тезисы см. с. [*] настоящего издания.} / Александр Евтюшкин (МТП {В отпечатанной заранее программе мероприятия аббревиатура Международной торговой палаты была приведена неправильно. Приносим искренние извинения г-ну Евтюшкину и МТП за недоразумение.} )

    [Перерыв на кофе]


    17:00 Проблемы и перспективы свободного ПО в России. ``Круглый стол''.

    Ведущий: Андрей Яковлев

    • Правовая охрана свободного софта / Елена Тяпкина {Тезисы см. с. [*] настоящего издания.} (Проект перевода GNU.org)
    • Состояние и перспективы стандартизации ПО в России / Валерий Васютович (РосНИИстандарт) {Доклад Васютовича не состоялся, за что докладчик приносит извинения аудитории. Содержание доклада было частично представлено в докладе Журавлева и Олейникова.}
    • Свободный софт и стандартизация / Евгений Журавлёв, Александр Олейников {Тезисы пока не представлены.} (РАН)
    • Экономика свободного софта / Константин Сонин {Тезисы пока не представлены.} (РЭШ), Мария Юдкевич (ВШЭ)

    18:45 Закрытие встречи

    19:00 Свободное ПО: проблемы информированности и освещения. Встреча с прессой.

    Ведущий: Михаил Брауде-Золотарев


    Федеральная целевая программа "Электронная Россия"

    Рабочая встреча "Свободное программное обеспечение"


    Организаторы: ГУ Высшая школа экономики и Издательский дом "Компьютерра"

    Спонсоры: IBM и Sun Microsystems

    Место и время: Москва, ВШЭ (Мясницкая, 20), 28.11.01

    next up previous
    Up: свободное программное обеспечение в
    Previous: Сведения о Рабочей встрече

    About this document ...

    С25 Свободное программное обеспечение в России и мире: Материалы рабочей встречи. - М.: ГУ-ВШЭ, 2001

    Настоящая книга воспроизводит сборник и буклет, подготовленные к Рабочей встрече ``Свободное программное обеспечение. Бизнес-модели и корпоративные инициативы'' (Москва, 28 ноября 2001 г.), в который включены тезисы участников Встречи, отражающие различные точки зрения на технический, экономический и юридические аспекты становления института свободного программного обеспечения в стране и в мире, а также статьи, представляющие позицию Фонда свободного программного обеспечения (FSF).

    Книга дополнена тезисами, поступившими после публикации сборника и тиражирования буклета.

    Для специалистов в областях экономики информационных технологий, информационного права и информационной безопасности.

    (C) ГУ ВШЭ, 2001

    (C) Максим Отставнов, 2001, составление

    Все права соблюдены



    This document was generated using the LaTeX2HTML translator Version 99.2beta8 (1.42)

    Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
    Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

    The command line arguments were:
    latex2html -split 4 -iso_language RU.RU -nonumbered_footnotes -noaddress FSR-theses7.tex

    The translation was initiated by on 2001-12-01


  • Leave a Reply