Maven pom.xml 中“专有”的 SPDX 标识符`<license>`名称

问题描述 投票:0回答:2

我想向

pom.xml
添加许可证,声明该项目已获得专有许可,“保留所有权利。”。 Pom 参考 指出

建议使用 SPDX 标识符作为许可证名称。

但是,SPDX 许可证列表中没有“专有”标识符。

虽然 composer.json 似乎使用 “专有”作为许可证标识符,并且 package.json 允许

"license" : "SEE LICENSE IN <filename>"
,但我没有找到任何关于
pom.xml
的建议。有吗

java maven pom.xml licensing
2个回答
0
投票

SPDX 在许可证列表中没有“专有”标识符,因为没有此类许可证。

类似“保留所有权利。”不是许可证。它是受版权保护的作品的默认设置。

composer.json
中使用
"proprietary"
的约定是相反的效果:在Composer项目中,SPDX许可证标识符相对较早地引入,并且
license
字段必须使用短标识符来构建许可证字符串(您可以在该领域拥有多个许可证)。

由于 license

 中的 
composer.json
 字段是由此定义的,因此无法命名不在 SPDX 许可证列表中的任何其他许可证。由于这些通常是“封闭软件”许可证,因此建议使用通用术语“专有”(全部小写,不会与使用大写字母的 SPDX 短标识符混淆)。

pom.xml
的情况有所不同。它不需要需要特定标识符,它只是为
name
字段推荐它们:

<licenses>
  <license>
    <name>Apache License, Version 2.0</name>
    <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
    <distribution>repo</distribution>
    <comments>A business-friendly OSS license</comments>
  </license>
</licenses>

它提供自己的系统来命名/定义许可证。使用(长)SPDX 标识符作为名称只是一个(明智的)建议,但当然前提是您使用该列表中的许可证。

但是,如果您拥有自己的许可证,则可以将其名称和许可证文本的统一资源位置放在那里。如果您有个人许可证,那么没有问题(比较:在 Composer 中,如果您没有 SPDX,从技术上讲,您无法使用许可证字段)

现在:

根据您的问题,您既没有姓名也没有许可证文本。

但是您已经面临着如何合并和连接不存在的内容的技术问题。由于您想拥有许可证(您想在

pom.xml
中添加许可证条目),我想说为什么不代表您向律师寻求帮助,该律师能够找到您专有愿望的文本表达。告诉她你的愿望、想要和需要,就像你想填写这两个
<name>
<url>
字段,直到那时你只需记录整个过程:

<licenses>
  <license>
    <name/>
    <url/>
    <distribution/>
    <comments>Intentionally left blank.</comments>
  </license>
</licenses>

这当然只是一个非常早期和非常基本的基线,您甚至可以在考虑拿起手机之前对其进行调整。


0
投票

SPDX 规范为此用例提供了

LicenseRef
,因此您可以在
LicenseRef-acme-corp-proprietary-license
字段中输入诸如
<name>
之类的值,然后在
<url>
字段中添加指向专有许可证全文的链接(允许人类律师进行适当的尽职调查)。任何符合 SPDX 的处理器/表达式解析器都应该可以很好地处理它。

从 SPDX v3.0(撰写本文时尚未发布)开始,还将为许可证例外提供名为

AdditionRef
的类似机制,这将使
Apache-2.0 WITH AdditionRef-acme-corp-specific-modifications
等表达式成为可能。

© www.soinside.com 2019 - 2024. All rights reserved.