Agnigor, 2019

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСТ Р 54593-2011

Информационные технологии (ИТ)
Свободное программное обеспечение
Общие положения

Information technologies. Free software. General

УДК 681.3.06:006.354

П85

ОКС 35.080

ОКСТУ 4090

Дата введения 01.01.2012

Ключевые слова: свободное программное обеспечение, свободная лицензия, проприетарное программное обеспечение, инфраструктура разработки и использования свободного программного обеспечения.

Содержание

Предисловие

Введение

1. Область применения

2. Нормативные ссылки

3. Термины и определения

4. Общие положения

4.1. Цели, задачи, классификация и критерии свободного программного обеспечения

4.2. Инфраструктура разработки и использования свободного программного обеспечения

4.3. Сборочная среда свободного программного обеспечения

Библиография

Текст

Предисловие

1. Разработан Открытым акционерным обществом "Концерн "Сириус" (ОАО "Концерн "Сириус") совместно с Некоммерческой организацией "Фонд поддержки инновационных программ НП "РОСИСПЫТАНИЯ" (Инновационный фонд "РОСИСПЫТАНИЯ").

2. Внесен Техническим комитетом по стандартизации ТК 77 "Операционные среды и совместимость".

3. Утвержден и введен в действие Приказом Федерального агентства по техническому регулированию и метрологии от 6 декабря 2011г. №718-ст.

4. Введен впервые.

5. Переиздание. Октябрь 2018г.

Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015г.№162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru).

Введение

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

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

Примерами самых известных свободных программ являются: широко распространенный веб-сервер Apache, развивающаяся операционная система GNU/Linux, полнофункциональный офисный пакет OpenOffice.org, браузер Mozilla Firefox, операционная система FreeBSD. На свободном программном обеспечении работают поисковые системы Google и Yandex.

В ряде стран (Франция, Бразилия, Испания, Китай и др.) свободное программное обеспечение используют также на государственном уровне.

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

Свободное программное обеспечение способно решать задачи государственного масштаба.

1. Область применения

Настоящий стандарт распространяется на свободное программное обеспечение.

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

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

2. Нормативные ссылки

В настоящем стандарте использованы нормативные ссылки на следующие стандарты:

- ГОСТ 19.101 Единая система программной документации. Виды программ и программных документов;

- ГОСТ 19.105 Единая система программной документации. Общие требования к программным документам;

- ГОСТ Р ИСО/МЭК ТО 12182 Информационная технология. Классификация программных средств;

- ГОСТ Р ИСО/МЭК 12207 Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств.

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

3. Термины и определения

В настоящем стандарте применены следующие термины с соответствующими определениями:

3.1 базовый стандарт: Национальный стандарт Российской Федерации, международный стандарт, международный документ по стандартизации, используемый при определении профиля.

3.2 функциональный стандарт: Национальный стандарт Российской Федерации, международный стандарт, международный документ по стандартизации, который содержит спецификацию (формализованное описание) конкретного элемента профиля.

3.3 программное обеспечение; (ПО): Совокупность программ системы обработки информации и программных документов, необходимых для их эксплуатации.

3.4 исходный код: Компьютерная программа в текстовом виде на каком-либо языке программирования.

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

3.6 свободное программное обеспечение; (СПО): Программное обеспечение, распространяемое на условиях простой (неисключительной) лицензии [1], которые позволяют пользователю.

- использовать программу для ЭВМ в любых, не запрещенных законом целях;

- получать доступ к исходным текстам (кодам) программы как в целях изучения и адаптации, так и в целях переработки программы для ЭВМ; распространять программу (бесплатно или за плату, по своему усмотрению);

- вносить изменения в программу для ЭВМ (перерабатывать) и распространять экземпляры измененной (переработанной) программы с учетом возможных требований наследования лицензии;

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

Примечание. Примерами указанных лицензий могут быть лицензии [2] и [3].

3.7 проприетарное (закрытое) программное обеспечение: Программное обеспечение, распространяемое на условиях простой (неисключительной) или исключительной лицензии [1], ограничивающей использование программы и/или запрещающей пользователю внесение изменений в программу для ЭВМ (переработку) и/или распространение изменений (переработанной) программы.

3.8 лицензионный договор: По лицензионному договору одна сторона - обладатель исключительного права на результат интеллектуальной деятельности или на средство индивидуализации (лицензиар) предоставляет или обязуется предоставить другой стороне (лицензиату) право использования такого результата или такого средства в предусмотренных договором пределах.

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

[ [1], часть четвертая, статья 1235].

3.9 программа для ЭВМ с открытым кодом: Программное обеспечение, распространяемое на таких условиях простой (неисключительной) лицензии или исключительной лицензии, которые позволяют пользователю доступ к исходным кодам программы.

3.10 спецификация: Документ, описывающий правила (требования, характеристики, методики, форматы файлов) осуществления информационного взаимодействия, представления информации и иные сведения, необходимые для взаимодействия и/или создания средств связи, пользовательского оконечного оборудования и пользовательского интерфейса.

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

3.12 открытые стандарты и спецификации: Стандарты и спецификации, являющиеся доступными и не требующими разрешения и оплаты за их использование.

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

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

3.15 изолированная сборочная среда: Сборочная среда, которая в процессе своего функционирования не имеет доступа за пределы фиксированного подмножества пакетов репозитория.

3.16 проприетарная сборочная среда: Сборочная среда, в которой применяются неопубликованные стандарты либо стандарты, имеющие правообладателя.

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

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

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

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

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

3.22 метаданные программного пакета: Специальные сведения, описывающие данный программный пакет и отношение между ним и другими программными пакетами.

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

4. Общие положения

4.1. Цели, задачи, классификация и критерии свободного программного обеспечения

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

4.1.2 СПО позволяет решать следующие задачи:

- обеспечение импортозамещения проприетарных компонентов информационных систем, снижение зависимости от монополистов;

- стимулирование развития отечественной отрасли разработки программ для ЭВМ;

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

- обеспечение высокого уровня технологической независимости;

- уменьшение числа нарушений, связанных с правовой защитой программ для ЭВМ.

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

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

Порядок государственного заказа разработки СПО и его использования для государственных закупок см. [4].

4.1.4 Классификация СПО - по ГОСТ Р ИСО/МЭК ТО 12182.

4.1.5 СПО должно соответствовать следующим критериям (возможностям):

- пользователь может свободно использовать ее в любых, не запрещенных законом Российской Федерации целях;

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

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

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

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

4.1.7 Виды программ и программных документов СПО - по ГОСТ 19.101.

4.1.8 Общие требования к программам и программным документам СПО - по ГОСТ 19.105.

4.1.9 Процессы работы и задачи, которые используются при разработке, поставке (приобретении), эксплуатации СПО - по ГОСТ Р ИСО/МЭК 12207.

4.2. Инфраструктура разработки и использования свободного программного обеспечения

4.2.1 Инфраструктура разработки и использования СПО должна включать в себя:

- изолированную среду сборки программных пакетов (средства получения из исходного кода компьютерных программ бинарных файлов, непосредственно загружаемых в ЭВМ) и иные средства коллективной разработки;

- единое хранилище программ для ЭВМ и исходных текстов для различных аппаратных и программных платформ, в том числе готовых дистрибутивов базового программного обеспечения и типовых программных решений;

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

- инфраструктуру технической поддержки пользователей и разработчиков;

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

4.2.2 Инфраструктура разработки СПО должна обеспечить в процессе обработки программных пакетов реализацию следующих транзакционных принципов:

- неделимость, т.е. пакет не может быть установлен наполовину;

- согласованность, т.е. пакеты не могут пересекаться по файлам или конфликтовать по зависимостям;

- изоляция, т.е. возможность ставить два независимых пакета одновременно;

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

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

4.2.3 К функциям инфраструктуры СПО относят:

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

- обеспечение повторного использования решений на основе СПО, экспертизы технических заданий и результатов научно-технической деятельности;

- распространение СПО, обеспечение предложений, в том числе для государственных и муниципальных нужд, лучших программных решений СПО;

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

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

- сбор и хранение разработок СПО, в том числе созданных за счет бюджетных средств Российской Федерации, а также учет и реализацию прав на их использование;

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

4.2.4 Метаданные программного пакета должны содержать:

- собственное имя пакета (название);

- текущую версию содержимого пакета (версию);

- номер ревизии пакета (релиз);

- имя и адрес электронной почты сотрудника, создавшего пакет (упаковщик);

- зависимости;

- размер всех файлов, занятых после распаковки (размер);

- информацию о месте и времени сборки;

- описания пакета одной строкой (краткое описание);

- описание пакета из 10-20 строк (подробное описание);

- краткое текстовое описание изменений пакета от релиза к релизу (журнал изменений);

- указание типа программного обеспечения, к которому относится данный пакет (группа) (например, "системные библиотеки", "прикладные программы", "графические редакторы" и т.п.);

- указание на то, под какой лицензией распространяется содержимое пакета (лицензия);

- пакет, из которого был собран данный пакет (исходный пакет).

4.3. Сборочная среда свободного программного обеспечения

4.3.1 СПО использует принципы открытых систем, которые предполагают применение:

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

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

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

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

Библиография

[1] Гражданский кодекс Российской Федерации. Часть четвертая.

[2] GNU general public license. Version 3, 29 June 2007 (Стандартная общественная лицензия GNU. Версия 3, от 29 июня 2007г.).

[3] BSD license, New Berkley Software Distribution license (Модифицированная программная лицензия университета Беркли).

[4] Федеральный закон от 21 июля 2005г. №94-ФЗ "О размещении заказов на поставки товаров, выполнение работ, оказание услуг для государственных и муниципальных нужд"*.

___
* См.: Фед. закон от 05.04.2013 №44-ФЗ "О контрактной системе в сфере закупок товаров, работ, услуг для обеспечения государственных и муниципальных нужд".