这是针对英文原版页面的中文翻译。

JavaScript 许可证网络标记

如果你作为网管为网站部署最小化的 JavaScript 代码,以下是在不修改这些代码的情况下声明其许可证和源代码位置的方法。这在 JavaScript 代码使用 GNU 许可证时特别有用,但是它不包括 Loic Duros 所著的 让你的 JavaScript 代码自由 一文的 3.2 节里提议的额外授权。

JavaScript 许可证网络标记方法针对的是最小化的 JavaScript 代码。此方法符合 GNU 软件许可证的相关条件,它让 LibreJS 能够确认网站信息的正确性。

使用网络标记的前提是相关的 JavaScript 源代码带有许可证声明,源代码以适当的自由软件许可证发布。除非其源代码是自由软件,编译后的代码不是自由软件,这意味着源代码按照自由软件许可证发布非常重要。如果你还没有这么做,请首先迈出这一步。

你也可以对非最小化的 JavaScript 文件使用网络标记,使它们的许可证可以被程序知道;但是它们是源代码文件,因此请给出可以让人看懂的许可证声明。不提供许可证声明会导致这些文件的法律状态不明确。

网络标记方法不能用于内置于 HTML 页面的 JavaScript 代码——此类代码的许可证信息应该 直接在这些页面声明

更多关于定义这些格式的理由请参看 理由

编写标记页面

在你的网站上添加一个关于 JavaScript 许可证网络标记的页面。你可以按照自己的方式使用路径或文件名;别人通过链接找到该页面。此页面必须有一个属性是 id="jslicense-labels1" 的表格。这个属性让自动工具容易辨认,并让它们知道该处理何种格式。表格每行有 3 个格子,分别提供本站使用的独立的 JavaScript 文件名、其许可证和网站访问者如何获得其源代码。

第一个格子是网站使用的 JavaScript 程序的文件名。该格子必须包含指向此文件的导航标签,比如 script 标签。

第二个格子提供该 JavaScript 文件的信息。该格子必须包含指向许可证全文的导航标签,许可证文本应该包括许可证全名、许可证版本号(如果有多个版本)以及该文件是否按照后续版本授权。规范的许可证标识和相应的链接举例如下

第三个格子包含指向 JavaScript 源代码的链接。源代码可以是单一的、最小化的 JavaScript 文件、一个 .tar.gz 档案文件或一个 .zip 档案文件。如果档案文件包含多个 JavaScript 文件,那么该档案文件必须有一个叫做 00-INDEX 的文件,其中列出各个文件的先后次序索引,以便人们按此合并出一个和网站所用文件一致的单一源代码文件。如果网站使用的 JavaScript 源代码文件链接已经在第一个格子里列出,那么本格子可以使用同样的 URL。

下面是一个表格示例。示例中的网站只使用了一个 JavaScript 文件:一个最小化版本的 jQuery 1.7,它使用 Expat 许可证发布。表格中列出了文件及其许可证信息和指向源代码的链接。

<table id="jslicense-labels1">

<tr>
<td><a href="/js/jquery-1.7.min.js">jquery-1.7.min.js</a></td>

<td><a href="http://www.jclark.com/xml/copying.txt">Expat</a></td>

<td><a href="/js/jquery-1.7.tar.gz">jquery-1.7.tar.gz</a></td>
</tr>

</table>

此页面可以包含其他文本和装饰,比如网站的常规布局和导航工具,但是上述表格必须突出显示出来。

指向标记页的链接

每个使用 JavaScript 的页面都要有一个指向如上标记页的链接。该链接带有属性 rel="jslicense",这样自动工具可以找到它。例如,最终链接可以如下:

<a href="/about/javascript" rel="jslicense">JavaScript license information</a>

该链接可以是小字号,但是网站访客需要清楚地看到它。

注记

如果你这样做了,那么你就遵守了 GNU 软件许可证地相关规定,比如 GNU 通用公共许可证的规定。它们也应该充分遵守了许多其他自由软件许可证的规定,但是我们不能确定地说这样做符合了所有自由软件许可证的规定。一如既往,请注意理解和遵守你使用的自由软件许可证的许可证协议。