Довідка для розробників
Ви читаєте неофіційний переклад оригінальної сторінки.
Ліцензування має бути простим для розробників. Ми надаємо кілька інструментів і послуг, які дозволять вам зосередитися на написанні коду.
Зміст: Допоміжний інструмент, приклади репозиторіїв, REUSE API, Робочі процеси CI/CD
Інструмент REUSE
Інструмент REUSE допомагає досягти та підтвердити відповідність вимогам REUSE. Він завантажує повні тексти ліцензій, додає інформацію про авторські права та ліцензію до заголовків файлів і містить лінтер для виявлення проблем. Зрештою, ви можете створити перелік матеріалів програмного забезпечення.
Прочитайте документацію, щоб дізнатися більше про інструмент. Ви також знайдете розділ [“Як мені…”] у наших поширених запитаннях (/uk/faq/#howto), щоб дізнатися про різні взаємодії інструментів.
Приклад репозиторіїв
Як виглядає проєкт, сумісний з REUSE? Ці репозиторії базові, але кожен з них відповідає REUSE. Ми робимо їх доступними, щоб продемонструвати, як REUSE працює на практиці.
- reuse-tutorial-example
- REUSE-сумісний репозиторій, який відповідає прикладу у посібнику. Містить несумісну гілку для тестування.
- reuse-tool – сам допоміжний інструмент сумісний, як і всі інші репозиторії REUSE.
Подумайте про реєстрацію проєкту в REUSE API, щоб додати відзнаку динамічної відповідності.
API
REUSE API допомагає вам постійно перевіряти та показувати відповідність настановам REUSE. Ви можете включити відзнаку, що вказує на поточний стан, у свій файл README і проаналізувати вихідні дані за допомогою згенерованого файлу JSON.
Ось який вигляд матиме відзнака для проєкту, сумісного з REUSE. Ви можете
натиснути на неї, щоб побачити більше відомостей:
API є ідеальним інструментом для всіх, хто хоче показати, що їхній репозиторій дотримується найкращих практик у наданні відомостей про ліцензування та авторські права. Він дозволяє стороннім службам інтегрувати поточний стан REUSE і пропонує просту альтернативу для людей, які не хочуть встановлювати REUSE tool для першої швидкої перевірки.
Як і все інше в REUSE, API загальнодоступний під ліцензіями вільного програмного забезпечення.
Pre-commit hook
Ви можете автоматично запускати reuse lint під час кожного коміту як хук
передкоміту для Git. Для цього використовується
pre-commit. Після того, як ви встановите
його, додайте .pre-commit-config.yaml до
вашого репозиторію:
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
репозиторії:
- репозиторій: https://codeberg.org/fsfe/reuse-tool
оборот: v6.2.0
Хуки:
- ідентифікатор: reuse
Потім запустіть pre-commit install. Тепер за кожного коміту reuse lint
запускається у фоновому режимі, і не дозволить вашому коміту виконатися,
якщо сталася помилка.
Включення в робочі процеси CI/CD
REUSE можна легко інтегрувати у ваші наявні процеси CI/CD, щоб постійно тестувати ваш репозиторій та його зміни на відповідність вимогам REUSE.
FSFE пропонує образ Docker, який можна використовувати в багатьох рішеннях CI. Знайдіть кілька прикладів нижче:
Трутень/Дятел CI
Включіть наступний фрагмент коду до вашого файлу .drone.yml або
.woodpecker/reuse.yaml:
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
кроки:
- ім'я: reuse
зображення: fsfe/reuse:latest
Більше інформації про Drone можна знайти на сайті docs.drone.io, а також на сайті Woodpecker CI (woodpecker-ci.org.
Дії Форджо
Включіть наступний фрагмент коду до вашого файлу
.forgejo/workflows/reuse.yaml:
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
назва: Перевірка відповідності REUSE
увімкнено: [push, pull_request]
завдання:
тест:
запуски: <тег для вашого runner>
контейнер: fse/reuse:latest
кроки:
-запуск: |
apk додати nodejs
-використання: actions/checkout@v5
-назва: Перевірка відповідності REUSE
запуск: |
reuse lint
Якщо ваш раннер не здатний запускати контейнери Docker, розгляньте наступний фрагмент коду:
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
назва: Перевірка відповідності REUSE
на: [push, pull_request]
завдання:
test:
runs-on: <a tag for your runner>
steps:
- run: |
apt-get update
apt-get install -y pipx
- використовує: actions/checkout@v5
- ім'я: Verify REUSE compliance
запуск: |
pipx run reuse lint
Більше інформації про дії Forgejo можна знайти на сайті forgejo.org.
GitHub Дії
Користувачі GitHub можуть інтегрувати дію REUSE у свій робочий
процес. Включіть цей файл як .github/workflows/reuse.yaml:
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
ім'я: REUSE compliance check
на: [push, pull_request]
jobs:
тест:
runs-on: ubuntu-latest
steps:
- використовує: actions/checkout@v5
- ім'я: REUSE Compliance Check
використовує: fsfe/reuse-action@v6
Відвідайте сторінку маркетплейсу «action», щоб отримати додаткові інструкції з використання.
Більше інформації про дії GitHub можна знайти на docs.github.com.
GitLab CI/CD
Додайте цей фрагмент у файл .gitlab-ci.yml:
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
reuse:
зображення:
ім'я: fsfe/reuse:latest
точка входу: [""]
скрипт:
- reuse lint
Більше інформації про неперервну інтеграцію GitLab можна знайти на docs.gitlab.com.
Travis CI
Додайте цей фрагмент у файл .travis.yml:
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
мова: minimal
служби:
- docker
before_install:
- docker pull fsfe/reuse:latest
- docker run -v ${TRAVIS_BUILD_DIR}:/data fsfe/reuse:latest lint
Більше інформації про Travis CI на travis-ci.com.