Перейти к основному содержанию
Стандарт RGA (Robust Generic Attribution) предназначен для гибкого, открытого и читаемого способа определения различных метаданных, таких как лицензирование и атрибуция, для произвольного набора файлов различных типов, например звуковых эффектов или прототипов. Файл RGA содержит метаданные для всех файлов в той же директории, что и файл RGA (не включая поддиректории). Записи в файле RGA содержат определённые метаданные, такие как автор файла(ов) или описание любых внесённых изменений (в соответствии с требованиями многих лицензий Creative Commons). RGA — это YAML-файл с именем attributions.yml, содержащий произвольное количество записей, определённых ниже. Обычно при добавлении новых файлов добавляется новая запись, так как она, скорее всего, не будет содержать те же метаданные, что и существующие. Однако можно добавить файлы в существующую запись, если метаданные идентичны.

YAML

Файл RGA должен называться attributions.yml. Все значения в записях заключаются в двойные кавычки (""). YAML содержит произвольное количество записей, охватывающих все файлы в той же директории, что и файл RGA. Запись определяется следующим образом:
КлючЗначение
filesМассив имён файлов (с расширениями), к которым применяется эта запись. Порядок имён файлов произвольный. Поддерживается wildcard-глоб * (например, *.ogg обозначает все OGG-файлы в директории).
copyrightДержатель авторских прав и другая соответствующая информация. Любое раскрытие изменений для соблюдения определённых лицензий также должно быть указано в этом поле.
licenseДействительный SPDX License Identifier, применяемый ко всем файлам в записи. Если лицензия не имеет действительного SPDX-идентификатора, можно использовать Custom, но в поле copyright должна быть указана ссылка на лицензию.
sourceДействительный URL, указывающий на место, откуда можно загрузить файл. Если вы являетесь создателем работы и у вас нет альтернативного места загрузки (например, bandcamp), укажите ссылку на pull request, который добавил файл в игру. Если это производная работа, это должно быть указано в поле copyright. Если файл был лишь слегка изменён, просто укажите ссылку на оригинальный файл. Если файл был сильно изменён, укажите ссылку на изменённую версию, но также предоставьте ссылки на любые оригинальные файлы в поле copyright.

Пример YAML

- files: ["thunderdome.ogg"]
  license: "CC-BY-NC-SA-3.0"
  copyright: "-Sector11 by MashedByMachines. Converted from MP3 to OGG."
  source: "https://www.newgrounds.com/audio/listen/312622"
- files: ["endless_space.ogg"]
  license: "CC-BY-3.0"
  copyright: "Endless Space by SolusLunes. Converted from MP3 to OGG."
  source: "https://www.newgrounds.com/audio/listen/67583"

Цели дизайна

  • Редактирование RGA должно быть возможно без специальных инструментов. Это означает отсутствие бинарных метаданных.
  • Оно должно легко поддаваться сравнению (diff) на GitHub.
  • Оно не должно слишком сильно раздувать историю Git при внесении изменений (предотвращать большие перезаписи файлов).
Последнее изменение 21 июня 2026 г.