Pomoc pro vývojáře

Čtete neoficiální překlad originální stránky.

Licencování by mělo být pro vývojáře snadné. Poskytujeme několik nástrojů a služeb, které vám umožní soustředit se na kódování.

Obsah: Pomocný nástroj, Příklad repozitářů, REUSE API, CI/CD workflow

REUSE Tool

Nástroj REUSE tool pomáhá při dosahování a potvrzování souladu s nařízením REUSE. Stahuje úplné licenční texty, přidává do hlaviček souborů informace o autorských právech a licenci a obsahuje liner pro identifikaci problémů. Nakonec lze vygenerovat softwarovou soupisku.

Přečtěte si dokumentaci a zjistěte více o tomto nástroji. V “Jak mohu …” našich často kladených dotazech se dozvíte o různých interakcích nástroje.

Příklad repozitářů

Jak vypadá projekt v souladu s REUSE? Následující úložiště jsou základní, ale každé z nich je v souladu s REUSE. Dáváme je k dispozici, abychom ukázali, jak REUSE funguje v praxi.

Zvažte registraci svého projektu v rozhraní REUSE API, abyste mohli zahrnout dynamický odznak shody.

API

Rozhraní REUSE API vám pomůže průběžně kontrolovat a zobrazovat dodržování pokynů REUSE. Do souboru README můžete zahrnout odznak označující živý stav a výstup analyzovat pomocí vygenerovaného souboru JSON.

Takto bude vypadat odznak pro projekt, který je v souladu se směrnicí REUSE. Kliknutím na odznak se zobrazí další informace: REUSE\nstatus

Rozhraní API je dokonalým nástrojem pro všechny, kteří chtějí prokázat, že jejich úložiště dodržuje osvědčené postupy při poskytování informací o licencích a autorských právech. Umožňuje službám třetích stran integrovat živý stav REUSE a nabízí jednoduchou alternativu pro lidi, kteří nechtějí instalovat nástroj REUSE pro první rychlou kontrolu.

Stejně jako vše ostatní v REUSE je API veřejně dostupné pod licencemi svobodného softwaru.

Pre-commit hook

Při každé revizi můžete automaticky spustit reuse lint jako hook před revizí pro systém Git. Používá se pre-commit. Jakmile jej nainstalujete, přidejte jej do souboru .pre-commit-config.yaml ve svém úložišti:

# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
repos:
  - repo: https://github.com/fsfe/reuse-tool
    rev: v5.0.2
    hooks:
      - id: reuse

Poté spusťte pre-commit install. Nyní se při každé revizi na pozadí spustí reuse lint, který zabrání revizi, pokud se vyskytne chyba.

Zařazení do pracovních postupů CI/CD

REUSE lze snadno integrovat do stávajících procesů CI/CD a průběžně testovat úložiště a jeho změny na shodu s REUSE.

FSFE nabízí obraz Docker, který lze použít v mnoha řešeních CI. Níže najdete několik příkladů:

Drone

Do souboru .drone.yml vložte následující úryvek:

# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
steps:
  - name: reuse
    image: fsfe/reuse:latest

Více informací o Drone na drone.io.

GitHub

Uživatelé GitHub mohou akci REUSE integrovat do svých pracovních postupů. Zařaďte následující soubor jako .github/workflows/reuse.yaml:

# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
name: REUSE Compliance Check

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: REUSE Compliance Check
        uses: fsfe/reuse-action@v4

Další pokyny k použití naleznete na stránce ‘action’s marketplace page’.

Další informace o akcích GitHub najdete na docs.github.com.

GitLab

Do souboru .gitlab-ci.yml vložte následující úryvek:

# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
reuse:
  image:
    name: fsfe/reuse:latest
    entrypoint: [""]
  script:
    - reuse lint

Další informace o CI GitLabu najdete na docs.gitlab.com.

Travis CI

Do souboru .travis.yml vložte následující úryvek:

# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
language: minimal

services:
  - docker

before_install:
  - docker pull fsfe/reuse:latest
  - docker run -v ${TRAVIS_BUILD_DIR}:/data fsfe/reuse:latest lint

Více informací o Travis CI najdete na travis-ci.com.