重用是遵守重用建议的工具。

fsfe-reuse的Python项目详细描述


巨型

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=================="""""""""""""""""d72657573652e737667" /><>>><<<<<<<<<<<<<<

<阻塞率>

重用是一种工具,用于遵从重用 建议。

  • 文档: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)提供一套建议 授权你的自由软件项目更容易。不仅仅是这些建议 使您更容易申报您的作品所依据的许可证 发布,但它们也使计算机更容易理解 项目已获得许可。

简而言之,建议有三个方面:

  1. 选择并提供许可证
  2. 向每个文件添加版权和许可信息
  3. 确认重复使用符合性

建议您阅读 完整的建议 详细信息。

此工具的存在有助于开发人员遵守上述 建议。

还有其他的工具,如fossology 有更多的特性和功能围绕着分析 软件项目的版权和许可检查。巨人 另一方面,它被设计成一个简单的工具来帮助 遵守再利用建议。

安装

要安装Giant,您需要安装以下软件 您的计算机:

要安装Giant,只需运行以下命令:

啊!

在此之后,请确保~/.local/bin位于$path路径中。

用法

首先,阅读重用教程。在一个 坚果壳:

  1. 将您的许可证放入licenses/目录。
  2. 在每个文件中添加注释头,说明spdx-license-identifier:gpl-3.0-or-later,以及spdx-filecopyright text:$year$name。你可以 格式灵活,只要确保行以 spdx-文件公司Pyright文本:
  3. 使用此工具验证您的工作。
  4. < > >

    要对照建议进行检查,请使用reuse lint

    ~/Projects/reuse-tool $ reuse lint
    [...]
    
    Congratulations! Your project is compliant with version 3.0 of the REUSE Specification :-)
    

    这个工具可以做更多的事情,详见文档。这里A 小结:

    • add header---将版权和/或许可信息添加到 文件

    • 下载---将指定的许可证下载到许可证/目录中。

    • init---设置项目以符合重用要求。

    • lint---验证项目是否符合重用要求。

    • spdx---生成项目中所有文件的spdx文档。

    在Docker中运行

    重用很容易包含在ci/cd过程中。这样,你可以检查 对于每个构建的重用遵从性。在我们的资源中 开发人员您可以学习如何集成 Drone、Travis或Gitlab CI中的重用工具。

    在docker上的fsfe/reusedocker映像中 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月的简要总结:

    • 所有原始源代码都是根据GPL-3.0或更高版本授权的。
    • 所有文档均根据CC-BY-SA-4.0获得许可。
    • 一些配置和数据文件在CC0-1.0下获得许可。
    • 一些代码是从 spdx/tool python的许可 apache-2.0.

    有关更准确的信息,请查看各个文件。

    更改日志

    此更改日志遵循 变更日志规范。每个版本都包含 以下部分:

    • 已添加以获取新功能。
    • 已更改以更改现有功能。
    • 对于即将删除的功能,已弃用
    • 已删除暂时删除的功能。
    • 已修复任何错误修复。
    • 安全性以防出现漏洞。

    版本遵循语义版本控制。

    0.5.0-2019年8月29日

    添加

    • 添加了tex和ml注释样式。

    • --year--exclude year添加到重用addheader

    • --template添加到重用addheader

    • --显式许可证添加到重用addheader

    • binaryornot作为新的依赖项添加。

    • 大大改进了使用文档。

    更改

    • 重用addheader现在自动添加当前年度版权所有 注意.

    • 重用addheader保留新头下面的原始头 不包含任何SPDX信息。

    • 重用addheader现在可以正确处理。许可证文件。

    • 错误的许可证不再解析为licenseref unknown<;n>;。相反,他们是 决心走到路的尽头。这减少了代码库中的魔力。

    • .gitKeep文件现在被工具忽略。

    • 将Lisp的注释字符从";;"更改为";"。

    0.4.1-2019-08-07

    添加

    • --all参数有助于重新使用下载,下载检测到的所有内容 缺少许可证。

    已修复

    • 在包含shebang的文件上使用reuse addheader时,shebang是 保存。

    • 重用spdx中的版权行现在已排序。

    • 一些公开可见的todo被修补掉了。

    0.4.0-2019-08-07

    此版本是对该工具的一次重大的彻底检查和重构。它的 主要关注的是提高可用性和速度,以及遵守版本 再利用规范的3.0。

    添加

    • 重用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目录要快得多。

    • 现在扫描二进制文件要快得多。

    0.3.4-2019年4月15日

    这个版本应该是短暂的。新的(稍微 向后不兼容)版本正在工作中。

    添加

    • 除了版权之外,版权现在还可以从开始。这个 现在推荐使用前者,但它们在功能上相似。

    更改

    0.3.3-2018年7月15日

    已修复

    • 任何后缀为.spdx的文件都不再被视为许可证。

    0.3.2-2018年7月15日

    已修复

    • 文档现在是在Python3.7下构建的。

    0.3.1-2018年7月14日

    已修复

    • 在使用pygit2从子目录中使用重用时,请正确地找到 根。

    0.3.0-2018年5月16日

    更改

    • 现在,重用编译的输出是确定的。文件, 版权行和spdx表达式按字母顺序排序。

    已修复

    • 当找不到GPL许可证时,正确的-仅-或更高版本的扩展现在在警告消息中使用,而不是 而不是赤裸裸的gpl-3.0
    • 如果您的许可证列为 spdx有效许可证:gpl-3.0-或更高版本 相应的SPDX标识符。仍然建议使用 spdx有效许可证:改为gpl-3.0

    0.2.0-2018年4月17日

    添加

    • 增加国际化支持。初步支持:
      • 英语。
      • 荷兰语。
      • 世界语。
      • 西班牙语。

    已修复

    • SPDX 3.0的许可证列表已弃用GPL-3.0GPL-3.0+ 等人赞成gpl-3.0-onlygpl-3.0-or-later。这个 程序已被修改以适应 许可证。

    更改

    • 项目.重用信息现在提取、合并并返回 来自文件本身和debian/版权的信息。
    • reuseinfo现在保存的是集合而不是列表。
      • 因此,reuseinfo将不会保存 版权行或SPDX表达式。
    • 单击"作为依赖项删除"。库中的旧argparse是 代替使用。

    0.1.1-2017年12月14日

    更改

    • 重用--help文本已经整理了一点。

    已修复

    • 更改日志中的发布日期已修复。
    • PYPI主页现在将得到RestructedText而不是Markdown。

    0.1.0-2017年12月14日

    添加

    • 现在成功地解析旧样式的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忽略并替换。

    0.0.4-2017年11月06日

    已修复

    • 删除了对os.pathlike的依赖,因此python 3.5实际上是 支持

    0.0.3-2017年11月06日

    已修复

    • 修复了自述文件中指向pypi的链接。

    0.0.2-2017年11月03日

    这是一个非常早期的开发版本,旨在分发 尽快编程。因为这是第一个版本, 除了"created the program"之外,changelog有点空。

    程序大致可以执行以下操作:

    • 通过以下三种方法之一检测给定文件的许可证(在 优先顺序):
      • .license文件中嵌入的信息。
      • 信息嵌入其标题中。
      • 来自全球Debian/版权文件的信息。
    • 查找并报告项目树中的所有文件,其中许可证 找不到。
    • 忽略Git忽略的文件。
    • 登录stderr。

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


热门话题
java支持servlet和JSP的使用   java计算模式   Windows上的python PySpark安装异常:Java网关进程在发送其端口号之前退出   java如何解决类中的“Android错误”方法setSupportActionBar?   java JTable为什么单元格颜色不起作用   通过运行时注入实现Java多态性   在Glassfish上使用@EJB注释和Maven的java应用程序客户端   bufferstrategy在java中使用createBufferStrategy()时,拥有2个以上的缓冲区是否有帮助?有什么坏处吗?   用java格式化字符串   带有mvn devserver的Google App Engine Java失败:缺少“guestbook/target/guestbook1.0SNAPSHOT”   java如何测量刚刚收到的UDP数据包大小?   java调用在运行时确定类的泛型方法   java Spring Boot 2.2.4禁用安全性   在java中,如何将文件(通过URL寻址)读入字符串?