ПОЛИТИКА РАЗВИТИЯ ПРОЕКТА REACTOS

ReactOS Team, “REACTOS PROJECT DEVELOPMENT POLICY”, public translation into Russian from English More about this translation.

Translate into another language.

ПОЛИТИКА РАЗВИТИЯ ПРОЕКТА REACTOS

12 декабря 2004

Предисловие

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

Вопросы, касающиеся этой политики, вы можете направлять на почтовый ящик ros-general@reactos.org (основной список рассылки проекта)

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

Торговые марки "Microsoft" и "Windows" является собственностью Microsoft Corp.

I. ВВЕДЕНИЕ

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

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

A. Некоторые термины

На протяжении всего текста этого документа будут применяться следующие термины, если не указано иное:

Application Programming Interface (API): Набор функций, структур данных, констант, объектов, т.п., предоставляющих программный интерфейс для приложений. Например, операционная система компьютера имеет API, функции которого должны использоваться для взаимодействия с этой системой при написании приложений. Название "API" может относиться к отдельной функции, предоставляемой операционной системой.

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

Авторское право (Copyright): Форма определенной правительством монополии, защищающей творческое самовыражение, такое например, как письменные работы, аудио- и видеозаписи, песни, визуальное искусство, компьютерный исходный код и т.п. Авторское право защищает дословные выражения, содержащиеся в работе, а не идеи и концепции, которые воплощает в себе работа. Авторское право возникает автоматически в любой работе, которая подвергается защите авторскими правами в момент, когда она зафиксирована в материальной форме, включая написание компьютерного исходного кода и, иногда, объектного кода.

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

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

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

Свободное программное обеспечение (Свободное ПО): Программное обеспечение, лицензия которого соответствует определению свободного программного обеспечения, опубликованному Free Software Foundation (http://www.gnu.org). GNU General Public License (GPL) является популярной лицензией для свободного программного обеспечения.

Файл заголовков: Файл исходного кода, обычно написанного на C или C++, включенный ссылкой в другие файлы исходного кода. Заголовочный файл предоставляют информацию, которая описывает API, структуры данных, оперативные константы и другие характеристики программной системы. К примеру, чтобы написать программу, которая будет запускаться в конкретной операционной системе, необходимо использовать файлы заголовков, которые предоставляются разработчиками этой системы и предназначены для взаимодействия ней.

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

Несвободное программное обеспечение: Программное обеспечение не являющееся свободным. Большинство коммерческих продуктов всё ещё подпадает под эту категорию.

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

Операционная система (ОС): Специальный класс компьютерного программного обеспечения, предназначенного для организации среды, позволяющей запустить основные программы. Операционная система напрямую взаимодействует с аппаратным обеспечением компьютера, и обеспечивает стандартизированный набор служб, с которыми могут взаимодействовать программы. К ОС относятся, например, Microsoft® Windows™ XP, GNU/Linux™, and Apple® Macintosh™.

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

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

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

Software Development Kit (SDK): Программное обеспечение и документация, используемая для создания компьютерных программ, которые взаимодействуют с поставщиками этих SDK. Как правило, эти комплекты включают в себя файлы заголовков на языке C, библиотеки объектного кода, и различные формы документации по использованию комплекта, а также подробную информацию о программах, для поддержки которых предназначен комплект.

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

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

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

II. ВОПРОСЫ АВТОРСКОГО ПРАВА

Авторское право имеет отношение к ReactOS в нескольких контекстах. GNU GPL является основной лицензией, используемой в рамках проекта; она основана на общих понятиях авторского права для обеспечения соблюдения своей свободы. Почти все доступные примеры кода, документация, файлы заголовков, а также справочные материалы о Windows API имеют определённую форму авторского права.

A. Авторские права ReactOS

Проект ReactOS выпускает почти весь свой код под лицензией GNU General Public License (http://www.gnu.org). Каждый разработчик получает авторские права в разрабатываемом исходном коде, но лицензирует код под лицензией GPL для его использования в проекте ReactOS.

Некоторые части ReactOS могут иметь другие лицензии, включая GNU Lesser GPL, или могут быть переданы в общественное достояние. Обычно это делается лишь тогда, когда необходимо обеспечить совместимость с другими проектами.

B. Исключения ReactOS относительно лицензий связанных бинарных продуктов

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

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

C. Авторские права, принадлежащие другим лицам

Проект ReactOS зависим от законов об авторском праве при защите своего кода, и, одновременно, он уважает чужие авторские права.

Ниже приведены политики проекта ReactOS в отношении авторского права:

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

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

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

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

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

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

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

Добросовестное использование. Защищенные авторским правом материалы несут с собой определенные безвозвратные права на добросовестное использование. Одним из них является право на изучение защищенной авторским правом работы в образовательных целях. Именно поэтому посторонние, не защищённые соглашением о неразглашении комплекты разработчика (development kits) изучаются для того, чтобы участники проекта могли создавать совместимое программное обеспечение.

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

Дизассемблирование объектного кода рассматривается как форма обратной разработки. Листинги дизассемблированного кода имеют те же самые лицензионные ограничения, что и сам объектный код.

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

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

Кроме того, имена структур данных и компонентов должны быть идентичны для обеспечения совместимости с посторонним исходным кодом, и, следовательно, аналогичны тем, которые можно найти в SDK от Microsoft.

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

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

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

Разработчики, имевшие доступ к запатентованному исходному коду, который изначально представлял собой коммерческую тайну (включая, например, утекший исходный код Microsoft Windows), представляют собой особый случай. Вопросы авторского права, равно как и патентные вопросы, являются неизменными, однако любой разработчик, получивший код после подписания соглашения о неразглашении или иным образом, не имеет лицензии на право владения этим кодом. В ином случае присутствует явное нарушение разработчиком коммерческой тайны. Таким образом, этот код не подходит даже для изучения. Отказ в приёме помощи от разработчиков, которые имеют или используют любой такой запатентованный код в своей деятельности по разработке ReactOS является политикой проекта.

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

III. ПАТЕНТНЫЕ ВОПРОСЫ

Патенты на программное обеспечение оказывают значительное влияние на проект ReactOS. В настоящее время, патенты на программное обеспечение проекта не нарушают законодательную базу Соединенных Штатов. Как правило, патенты фундаментально несовместимы со свободным ПО и их следует тщательно избегать в рамках таких проектов.

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

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

Участники проекта добросовестно приложат все усилия для выявления наличия любых известных патентов, касающихся разработки ReactOS, и поставят в известность о них администраторов проекта. Это не означает, что проект призывает других заниматься полным патентным поиском; однако, это означает что разработчики обязаны сообщать о любых патентах, о которых им известно, и которые, по их мнению, могут иметь отношение к проекту.

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

Участники проекта соглашаются, с тем, что они не будут защищать патентами любые новые разработки, осуществленные совместно с ReactOS, либо, в качестве альтернативы, согласны передать право собственности на эти патенты Фонду ReactOS, или же предоставить постоянную, безотзывную, передаваемую без отчислений лицензию любому, кто пожелает использовать запатентованное изобретение совместно с системой ReactOS или любыми производными работами системы (иными словами, нечто вроде "patent-left").

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

IV. ВОПРОСЫ ТОРГОВЫХ МАРОК

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

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

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

V. ВОПРОСЫ КОММЕРЧЕСКОЙ ТАЙНЫ

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

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

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

VI. СОГЛАШЕНИЯ О НЕРАЗГЛАШЕНИИ

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

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

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

VII. Прочее

Использование схожих торговых и сервисных марок. Положение о неиспользовании схожих торговых и сервисных марок запрещают использование "знаменитых" марок или торговых марок, которые можно спутать с другой известной маркой. ReactOS использует только одну марку, непосредственно марку ReactOS, и не ставит никаких вопросов по использованию никаких других торговых марок.

Товарный вид. Товарным видом является стиль оформления продукта. Самыми известными примерами являются бутылка Coca-Cola и пользовательский интерфейс компьютера Apple Macintosh. Уважительное отношение к товарному виду других продуктов является политикой проекта. В настоящее время проекту не известно о каких-либо конфликтах с товарным видом других продуктов. Разработчики должны продолжать прикладывать усилия для того, чтобы у ReactOS появился свой стиль, отличный от других продуктов, что позволит избежать проблем с чужим товарным видом.

VIII. СРЕДСТВА РАЗРАБОТКИ

ReactOS требует для своей разработки несколько сторонних SDK. Каждый из них преподносит уникальные правовые вопросы. При разработке ReactOS используются следующие SDK:

Microsoft Platform SDK (в т.ч. связанные с ним SDK и SDK компонентов): Этот SDK можно найти по адресу http://www.microsoft.com/msdownload/platformsdk/sdkupdate/. Он содержит файлы заголовков, библиотеки, документацию и другие файлы поддержки, а также образцы исходного кода для программ, которые иллюстрируют использование API, определенного в SDK. Это основное средство разработки, используемое для создания стороннего ПО, работающего в операционных системах Microsoft и совместимых с ними.

Microsoft Driver Development Kit (DDK): Специальный SDK, предназначенный для разработки ПО режима ядра (включая драйверы устройств).

Microsoft Installable File system Kit (IFS): SDK специального назначения, предназначенный для разработки определенных компонентов режима ядра, известных как файловые системы. Этот комплект распространяется под ограниченной лицензией и стоит приблизительно $1000.

Original (English): REACTOS PROJECT DEVELOPMENT POLICY

Translation: © evilslon, panix.sex .

translated.by crowd

Like this translation? Share it or bookmark!