Программы для ЭВМ с открытыми исходным текстом
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Программы для ЭВМ
с открытыми исходным текстом
тема 4
Доротенко Денис
для МГУ, дисциплина «Правовая охрана
программ для ЭВМ и баз данных», 2021
Содержание
1. Программы для ЭВМ с открытым исходным текстом (open source software): понятие,
примеры, особенности.
2. Лицензирование open source software (OSS) на условиях открытых лицензий.
3. Внутренние и внешние сценарии использования OSS. Правовой аудит перед раскрытием
исходных текстов ПО в общий доступ. Соглашения с контрибьюторами (CLA).
4. Корпоративные политики использования открытых исходных текстов программ для ЭВМ.
5. Выводы, вопросы, задания, литература.
(с) Доротенко Денис, 2021
Программы для ЭВМ с открытым исходным
текстом (open source software)
понятие, примеры, особенности
(с) Доротенко Денис, 2021
Открытое ПО и бесплатное ПО
Это не одно и то же. Следует разделять понятия «открытого программного обеспечения» (open source software),
«бесплатного программного обеспечения» (freeware) и «свободного программного обеспечения» (free software).
o Открытое программное обеспечение — исходный код таких программ доступен для просмотра, изучения и
изменения, что позволяет пользователю принять участие в доработке самой открытой программы,
использовать
код
для
создания
новых
программ
и
исправления
в
них
ошибок.
Национальная библиотека им. Н. Э. Баумана, https://ru.bmstu.wiki/OSS_(Open-Source_Software)
o Бесплатное программное обеспечение (Freeware) – это любое программное обеспечение, защищенное
авторским правом, которое можно свободно загружать, устанавливать, использовать и распространять.
Такие программы доступны для использования бесплатно для обычных конечных пользователей.
o Freeware отличается от свободного программного обеспечения (free software), т.к. последнее позволяет
пользователю изменять исходный код для переиздания или интеграции с другим программным
обеспечением.
Technopedia, https://www.techopedia.com/definition/4281/freeware
(с) Доротенко Денис, 2021
Примеры деловых фактов об open source
o
Общая выручка Red Hat Inc., ведущего мирового поставщика программных решений с открытым
исходным кодом, за полный финансовый 2018 год составила 2,9 миллиарда долларов.
o
F5 Networks приобрела компанию NGINX в 2019 году за 670 миллионов долларов.
o
Запрос “MongoDB меняет лицензию” – более 7 миллионов результатов поиска.
o
SCO Group, Inc. против IBM Corp.: судебное дело в 2003 году в США о сумме предполагаемого
ущерба в размере 5 миллиардов долларов за якобы "девальвацию" версии операционной
системы UNIX истца.
o
В Германии в 2013 году генеральный директор Appwork был привлечен к личной
ответственности за "незаконный" открытый исходный код, предоставленный анонимным
программистом.
(с) Доротенко Денис, 2021
Примеры open source
Пример репозитория открытого ПО
Примеры популярного открытого ПО
o
https://ru.reactjs.org/
o
https://clickhouse.tech/
o
https://www.tensorflow.org/
o
https://github.com/mozilla/pdf.js
o
https://github.com/twbs/bootstrap
o
https://github.com/sindresorhus/awesome
(с) Доротенко Денис, 2021
Правовые проблемы и риски с open source
Нет корпоративной
политики по работе с
open source
Множество лицензий
с разными условиями
Нет процедуры
по раскрытию исходного
кода в общий доступ
CLA и управление
контрибьютами
(с) Доротенко Денис, 2021
Лицензирование open source software (OSS)
на условиях открытых лицензий
(с) Доротенко Денис, 2021
Примеры лицензий для open source
Лицензия MIT
Лицензия 3-BSD
https://github.com/facebook/flow/blob/master/LICENSE
https://github.com/yandex/odyssey/blob/master/LICENSE
MIT License
Copyright (C) 2018 YANDEX LLC
Copyright (c) 2013-present, Facebook, Inc.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
following conditions are met:
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including without
limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to
whom the Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or
promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
(с) Доротенко Денис, 2021
Примеры лицензий для open source
(с) Доротенко Денис, 2021
Внутренние и внешние
сценарии использования OSS
правовой аудит перед раскрытием исходных текстов ПО
в общий доступ; соглашения с контрибьюторами (CLA)
(с) Доротенко Денис, 2021
Сценарии использования open source
Внутренние
Когда необходимо использовать стороннее ПО с открытым исходным кодом для
внутренних целей: использовать как средство разработки (Emacs и др.), использовать код
библиотек / компонентов для интеграции в ваш софт (React, OpenSSL и др.) и т.д.
Внешние
Когда вы раскрываете программный код в общий доступ: обязаны это сделать по условиям
лицензии (GNU GPL) или преследуя свои деловые цели – в виде раскрытия кода своего
софта (CatBoost) или контрибьютов (патчей, доработок) в состав чужого.
Гибридные
Когда на условиях лицензии / CLA вы принимаете в свой собственный open source
сторонние контрибьюты для внедрения в него же.
(с) Доротенко Денис, 2021
Правовой аудит кода перед его раскрытием
Детали по этому вопросу можно найти в другой моей презентации:
https://ossalsjp18.sched.com/event/EaY1/legal-audit-before-source-code-disclosure-denis-dorotenko-yandex
(с) Доротенко Денис, 2021
Соглашения с контрибьюторами
Не все открытые лицензии (например, MIT) регулируют отношения сторон по поводу
принятия контрибьютов (патчей, доработок) и встраивания их в код / сопроводительные
материалы open source программы, для которой они предназначены.
Возможные правовые риски
Если нет письменного согласия от автора / правообладателя контрибьютов
(контрибьютора) об условиях использования таковых в составе ПО, для которой они
предоставляются, то с момента их использования в составе такого ПО возникает риск
использования РИД без наличия согласия правообладателя (т.е. риск нарушения
интеллектуальных прав третьих лиц, в том числе патентных).
(с) Доротенко Денис, 2021
Соглашения с контрибьюторами
Способы устранения таких правовых рисков
1.
Если вы планируете для своей open source программы использовать сторонние
контрибьюты, то можете использовать для нее открытую лицензию, условия которой уже
регулируют этот вопрос.
Пример – Apace License 2.0, п. 5 https://www.apache.org/licenses/LICENSE-2.0.txt
2.
Заключать с каждым таким контрибьютором отдельное соглашение (CLA), в котором будут
предусмотрены положения о лицензировании / отчуждении прав вам как правообладателю
ПО, для включения в состав которой эти контрибьюты предоставляются.
Пример – CatBoost https://github.com/catboost/catboost/blob/master/CONTRIBUTING.md
(с) Доротенко Денис, 2021
¿? Чем DCO (developer certificate of origin) отличается от
CLA?
(с) Доротенко Денис, 2021
Корпоративные политики
использования открытых исходных текстов
программ для ЭВМ
(с) Доротенко Денис, 2021
Назначение корпоративной политики
Дает сотрудникам понимание, что разрешено и запрещено в работе с open source.
Принципы хорошей политики от Linux Foundation:
https://www.linuxfoundation.org/resources/open-source-guides/using-open-source-code
o Разработчики должны получить одобрение до интеграции любого open source кода в продукт.
o Стороннее ПО должно быть проверено на наличие любого open source кода, что позволит обеспечить
соблюдение условий лицензий до дистрибуции вашего ПО.
o Все ПО должно быть проверено, включая все компоненты ПО с закрытым исходным кодом.
o Продукты должны удовлетворять требованиям лицензий на open source до их получения клиентом.
o Одобрение использования open source компонента в одном продукте не является автоматическим
одобрением использования его же в любых других продуктах компании.
o Все измененные компоненты должны пройти процесс утверждения.
(с) Доротенко Денис, 2021
Плюсы наличия корпоративной политики
1. Повышает уровень знаний сотрудников о том, как работать с открытым
исходным кодом. Дает им понимание, что разрешено и запрещено в работе с
open source.
2. Сокращает время, затрачиваемое сотрудниками на рабочие дела, связанные с
открытым исходным кодом.
3. Снижает риски нарушения сотрудниками прав интеллектуальной собственности
третьих лиц.
(с) Доротенко Денис, 2021
Выводы, вопросы, задания, литература
(с) Доротенко Денис, 2021
Выводы
o Использование ПО с открытым исходным кодом может быть причиной рисков, даже серьезных.
Важно выявлять и смягчать их на ранней стадии. Больше общайтесь с вашими разработчиками.
o "Человеческий фактор" нарушения прав присутствует часто.
Используйте автоматические средства анализа и обнаружения кода для случаев дублирования / плагиата.
o Ваш программный код проверяется на наличие в нем open source.
Это позволит вам соблюсти обязательства других лицензий до публикации / дистрибуции вашего продукта.
o Если хотите раскрыть программный код, определите, действительно ли вы вправе делать это.
Определите, не будет ли при этом, например, разглашение конфиденциальной информации, стороннего кода в нарушение
условий лицензий третьих лиц, персональных данных, не утратите ли право на получение патента.
o Инструктируйте своих сотрудников и подрядчиков. Сделайте документацию.
Это действительно помогает снизить риски и сэкономить время.
(с) Доротенко Денис, 2021
Вопросы, задания, литература
доступны здесь: https://dorotenko.pro/ru/msu-course-2021
(с) Доротенко Денис, 2021
Спасибо за внимание
Доротенко Денис
руководитель направления
ООО «Старт.Ру»
@: [email protected]
In: linkedin.com/in/dorotenko
www: dorotenko.pro