Všechny verze specifikace naleznete na adrese <>.

Postupy REUSE - verze 2.0

2017-11-15

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

1. Uveďte přesný text každé použité licence

Licence svobodného a otevřeného softwaru jsou standardizované a mají standardní texty. Bez ohledu na to, jakou licenci používáte, měli byste text licence do svého projektu zahrnout.

Musíte zahrnout všechny licence, které jsou použity ve vašem projektu, a nikdy nesmíte měnit žádné texty licencí, i když jsou velmi podobné těm stávajícím.

Nejjednodušší způsob, jak zajistit, že poskytnete nezměněnou licenci, je její doslovné zkopírování z tohoto úložiště licencí spravovaného SPDX Workgroup. SPDX Workgroup spravuje [seznam běžně používaných licencí][licence spdx]. Každá licence má zkrácený název (tzv. identifikátor SPDX), který lze použít k jedinečnému odkazování na každou licenci. Například GNU GPL verze 3 má GPL-3.0 jako zkrácený identifikátor.

Pokud váš projekt obsahuje pouze kód licencovaný pod jedinou licencí, můžete poskytnout text této licence v souboru v adresáři nejvyšší úrovně vašeho úložiště s názvem LICENSE, LICENCE, COPYING nebo COPYRIGHT ( k názvu souboru můžete také připojit nějakou příponu, například LICENSE.txt).

Protože mnoho projektů obsahuje kód pod různými licencemi, často není možné zahrnout všechny licence do nejvyšší úrovně. V takovém případě byste měli vytvořit adresář na nejvyšší úrovni s názvem LICENCE, do kterého zahrnete text licence každé použité licence.

Některé licence, jako je licence BSD 2 Clause, existují v mnoha variantách, kde jediným rozdílem je jméno držitele autorských práv v textu licence. Váš projekt může skončit včetně několika verzí stejné licence BSD 2 Clause, protože některé části mohou být napsány Alice a jiné Bobem, což má za následek dva různé licenční soubory.

Když přidáte všechny své licenční soubory, měly by všechny odpovídat globu {LICENSE*, LICENCE*, COPYING*, COPYRIGHT*, LICENSES/**}. Toto jsou běžná místa k nalezení licencí. Pokud umístíte svou licenci jinam, je možné, že ji lidé i počítače přehlédnou.

Abyste mohli odkazovat na licenční soubor ze zdrojového kódu, měli byste do odpovídajícího licenčního souboru vložit identifikátor SPDX (např. GPL-3.0, MIT) každé licence. Nejjednodušší způsob, jak toho dosáhnout, je jednoduše zahrnout název licence do názvu souboru: Licenční soubor pro GPL-3.0 se změní na LICENSES/GPL-3.0.txt.

Pokud není možné soubor přejmenovat (například pokud chcete mít text licence pod KOPÍROVÁNÍ), měli byste do souboru přidat záhlaví ve formátu tag-value. Tuto hlavičku můžete přidat buď do samotného licenčního souboru, nebo do souboru se stejným názvem souboru s příponou .license. Záhlaví musí obsahovat značku Valid-License-Identifier, jejíž hodnota by měla být identifikátor SPDX pro vaši licenci. Hlavička by měla končit značkou License-Text, která signalizuje začátek vaší licence. Záhlaví může obsahovat další značky.

Toto je příklad licenčního souboru MIT, který znamená, že všechny odkazy na identifikátor SPDX MIT by měly směřovat na tento licenční soubor.

Identifikátor platné licence: MIT
Text licence:

Licence MIT

Copyright (c) <rok> <držitelé autorských práv>

Povolení se tímto uděluje bezplatně každé osobě, která získá a
kopii tohoto softwaru a souvisejících souborů dokumentace (dále jen „Software“),
 atd...

I když by identifikátorem měla být licence v seznamu licencí SPDX, je třeba poznamenat, že samotný text licence nemusí být nutně uvolněn pod touto licencí, ani to tag netvrdí.

Identifikátor licence se může opakovat, pokud je stejný licenční soubor použit s více licenčními identifikátory. Níže uvedený příklad je pro GPL-2.0 a GPL-2.0+, ale upozorňujeme, že není povinné uvádět GPL-2.0+ samostatně.

Valid-License-Identifier: GPL-2.0
Valid-License-Identifier: GPL-2.0+

Pokud licence není zahrnuta v seznamu licencí SPDX nebo je licence upravenou verzí licence obsažené v tomto seznamu, měli byste pro ni vytvořit vlastní identifikátor ve tvaru LicenseRef-<unikátní_kód>.

Valid-License-Identifier: LicenseRef-MyLicense

V nepravděpodobném případě, že váš zdrojový kód obsahuje výjimky, jako je výjimka Classpath 2.0, můžete je zahrnout na stejné místo jako vaše licence, místo toho použijte stejný styl záhlaví nebo značky SPDX-Exception-Identifier a Exception-Text. Toto je příklad platné výjimky:

SPDX-Exception-Identifier: Classpath-exception-2.0
Exception-Text:

 Statické nebo dynamické propojení této knihovny s jinými moduly 
vytváří kombinované dílo založené na této knihovně. Podmínky 
GNU General Public License tedy pokrývají celou kombinaci. 

Mějte na paměti

  • Neměňte žádné licenční texty, použijte doslovnou formu textu licence.
  • Neodstraňujte žádné licenční texty, zahrňte licenční texty veškerého softwaru.
  • Zahrňte identifikátor SPDX do každého licenčního souboru, buď jeho zahrnutím do názvu souboru, nebo vložením záhlaví, abyste mohli odkazovat na licenci ze souborů zdrojového kódu.

2. Do každého souboru zahrňte poznámku o autorských právech a licenci

Soubory zdrojového kódu jsou často znovu použity ve více projektech, převzaty z jejich původu a znovu použít, nebo jinak skončí v úložištích, kde jsou oddělené od svého původu. Měli byste se proto ujistit, že všechny soubory ve vašem projektu mají záhlaví komentáře, které obsahuje informace o autorských právech a licenci k danému souboru: Kdo jsou držitelé autorských práv a na základě jaké licence (licencí) soubor uvolňují?

Důrazně doporučujeme, abyste formát těchto záhlaví zachovali ve všech souborech konzistentní. Je však důležité, abyste neodstranili žádné informace ze záhlaví v souborech, jejichž jediným autorem nejste.

Licenční informace vašeho souboru zdrojového kódu musíte předat standardizovaným způsobem, aby je počítače mohly interpretovat. Můžete to udělat pomocí značky SPDX-License-Identifier následované výrazem SPDX definovaným specifikacemi SPDX.

Upozornění na autorská práva v záhlaví komentáře by měla mít konzistentní formát a měla by být seřazena podle roku. Měli by uvádět skutečného držitele autorských práv, kterým může být spíše organizace než autor. Například:

 /*
  * Copyright (c) 2017 Alice Commit <alice@example.com>
  * Copyright (c) 2009-2016 Bob Denver <bob@example.com>
  * Copyright (c) 2007 Company Example <charlie@example.com>
  * 
  * SPDX-License-Identifier: GPL-2.0
  */

Informace o postupech vašeho projektu byste měli zahrnout do souboru README nebo podobného souboru. To by mohlo být stejně jednoduché jako propojení s těmito praktikami.

Všechny zdrojové soubory, které jsou součástí konečného sestavení vašeho projektu (doslovně, upravené, částečně nebo v kompilované podobě), musí obsahovat informace o autorských právech a licenci. Pokud není možné k souboru přidat záhlaví, ať už proto, že soubor je binární nebo protože formát nepodporuje komentáře, musíte informace poskytnout samostatně jedním ze tří způsobů:

  • Můžete zahrnout textový soubor nazvaný FILENAME.license, do kterého uložíte pravidelnou hlavičku komentáře se všemi nezbytnými informacemi pro předání licenčních informací o souboru s názvem FILENAME.
  • Pokud máte mnoho takových souborů, ale každý má stejnou doložku o autorských právech a licenci, můžete místo toho použít [DEP-5/copyright](https://www.debian.org/doc/packaging-manuals/copyright-format/ 1.0/) a umístěte jednu poznámku o autorských právech dokumentující tyto soubory.
  • Pokud máte způsob automatického generování soupisu zahrnutých souborů ve formátu SPDX (viz cvičení 3), můžete použít tento a nemusíte samostatně přidávat soubor .license nebo soubor DEP-5/copyright.

Pokud si přejete explicitně uvést licenci výstupního souboru, který v úložišti neexistuje, ale který bude vytvořen v době sestavení, můžete připojit soubor .license bez odpovídajícího binárního souboru.

Pokud váš projekt obsahuje dokumentaci, která není zahrnuta v konečném artefaktu stavby, doporučujeme, ale nejste povinni zahrnout licenční informace také pro ně.

Pokud je zdrojový kód licencován na základě licence, jako je BSD-2-Clause, kde se licenční texty mohou u jednotlivých držitelů autorských práv lišit, měli byste pokaždé uvést konkrétní licenci. Tedy pro soubory napsané Alice odkaz na LicenseRef-BSD-2-Clause-Alice a pro soubory napsané společností Evil Corp odkaz na LicenseRef-BSD-2-Clause-Evil-Corp a zahrnují obě tyto licence samostatně v „LICENCÍCH“ (viz cvičení 1).

Informace o autorských právech můžete zaznamenávat na základě systému správy verzí, který používáte, ale je třeba dbát zvláštní opatrnosti. Mějte na paměti, že systémy pro správu verzí obvykle zaznamenávají autorství, nikoli autorská práva.

Pro projekt využívající systém správy verzí k přenosu informací o autorských právech musíte:

  • ujistěte se, že je systém správy verzí veřejně přístupný a podnikněte kroky1, aby tomu tak zůstalo,
  • poskytnout odkaz zpět na původní soubor ve správě verzí z každé hlavičky,
  • zajistit, že pokud někdo zkopíruje zdrojový repozitář bez metadat systému správy verzí (například když z toho vytvoří soubor tar), pak metadata systému správy verzí relevantní pro určení autorských práv musí být stále zahrnuta, například ve formě účtu materiálů (viz dále), automaticky generovaný soubor protokolu nebo podobně,
  • ujistěte se, že předložená metadata odrážejí skutečná autorská práva (to je zvláště důležité, pokud projekt přijímá kód přidaný prostřednictvím e-mailových konferencí, sledovačů chyb nebo podobně, kde původní držitel autorských práv není tím, kdo posílá kód do kontroly verzí, nebo kde jsou autorská práva v držení organizace, nikoli autora.)

Vhodné záhlaví by v tomto případě bylo:

 /*
 * Tento soubor je součástí projektu X. Je chráněn autorskými právy přispěvatelů
 * zaznamenané v historii správy verzí souboru, dostupné z
 * jeho původní umístění http://git.example.com/X/název souboru.c
 *
 * SPDX-License-Identifier: GPL-3.0
 */

Mějte na paměti

  • Používejte konzistentní styl záhlaví v celém projektu.
  • Neodstraňujte existující záhlaví, ale pouze k nim přidávejte.
  • Zvažte použití systémů pro správu verzí k vedení záznamů o držitelích autorských práv.
  • Udržujte svůj systém správy verzí veřejný, pokud jej používáte.
  • Uveďte odkazy na identifikátor SPDX z každého souboru zdrojového kódu.
  • Zaznamenejte informace o autorských právech do každého souboru zdrojového kódu.
  • Zahrňte informace o licenci a autorských právech také pro soubory, které nemohou zahrnout správnou hlavičku, buď v samostatném souboru .licence, nebo pomocí DEP-5/specifikace autorských práv.

3. Poskytněte soupis dodaného softwaru

Kromě licenčních souborů zahrnutých v projektu a informací o autorských právech na úrovni souboru můžete zahrnout soupisku pro svůj projekt, ale měli byste tak učinit pouze v případě, že je generována automaticky.

Soupiska může být velmi komplikovaná a zdlouhavá, což ztěžuje její údržbu. Pokud ji nevygenerujete automaticky, je velmi pravděpodobné, že ji někdo při provádění změn zapomene aktualizovat. V těchto případech je nejlepší nemít soupisku, ale spoléhat se pouze na informace spojené se soubory zdrojového kódu.

Pokud máte způsob, jak automaticky vytvořit soupisku, a pokud se tak rozhodnete, měli byste ji vygenerovat automaticky z nejspolehlivějších informací, které máte o každém souboru ve svém projektu. To zahrnuje informace o autorských právech uchovávané v systémech správy verzí a licence na soubory, které obsahují standardní záhlaví nebo které obsahují záhlaví v samostatném licenčním souboru.

Můžete se také rozhodnout zahrnout do soupisky své výstupní soubory vygenerované při kompilaci projektu, abyste mohli prostřednictvím soupisky uvést, která licence je relevantní pro výstupní soubory v závislosti na zahrnutém zdrojovém kódu.

Soupiska by měla odpovídat specifikaci SPDX a měla by být součástí souboru v adresáři nejvyšší úrovně vašeho úložiště s názvem LICENSE.spdx.

Mějte na paměti

  • Nevytvářejte soupisku, pokud jej nemůžete vygenerovat automaticky.
  • Pokud ji generujete automaticky, je užitečné ji zahrnout.
  • Udělejte svou soupisku v souladu se specifikací SPDX.
  • Není na škodu spustit svůj projekt prostřednictvím ScanCode nebo FOSSology, abyste se ujistili, že tyto nástroje mohou analyzovat a porozumět licencování vašeho projektu.

  1. Zaveďte správu projektu, která se zavazuje k veřejnému přístupu, prověřujte materiál přidaný do projektu za účelem ochrany před zranitelností vůči zastavení šíření, zahrňte materiál pouze pod svobodnou a open source licencí, aby jej bylo možné volně kopírovat a archivovat a zajistit, aby byl projekt archivován institucemi věnované dlouhodobému uchování softwarového kódu, např. Softwarové dědictví. ↩︎