Открытое программное обеспечение

Есть в нашем мире такие необычные и странные люди, которые делятся плодами своего труда совершенно бесплатно и бескорыстно, взамен ничего не требуя от других. Это относится и к некоторым программистам. Причем чаще всего такие разработки выходят под маркой freeware. Под freeware- программами понимают бесплатное программное обеспечение, которое распространяется без исходных кодов. Но всегда следует отличать freeware- разработки от свободного программного обеспечения — т.н. Free Software, которое распространяется с исходными кодами, ведь условия распространения и использования freeware-программ могут запрещать их копирование, обратную разработку, изменение, повторное распространение и оговариваются в лицензионном соглашении.

Правда, не всегда четко и ясно эти принципы freeware-программ оговариваются в тексте соглашения, принимаемом пользователем при установке, а иногда и вовсе без такового текста — мол, понимайте, как знаете: freeware — и все. Часто разные авторы накладывают всевозможные ограничения на свои разработки и не определяя свобод пользователя, но программы идут с тем же ярлыком freeware, что не может не вызывать путаницу. Ведь для пользователя самое главное — качество и бесплатный статус продукта. Вся эта путаница возникла потому, что слово "free" по-английски означает не только "свободное", но и "бесплатное" и нередко употребляется по отношению к бесплатному ПО, которое распространяется без взимания платы за использование, но которое недоступно для изменения сообществом, потому что его исходные тексты не опубликованы, и такое бесплатное ПО вовсе не является свободным. Бесплатными программными продуктами пользуются достаточно широко по всему миру, особенно в высокоразвитых странах Европы и Северной Америки. Один из самых интересных проектов перехода на бесплатное ПО — BundesTux. Это план перехода немецкого парламента на свободное программное обеспечение, начатый в 2001 году. С ним связывают другие идеи перехода на свободное ПО в Германии. К сожалению, из-за компьютерного пиратства бесплатное ПО в данный момент не получило широкого распространения в странах СНГ, так как при отсутствии платы (по сути, мы платим за носитель, на котором находятся пиратские версии программ) за хорошо разрекламированные лицензионные (проприетарные) программы потребитель делает выбор не в пользу бесплатного ПО.

Так вот, да будет вам известно, что категории бесплатного ПО бывают разные, и они предполагают разные степени свободы в отношении действий пользователей. Причем иногда существует значительная разница между определением свободного и открытого ПО. Открытое ПО, то есть программное обеспечение с (открытым) исходным кодом (Open Source Software) — способ разработки ПО, при котором создаваемый исходный код программ открыт, то есть общедоступен для просмотра и изменения. Это позволяет всем желающим использовать уже созданный код для своих нужд и, возможно, помочь в разработке открытой программы. Бесплатность ПО есть право пользователя, но не обязанность производителя, т.к. открытая лицензия не требует, чтобы ПО всегда предоставлялось бесплатно. Но многие из наиболее успешных проектов открытого ПО, тем не менее, свято следуют этому правилу и являются бесплатными. Подавляющее большинство открытых программ одновременно могут быть свободными, и наоборот, ибо определения открытого и свободного ПО близки, а большинство свободных лицензий соответствуют обоим понятиям. Отличие между движениями открытого и свободного ПО заключается в основном в приоритетах. Сторонники открытого ПО делают упор на эффективность открытых исходников как метода разработки. Сторонники свободного ПО исходят из того, что именно права на распространение, модификацию и изучение программ являются главным достоинством свободного ПО. Проще говоря, тут все будет зависеть от того, какой вид лицензии выберет для своей программы разработчик, и юридические тонкости этой лицензии. Отцом концепции свободного ПО является американский программист Ричард Столлмэн. Он сформулировал понятие свободного программного обеспечения, в котором отразились принципы открытой разработки программ в научном сообществе, сложившемся в американских университетах в 1970-е годы. Столлмэн явно и четко сформулировал эти принципы, они же критерии свободного ПО. Эти критерии оговаривают те права, которые автор свободной программы передает любому пользователю:

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

Только удовлетворяющая всем этим принципам программа может считаться свободной, то есть гарантированно открытой и доступной для научного сообщества. Нужно подчеркнуть, что эти принципы оговаривают только доступность программ для всеобщего использования, критики и улучшения, но никак не оговаривают связанные с распространением программ денежные отношения, в том числе не предполагают и бесплатности. Всякое программное обеспечение, пользователям которого не предоставляется права получать исходные тексты программ, изменять их и распространять далее, является несвободным — независимо от любых других условий. Открытый доступ к исходным текстам программ является ключевым признаком свободного ПО, поэтому предложенный несколько позднее Эриком Реймондом термин "Open Source Software" (ПО с открытым исходным текстом) некоторым представляется даже более удачным для обозначения феномена свободного ПО, чем изначально предложенный Столлмэном "Free Software". Преимущества свободной разработки для пользователя не следует преувеличивать. Не все свободные программы в равной степени доступны для изменения пользователям, и это совершенно не связано с лицензией на их распространение. Важный фактор здесь — объем программы: если в ней десятки тысяч строк (как, например, в OpenOffice.org), то даже квалифицированному пользователю потребуется слишком много времени, чтобы разобраться, что к чему. Рассчитывать же на то, что разработчики ответят на все замечания и предложения пользователя немедленным исправлением программы, тоже нельзя, поскольку они не несут перед пользователем никаких обязательств по качеству программы. В этом отношении пользователь патентованной программы может оказаться в лучшем положении. Очень многие свойства сообщества разработчиков и пользователей свободных программ проистекают из того, что все его участники обычно занимаются этой программой из интереса или потому, что эта программа — необходимый для них инструмент (например, для получения прибыли). Время, потраченное ими на программу, не оплачивается, поэтому нет никакой надежды, что обстоятельства не переменятся, и разработка не прекратится вовсе. Нередки случаи, когда разработка программы начинается благодаря одному автору-энтузиасту, который привлекает многих к участию в ней, а потом энтузиазм лидера гаснет, а вместе с ним затухает и разработка. К сожалению, сегодня существуют тысячи свободных программ, так никогда и не достигших версии 1.0, хотя "выгорание" лидеров и не единственная тому причина. Кроме того, программа может быть необходимой, но "неинтересной", а потому не найдется и свободных разработчиков. Место свободных программ на сегодняшнем рынке ПО очень значительно, и многие коммерческие и государственные предприятия используют свободное ПО прямо или опосредованно. Собственно, опосредованно все пользователи Internet задействуют, например, свободную программу Bind, предоставляющую службу DNS. Многие организации, особенно предоставляющие услуги через Internet, используют свободный web-сервер Apache, от работы которого непосредственно зависит их прибыль, не говоря уже о серверах на платформе Linux. Выгода использования свободного ПО очевидна: за него не приходится платить, а если приходится, то стоит оно гораздо дешевле патентованных аналогов. Главный недостаток с точки зрения коммерческого пользователя — разработчики свободных программ не несут никаких обязательств по качеству программы, кроме моральных. Поэтому сегодня большие корпорации — например, Intel или IBM — находят необходимым поддерживать проекты по разработке свободного ПО, оплачивая сотрудников, которые работают в рамках этих проектов. В одной из общественных лицензий (GNU) есть даже стандартная формулировка, закрепляющая отсутствие гарантий: "Настоящая программа поставляется на условиях "как есть". Если иное не указано в письменной форме, автор и/или иной правообладатель не принимает на себя никаких гарантийных обязательств, как явно выраженных, так и подразумеваемых, в отношении программы, в том числе подразумеваемую гарантию товарного состояния при продаже и пригодности для использования в конкретных целях, а также любые иные гарантии".

Теперь давайте перечислим основные т.н. свободные лицензии, которые используются для распространения свободного ПО в настоящее время: AROS Public License, Лицензия BSD, CDDL, Common Public License, GNU Free Documentation License, GNU General Public License, GNU Lesser General Public License, Лицензия MIT, Mozilla Public License, Open Directory License и др. Для всех свободных лицензий характерно в той или иной мере соответствие принципам копилефта. Слово копилефт (copyleft) есть не что иное как каламбур от слова копирайт (copyright). В противоположность традиционному подходу к авторскому праву, при котором ограничивается свобода копирования произведений, принцип копилефта использует законы об авторском праве для обеспечения невозможности ограничить любому человеку права использовать, изменять и распространять как само произведение, так и произведения, базирующиеся на нем. Идея копилефта в том, что каждый, кто распространяет программу как с изменениями, так и без них, не вправе ограничивать свободу ее дальнейшего распространения либо модификации. Копилефт гарантирует, что каждый пользователь свободен в своих действиях. В октябре 1985 г. Ричард Столлмэн основал некоммерческую организацию для поддержки движения свободного ПО, в особенности, проекта GNU. Данная организация была названа им "Фонд свободного программного обеспечения" (Free Software Foundation). Со времен его основания и до середины 1990-х средства Фонда использовались в первую очередь для найма разработчиков для написания свободных программ. Начиная с середины- конца 90-х свободное ПО создается многими компаниями и частными лицами, поэтому сотрудники и добровольцы Фонда работают в основном над юридическими и организационными вопросами в области свободного ПО. Текущая работа Фонда включает в себя:

. Поддержку разработки операционной системы GNU.
. Слежение за выполнением условий GNU General Public License (GPL) и других лицензий семейства GNU. Фонд разбирает около 50 случаев нарушения GPL в год и пытается заставить нарушителей соблюдать условия лицензии, по возможности не прибегая к судебным
разбирательствам. Ричард Столлмэн является основателем фонда GNU и всех лицензий, выпущенных этим фондом.
. Разработка лицензий GNU LGPL, GNU FDL и GNU AGPL версии 3.
. Организация деятельности издательства фонда, которое отвечает за публикацию недорогих книг по информатике с использованием свободно распространяемых лицензий (GNU Press).
. Проведение семинаров о юридических аспектах использования GPL, а также консультации для юристов.
. Предоставление хостинга проектам посредством своего веб-сайта Savannah.
. Проведение ежегодных награждений за успешную деятельность в сфере свободного ПО.
. Организация каталога свободного ПО (Free Software Directory), который был создан в сентябре 1999 г. Цель каталога — служить поисковой системой по свободному ПО, а также источником информации о том, была ли определенная программа проверена на соответствие критериям свободного ПО. Для этого проекта Фонд получил небольшое количество денежных средств от ЮНЕСКО. На данный момент в каталоге зарегистрировано более 5000 проектов. После прихода к власти Буша-младшего отношения между FSF и UNESCO были прерваны.

В своем интервью интернет-изданию Rackit.gartnerwebdev.com Ричард Столлмэн так прокомментировал это событие: "Сотрудничества FSF и UNESCO уже нет, т.к. Буш вынудил UNESCO прекратить поддержку свободного ПО, когда США снова вступили в UNESCO. Также Буш давно поддерживает Microsoft, и софтверному гиганту очень невыгодно развитие нашего проекта". Первоначально все пункты и свободы для Определения Free Software (Free Software Definition — FSD) были взяты Ричардом Столмэном из директивы Debian для свободного ПО, но позже были переработаны, чтобы подчеркнуть отличие Free Software от Open Source продуктов. Понятие Open Source (Open Source Definition — OSD) используется организацией Open Source Initiative для определения степени соответствия лицензии на программное обеспечение стандартам Открытого программного обеспечения (ОПО). В реальности лицензии, соответствующие OSD, соответствуют (практически всегда) и FSD. Обратное также верно. Просто новый стандарт и то, как видит будущее бесплатного ПО совершенно другой человек — основатель Open Source Initiative Эрик Реймонд. Исходные коды открытых программ выпускаются либо как общественное достояние, либо на условиях все тех же свободных лицензий. Определение понятия Open Source состоит из десяти требований, которые должна включать в себя лицензия на Открытое ПО:

1. Свободное распространение.
2. Доступные исходные тексты. Даже если ПО не поставляется с исходными текстами, эти тексты должны быть легко доступны и подаваться в легко редактируемой человеком форме.
3. Возможность модификации.
4. Даже в случае неприкосновенности авторского исходного текста производные программы и их исходные тексты должны свободно
распространяться.
5. Отсутствие дискриминации против людей и групп людей. Но некоторые страны — например, США, имеют некоторые ограничения на экспорт ПО.
6. Отсутствие дискриминации по цели применения. Свободная лицензия должна разрешать все виды деятельности включая генетические и
ядерные исследования, коммерческое применение и т.д. Про коммерческое применение говорится особо: "Мы хотим, чтобы коммерческие пользователи подключались к сообществу, а не считали себя отрезанными от него".
7. Отсутствие дополнительных соглашений.
8. Лицензия не должна быть привязана к конкретному продукту. Например, недопустима лицензия "Программу можно использовать только под Red Hat Linux".
9. Лицензия не должна ограничивать другие программные продукты. Например, нельзя требовать, чтобы остальные программы, поставляемые вместе с данной, также были открытыми.
10. Лицензия должна быть технологически нейтральной. То есть лицензия не должна требовать что-либо от интерфейса или технологий,
применяемых в производной программе.

Количество лицензий, которые соответствуют Определению понятия Open Source (открытого ПО), на данный момент насчитывается более 50. Open Source является торговой маркой организации Open Source Initiative. Существует специальный комитет, решающий, может ли лицензия носить имя Open Source. Одним из самых больших в мире веб-сайтов для разработчиков открытого ПО является всем известный портал SourceForge.net. На этом сайте разработчики могут размещать и совместно разрабатывать свои программные проекты. Ныне на SourceForge.net размещено более 100 тыс. проектов, а количество зарегистрированных пользователей превышает 1 млн.

Лысковец М.А. & Москаленко Т.В. SandLTeam@mail.ru


Компьютерная газета. Статья была опубликована в номере 08 за 2008 год в рубрике soft

©1997-2022 Компьютерная газета