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

Открытое программное обеспечение, то есть программное обеспечение с (открытым) исходным кодом (англ. open source software) — способ разработки ПО, при котором создаваемый исходный код программ открыт, то есть общедоступен для просмотра и изменения. Это позволяет всем желающим использовать уже созданный код для своих нужд и, возможно, помочь в разработке открытой программы.
Бесплатность ПО есть право пользователя, но не обязанность производителя — «открытая» лицензия не требует, чтобы ПО всегда предоставлялось бесплатно. Многие из наиболее успешных проектов «открытого» ПО, тем не менее, бесплатны. Подавляющее большинство открытых программ является одновременно «свободными» и наоборот, ибо определения открытого и свободного ПО близки, а большинство лицензий соответствуют обоим.

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

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

Лицензии открытого ПО Исходные коды открытых программ выпускаются либо как всеобщее достояние, либо на условиях «свободных» лицензий — как, например, GNU General Public License или BSD License. Таковые, как правило, требуют, чтобы код был всегда доступен и распространялся вместе с ПО, и позволяется использовать его для своих нужд с минимальными ограничениями.
Таким ограничением может быть требование ссылаться на предыдущих создателей. В некоторых случаях (напр., Apache или FreeBSD) эти ограничения очень малы.

Linux vs. Windows: кто победит в России?

9 февраля 2007 года в 12:00 в пресс-центре информационного агентства «Росбалт» (Санкт-Петербург, Конногвардейский бульвар, 7 — дворец Кочубея) состоялся круглый стол «Linux vs. Windows: кто победит в России?».

В ходе мероприятия обсуждались следующие вопросы:
- Свободное ПО против коммерческих монополистов — каким будет выбор России в свете вступления в ВТО: диктатура производителей проприетарного ПО или миграция на продукты open-source?
- Дело пермского школьного учителя Поносова, обвиненного в компьютерном пиратстве, как яркий пример системного кризиса в российском IT-секторе и юрисдикции.
- Что делать школам и образовательным учреждениям в сложившейся критической ситуации?

В работе круглого стола приняли участие:
- Андрей Ловягин  (ЗАКС Санкт-Петербурга, профильный Комитет по вопросам общеобразовательных учреждений и учреждений начального и среднего профессионального образования), председатель Комитета;
- Виталий Кузмичев (Lynx BCC), директор по развитию;
- Леонид Сомс (Государственный Оптический Институт, Санкт-Петербургский Институт информационных технологий, механики и оптики), ведущий научный сотрудник;
- Константин Никитин (ПоликомПро), специалист по лицензированию;
- Олег Садов (ОАО Линукс Инк), технический директор;
- Павел Фролов (Линуксцентр), директор;
- Денис Игнатов (Журнал LINUX FORMAT), директор;
- Валерий Мордвинов, вице-президент Ассоциации патентоведов Санкт-Петербурга;
- Кирилл Степанов (Novell), технический директор;
- Филипп Торчинский (Sun Microsystems), консультант:
- Светлана Корнева (учебный центр Unix Education Center), директор;
- Галина Пожарина (Санкт Петербургский Колледж Управления и Коммерции),
зам. директора по информатизации;
- Алексей Мартынов (РОСТРУД) главный государственный инспектор труда в Спб

Участники круглого стола обсудили заявленный круг вопросов и пришли к консолидированному мнению. Большинство участников согласилось с тем, что вопрос о противопоставлении коммерческих программных продуктов и open-source – продуктов не стоит; все зависит от ситуации, в которой удобнее и логичнее использовать тот или иной продукт – пользователь или приобретатель должен самостоятельно определять наиболее выгодные и функционально оправданные решения. Но в случае, когда разработка программных продуктов ведется для нужд государственных структур, в том числе образовательных, предпочтительнее использование open-source-решений, так как в этом случае созданные на средства налогоплательщиков программные продукты становятся доступными обществу.
Кроме того, использование открытых программных решений благотворно влияет на наращивание российского интеллектуального потенциала, способствует созданию новых рабочих мест, способствует глобальной экономии государственных (бюджетных) средств, повышает качество образования, как в средних, так и в высших и специальных учебных заведениях.

В идеале использование open-source способно привести к смещению акцентов в народном хозяйстве России с сырьевых отраслей к развитию отрасли информационных технологий.

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

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

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

- провести ревизию установленного в организации ПО, проверить, что оно находится на балансе организации;
- в случае отсутствия лицензии на офисный пакет — приобрести OpenOffice.org 2.1. Его можно загрузить свободно в Интернете, но в покупной версии есть бумажная лицензия, которую можно предъявить контролирующим органам. Заменив пиратский Microsoft Office на OpenOffice.org, можно снизить общую сумму ущерба, нанесенного правообладателю, более чем вдвое.
Второй (по сложности реализации и первый — по лицензионной чистоте) вариант — полная миграция на Linux. Дистрибутивы можно бесплатно загрузить из Сети (подборку наиболее популярных вариантов, составляемую Линуксцентром можно найти на ftp.linuxcenter.ru) или приобрести коробочную версию необходимого дистрибутива. В комплекте с коробочным дистрибутивом идет текст лицензионного соглашения, которое подтверждает правомочность использования системы. Следует отметить, что коробочные версии в большинстве случаев допускают установку на произвольное число рабочих мест (это может не относиться к входящему в коробочный дистрибутив коммерческому ПО), при этом стоимость подобных версий, как правило, варьируется от 600 до 2000 рублей, причем в комплект входит не только ОС и офисный пакет, но и набор ПО на все случаи жизни.

Для быстрого обучения Linux-технологиям эксперты рекомендуют хорошо зарекомендовавший себя бесплатный курс «Основы работы в Linux», доступный по адресу http://www.intuit.ru/department/os/baselinuxwork/. Несмотря на то, что дистрибутивы, на основе которых рассматриваются учебные вопросы, не самых последних версий, курс содержит все сведения, которые необходимы для уверенной работы в среде Linux.

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

Видеоматериалы круглого стола Linux vs. Windows: кто победит в России?

Определение Open Source

Сергей Кузнецов (редакция перевода и дополнения)

http://www.opensource.org

1 ноября 2006 г

Исходная версия этого определения сформулирована Брюсом Перенсом (Bruce Perens) в 1997 г., и после ряда дополнений и изменений документ был опубликован на сайте http://www.opensource.org. Мы используем официальный перевод Определения с требуемыми уточнениями и дополнениями, включая разъяснения и обоснования частей определения, приводимые в оригинальном документе.

Введение

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

1. Свободное повторное распространение

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

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

2. Исходный код

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

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

3. Производные продукты

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

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

4. Сохранность авторского исходного кода

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

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

5. Отсутствие пристрастий по отношению к отдельным лицам или группам лиц

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

Логическое обоснование: Для получения максимальной пользы от процесса разработки программного обеспечения с открытыми кодами у как можно большего числа людей и групп должны иметься одинаковые права на свой вклад в open source. Поэтому мы запрещаем наличие в любой лицензии на программное обеспечение с открытыми кодами условий, не допускающих кого бы то ни было к участию в этом процессе. В некоторых странах, включая США, имеются экспортные ограничения на некоторые типы программного обеспечения. В лицензиях, соответствующих данному определению концепции открытых кодов, могут содержаться предупреждения о применимых ограничениях и напоминания об обязанности соблюдения закона; однако в них самих не должны содержаться подобные ограничения.

6. Отсутствие пристрастий к областям применения и деятельности

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

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

7. Распространение лицензии

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

Логическое обоснование: Смысл этого пункта состоит в запрете закрытия программного обеспечения косвенными способами, такими как требование соглашения о неразглашении.

8. Лицензия не должна специализироваться для каких-либо продуктов

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

Логическое обоснование: Этот пункт предотвращает еще один класс лицензионных ловушек.

9. Лицензия не должна ограничивать другое программное обеспечение

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

Логическое обоснование: Дистрибьюторы программного обеспечения с открытыми кодами имеют право собственного выбора по отношению к своему собственному программному обеспечению. Да, GPL удовлетворяет этому требованию. Программное обеспечение, скомпонованное с использованием GPL-библиотек, наследует GPL только в том случае, когда образует отдельный продукт, но это не относится к какому-либо другому программному обеспечению, вместе с которым этот продукт распространяется.

10. Лицензия должна быть нейтральной по отношению к технологии

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

Логическое обоснование: Этот пункт в особенности затрагивает лицензии, в которых требуется явные действия для установления контакта между лицензиаром и лицензиатом. Методы, в которых принятие лицензии подтверждается нажатием «согласительной» кнопки (click-wrap), могут конфликтовать с такими важными методами распространения программного обеспечения, как скачивание по FTP, антологии CD-ROM и зеркалирование Web-сайтов; такие методы могут также затруднять повторное использование кода. Лицензии, соответствующие данному определению, должны допускать возможность того, что (a) распределение программного обеспечения может производиться через каналы, отличные от Web, не поддерживающие методы click-wrap, и (b) защищенный лицензией код (или его повторно используемая часть) может выполняться в среде без графического пользовательского интерфейса, в которой невозможна поддержка диалоговых окон.