Довідка для розробників

Ви читаєте неофіційний переклад оригінальної сторінки.

Ліцензування має бути простим для розробників. Ми надаємо кілька інструментів і послуг, які дозволять вам зосередитися на написанні коду.

Зміст: Допоміжний інструмент, приклади репозиторіїв, REUSE API, Робочі процеси CI/CD

Інструмент REUSE

Інструмент REUSE допомагає досягти та підтвердити відповідність вимогам REUSE. Він завантажує повні тексти ліцензій, додає інформацію про авторські права та ліцензію до заголовків файлів і містить лінтер для виявлення проблем. Зрештою, ви можете створити перелік матеріалів програмного забезпечення.

Прочитайте документацію, щоб дізнатися більше про інструмент. Ви також знайдете розділ [“Як мені…”] у наших поширених запитаннях (/uk/faq/#howto), щоб дізнатися про різні взаємодії інструментів.

Приклад репозиторіїв

Як виглядає проєкт, сумісний з REUSE? Ці репозиторії базові, але кожен з них відповідає REUSE. Ми робимо їх доступними, щоб продемонструвати, як REUSE працює на практиці.

Подумайте про реєстрацію проєкту в REUSE API, щоб додати відзнаку динамічної відповідності.

API

REUSE API допомагає вам постійно перевіряти та показувати відповідність настановам REUSE. Ви можете включити відзнаку, що вказує на поточний стан, у свій файл README і проаналізувати вихідні дані за допомогою згенерованого файлу JSON.

Ось який вигляд матиме відзнака для проєкту, сумісного з REUSE. Ви можете натиснути на неї, щоб побачити більше відомостей:  Стан\nREUSE

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.