Blender и SPDX

Ответить
Аватара пользователя
sungreen
Сеньор
Сообщения: 290
Зарегистрирован: 27 июн 2024 08:33
Откуда: Kostroma mon amour

Blender и SPDX

Сообщение sungreen »

SPDX (Software Package Data Exchange) — это открытый стандарт для обмена информацией о лицензиях и авторских правах, связанных с программным обеспечением. Он был разработан для упрощения управления лицензиями и соблюдения требований в проектах с открытым исходным кодом.

SPDX предоставляет:
  • Стандартизированный формат для описания лицензий и информации об авторских правах.
  • Список идентификаторов лицензий (SPDX License List), который включает в себя короткие уникальные идентификаторы для распространённых лицензий (например, MIT, Apache-2.0, GPL-3.0).
  • Структуру для документирования лицензий и авторских прав в проектах.
Использование SPDX помогает разработчикам и компаниям:
  • Упростить анализ лицензионных обязательств.
  • Уменьшить риски, связанные с нарушением лицензий.
  • Упростить обмен информацией о лицензиях между проектами и организациями.
SPDX активно используется в экосистеме открытого ПО, а также поддерживается многими инструментами для анализа лицензий, такими как FOSSology, ScanCode и другие.

Добавление информации о лицензии в формате SPDX в код — это хорошая практика, которая помогает явно указать условия использования вашего программного обеспечения. Вот как это можно сделать:
1. Использование файла LICENSE
В корне вашего проекта создайте файл LICENSE, в котором укажите полный текст лицензии.

2. Добавление SPDX-идентификатора в файл
В начале каждого файла с исходным кодом добавьте комментарий с указанием SPDX-идентификатора лицензии. Например:

Код: Выделить всё

# SPDX-License-Identifier: MIT
# Copyright (c) 2025 Your Name or Organization

def hello_world():
    print("Hello, world!")
3. Использование файла README.md или NOTICE

Если вы хотите предоставить дополнительную информацию о лицензии, вы можете добавить её в файл README.md или NOTICE.

4. Использование инструментов для автоматизации

Если ваш проект большой, вы можете использовать инструменты для автоматического добавления SPDX-идентификаторов в файлы. Например: REUSE Tool (https://reuse.software/) — инструмент для добавления и проверки SPDX-информации в проектах. FOSSology — система для анализа лицензий и управления ими.

5. В файлах проекта Blender

SPDX-License-Identifier упоминается в файлах проекта Blender около 16К раз.
В основном это:
  • SPDX-License-Identifier: GPL-2.0-or-later
  • SPDX-License-Identifier: MIT
  • SPDX-License-Identifier: Apache-2.0
  • SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  • SPDX-License-Identifier: PSF-2.0 AND (MIT OR Apache-2.0)
  • SPDX-License-Identifier: BSD-3-Clause
  • SPDX-License-Identifier: BSD-3-Clause and Apache-2.0
  • SPDX-License-Identifier: BSL-1.0
  • SPDX-License-Identifier: Zlib
Таким образом, добавление SPDX-информации делает ваш проект более прозрачным и удобным для использования другими разработчиками.

5. Blender и Copyleft

Исходный код, разрабатываемый на blender.org, по умолчанию лицензируется как GNU GPL версии 2 или более поздней. Однако некоторые модули используют более разрешительные лицензии. Например, движок рендеринга Blender Cycles доступен под лицензией Apache 2.0.

Blender также использует множество модулей или библиотек из других проектов. Например, Python использует лицензию Python License; Bullet — лицензию Zlib; Libmv — лицензию MIT; а OSL — лицензию BSD.

Все компоненты, которые вместе составляют Blender, совместимы под более новой лицензией GNU GPL версии 3 или более поздней. Эта же лицензия применяется для любого распространения бинарных файлов Blender.

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