重用是遵守重用建议的工具。
fsfe-reuse的Python项目详细描述
巨型
<<<<<<<<
重用是一种工具,用于遵从重用 建议。
- 文档:https://reuse.readthedocs.io rel="nofollow">https://reuse.readthedocs.io和https://reuse.software rel="nofollow">https://reuse.software
- 源代码:https://github.com/fsfe/reuse-tool" rel="nofollow">https://github.com/fsfe/reuse-tool
- PYPI:https://pypi.python.org/pypi/fsfe-giant
- 重复使用:3.0
- 巨蟒:3.6+
背景
版权和许可是很困难的,特别是当从 在不同许可下发布的不同项目。 <一个HReF= ="HTTPS://RuS./Re="NoFoLLo.>重用< /A>是由< AHRF="HTTPS://FSFE.ORG"Re="NoFoLoLy">自由软件基金会启动的。 欧洲(FSFE)提供一套建议 授权你的自由软件项目更容易。不仅仅是这些建议 使您更容易申报您的作品所依据的许可证 发布,但它们也使计算机更容易理解 项目已获得许可。
简而言之,建议有三个方面:
- 选择并提供许可证
- 向每个文件添加版权和许可信息
- 确认重复使用符合性
建议您阅读 完整的建议 详细信息。
此工具的存在有助于开发人员遵守上述 建议。
还有其他的工具,如fossology 有更多的特性和功能围绕着分析 软件项目的版权和许可检查。巨人 另一方面,它被设计成一个简单的工具来帮助 遵守再利用建议。
安装
要安装Giant,您需要安装以下软件 您的计算机:
- 巨蟒3.6+
- 点
要安装Giant,只需运行以下命令:
啊!在此之后,请确保~/.local/bin
位于$path
路径中。
用法
首先,阅读重用教程。在一个 坚果壳:
- 将您的许可证放入
licenses/
目录。 - 在每个文件中添加注释头,说明
spdx-license-identifier:gpl-3.0-or-later
,以及spdx-filecopyright text:$year$name
。你可以 格式灵活,只要确保行以spdx-文件公司Pyright文本:
- 使用此工具验证您的工作。 < > >
add header
---将版权和/或许可信息添加到 文件下载
---将指定的许可证下载到许可证/
目录中。init
---设置项目以符合重用要求。lint
---验证项目是否符合重用要求。spdx
---生成项目中所有文件的spdx文档。- 卡门·比安卡·巴克克-carmenbianca@fsfe.org
- 所有原始源代码都是根据GPL-3.0或更高版本授权的。
- 所有文档均根据CC-BY-SA-4.0获得许可。
- 一些配置和数据文件在CC0-1.0下获得许可。
- 一些代码是从 spdx/tool python的许可 apache-2.0.
已添加
以获取新功能。已更改
以更改现有功能。对于即将删除的功能,已弃用
。已删除
暂时删除的功能。已修复
任何错误修复。安全性
以防出现漏洞。添加了tex和ml注释样式。
将
--year
和--exclude year
添加到重用addheader
将
--template
添加到重用addheader
将
--显式许可证
添加到重用addheader
binaryornot
作为新的依赖项添加。大大改进了使用文档。
重用addheader
现在自动添加当前年度版权所有 注意.重用addheader
保留新头下面的原始头 不包含任何SPDX信息。重用addheader
现在可以正确处理。许可证
文件。错误的许可证不再解析为licenseref unknown<;n>;。相反,他们是 决心走到路的尽头。这减少了代码库中的魔力。
.gitKeep
文件现在被工具忽略。将Lisp的注释字符从";;"更改为";"。
--all
参数有助于重新使用下载,下载检测到的所有内容 缺少许可证。在包含shebang的文件上使用
reuse addheader
时,shebang是 保存。重用spdx
中的版权行现在已排序。一些公开可见的todo被修补掉了。
重用addheader
已添加为自动添加版权的方法 文件头的语句和许可证标识符。目前 不完整。reuse init
已添加为初始化重用项目的方法。它的 功能目前很匮乏,但将来应该会有所改进。重用lint
现在提供了一个有用的摘要,而不仅仅是一个简单的摘要 不符合要求的文件。重用编译
现在是重用spdx
除了
版权
和)
之外,还可以用标记标记版权行spdx文件版权文本:
。这是新的推荐默认值。项目不再依赖pygit2。
SPDX许可证列表已更新。
不再使用有效的许可证标识符,并且许可证和异常可以 现在只存在于许可证/目录中。
删除了
--忽略debian
删除了--spdx必选,
--版权必选
,--忽略丢失
来自reuse lint的参数
删除"重用许可证"
gpl-3.0和gpl-3.0+(以及所有其他类似的gpl许可证)不再是 检测为SPDX标识符。只能使用GPL-3.0和GPL-3.0或更高版本。
现在扫描git目录要快得多。
现在扫描二进制文件要快得多。
- 除了版权之外,版权现在还可以从
开始。这个 现在推荐使用前者,但它们在功能上相似。
- 重用的源代码现在用黑色格式化。
- 存储库已从 https://git.fsfe.org/reuse/reuse到 https://gitlab.com/reuse/reuse
- 任何后缀为
.spdx
的文件都不再被视为许可证。 - 文档现在是在Python3.7下构建的。
- 在使用pygit2从子目录中使用重用时,请正确地找到 根。
- 现在,
重用编译
的输出是确定的。文件, 版权行和spdx表达式按字母顺序排序。 - 当找不到GPL许可证时,正确的
-仅
或-或更高版本的扩展现在在警告消息中使用,而不是 而不是赤裸裸的gpl-3.0
- 如果您的许可证列为
spdx有效许可证:gpl-3.0-或更高版本 相应的SPDX标识符。仍然建议使用
spdx有效许可证:改为gpl-3.0
。 - 增加国际化支持。初步支持:
- 英语。
- 荷兰语。
- 世界语。
- 西班牙语。
- SPDX 3.0的许可证列表已弃用
GPL-3.0
和GPL-3.0+
等人赞成gpl-3.0-only
和gpl-3.0-or-later
。这个 程序已被修改以适应 许可证。 项目.重用信息
现在提取、合并并返回 来自文件本身和debian/版权的信息。reuseinfo
现在保存的是集合而不是列表。- 因此,
reuseinfo
将不会保存 版权行或SPDX表达式。
- 因此,
- 单击"作为依赖项删除"。库中的旧argparse是 代替使用。
重用--help
文本已经整理了一点。- 更改日志中的发布日期已修复。
- PYPI主页现在将得到RestructedText而不是Markdown。
- 现在成功地解析旧样式的C和HTML注释。
- 添加了"重新使用编译"功能,创建了SPDX物料清单。
- 添加了
--ignore missing
到重用lint
- 允许指定多个路径以
重用lint
chardet
作为依赖项添加。pygit2
添加为软依赖项。没有它,重用仍然可用, 但使用pygit2
的性能明显更好。因为pygit2
具有非python依赖关系(libgit2
),必须是 由用户独立安装。在将来,当重用是 本机包装,这不是问题。- 更新到重用建议的版本2.0。这个
最重要的变化是不再使用
许可文件名
。 相反,文件名是从spdx license identifier
中扣除的。 此更改不向后兼容。 - 起毛的条件已经改变了。文件现在不符合
什么时候:
- 找不到与文件关联的许可证。
- 没有与该文件关联的SPDX表达式。
- 没有与文件相关联的版权声明。
- 只从代码文件中读取前4个kib(默认情况下),而不是 搜索SPDX标记时的整个文件。这加快了 工具一点。
project.reuse_info_of
不再引发异常。相反,它 当没有重用信息时返回空的 发现- 伐木现在漂亮多了。仅从
重用中输出条目 模块,
重用--忽略debian编译现在可以按预期工作了。
- 当读取非utf-8的文件时,该工具不再中断
编码。相反,
chardet
用于在 正在读取文件。如果文件在解码过程中仍然有错误,则 错误是无声的ly忽略并替换。 - 删除了对
os.pathlike
的依赖,因此python 3.5实际上是 支持 - 修复了自述文件中指向pypi的链接。
- 通过以下三种方法之一检测给定文件的许可证(在
优先顺序):
- .license文件中嵌入的信息。
- 信息嵌入其标题中。
- 来自全球Debian/版权文件的信息。
- 查找并报告项目树中的所有文件,其中许可证 找不到。
- 忽略Git忽略的文件。
- 登录stderr。
要对照建议进行检查,请使用reuse lint
:
~/Projects/reuse-tool $ reuse lint
[...]
Congratulations! Your project is compliant with version 3.0 of the REUSE Specification :-)
这个工具可以做更多的事情,详见文档。这里A 小结:
在Docker中运行
重用很容易包含在ci/cd过程中。这样,你可以检查 对于每个构建的重用遵从性。在我们的资源中 开发人员您可以学习如何集成 Drone、Travis或Gitlab CI中的重用工具。
在docker上的fsfe/reuse
docker映像中
hub,您可以运行助手工具
只需执行重用lint
。要在计算机上使用该工具,可以
挂载项目目录并运行reuse lint<;path/to/directory>;
维护人员
贡献
欢迎任何请求或建议 https://github.com/fsfe/reuse-tool或通过电子邮件发送给其中一个维护人员。 一般查询可以发送到contact@fsfe.org
启动本地开发非常简单,只需执行以下操作 命令:
git clone git@github.com:fsfe/reuse-tool.git
cd reuse-tool/
python3 -mvenv venv
source venv/bin/activate
make develop
您需要运行make develop
至少一次才能设置virtualenv。
接下来,运行make help
查看可用的交互。
许可证
版权所有(c)2017-2019欧洲自由软件基金会
这项工作有多种许可证。因为保留这个部分 最新的挑战,以下是截至2019年7月的简要总结:
有关更准确的信息,请查看各个文件。
更改日志
此更改日志遵循 变更日志规范。每个版本都包含 以下部分:
版本遵循语义版本控制。
0.5.0-2019年8月29日
添加
更改
0.4.1-2019-08-07
添加
已修复
0.4.0-2019-08-07
此版本是对该工具的一次重大的彻底检查和重构。它的 主要关注的是提高可用性和速度,以及遵守版本 再利用规范的3.0。
添加
更改
删除
已修复
0.3.4-2019年4月15日
这个版本应该是短暂的。新的(稍微 向后不兼容)版本正在工作中。
添加
更改
0.3.3-2018年7月15日
已修复
0.3.2-2018年7月15日
已修复
0.3.1-2018年7月14日
已修复
0.3.0-2018年5月16日
更改
已修复
0.2.0-2018年4月17日
添加
已修复
更改
0.1.1-2017年12月14日
更改
已修复
0.1.0-2017年12月14日
添加
更改
已修复
0.0.4-2017年11月06日
已修复
0.0.3-2017年11月06日
已修复
0.0.2-2017年11月03日
这是一个非常早期的开发版本,旨在分发 尽快编程。因为这是第一个版本, 除了"created the program"之外,changelog有点空。
程序大致可以执行以下操作: