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ázvemFILENAME
. - 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.
-
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í. ↩︎