加入我们一起来打造更美好的世界!
请稍作停留。我们从1985年起就一直在用自由软件打造一个更美好的世界。今天,我们恳请您的支持。有了您的帮助,自由软件基金会才能继续作为一个更公正的数字社会的基石而存在!请慷慨捐助让我们在12月31日达到400,000美元的目标。
如果你作为网管为网站部署最小化的 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
文件的信息。该格子必须包含指向许可证全文的导航标签,许可证文本应该包括许可证全名、许可证版本号(如果有多个版本)以及该文件是否按照后续版本授权。规范的许可证标识和相应的链接举例如下
GNU-GPL-2.0-or-later
GNU-GPL-3.0-or-later
GNU-LGPL-2.1-or-later
GNU-LGPL-3.0-or-later
GNU-AGPL-3.0-or-later
Apache-2.0-only
Modified-BSD
CC0-1.0-only
Expat
MPL-2.0-or-later
第三个格子包含指向 JavaScript 源代码的链接。源代码可以是单一的、最小化的 JavaScript 文件、一个
.tar.gz
档案文件或一个
.zip
档案文件。如果档案文件包含多个 JavaScript
文件,那么该档案文件必须有一个叫做
00-INDEX
的文件,其中列出各个文件的先后次序索引,以便人们按此合并出一个和网站所用文件一致的单一源代码文件。如果网站使用的 JavaScript
源代码文件链接已经在第一个格子里列出,那么本格子可以使用同样的 URL。
下面是一个表格示例。示例中的网站只使用了一个 JavaScript 文件:一个最小化版本的 jQuery 1.7,它使用 Expat
许可证发布。表格中列出了文件及其许可证信息和指向源代码的链接。
<table id="jslicense-labels1">
<td><a href="/js/jquery-1.7.min.js">jquery-1.7.min.js</a></td>
<td><a href="https://directory.fsf.org/wiki/License:Expat">Expat</a></td>
<td><a href="/js/jquery-1.7.tar.gz">jquery-1.7.tar.gz</a></td>
</table>
此页面可以包含其他文本和装饰,比如网站的常规布局和导航工具,但是上述表格必须突出显示出来。
指向标记页的链接
每个使用 JavaScript 的页面都要有一个指向如上标记页的链接。该链接带有属性
rel="jslicense"
,这样自动工具可以找到它。例如,最终链接可以如下:
<a href="/about/javascript" rel="jslicense">JavaScript license information</a>
该链接可以是小字号,但是网站访客需要清楚地看到它。
如果你这样做了,那么你就遵守了 GNU 软件许可证地相关规定,比如 GNU
通用公共许可证的规定。它们也应该充分遵守了许多其他自由软件许可证的规定,但是我们不能确定地说这样做符合了所有自由软件许可证的规定。一如既往,请注意理解和遵守你使用的自由软件许可证的许可证协议。
我们尽最大努力来提供精准和高质量的翻译,但难免会存在错误和不足。如果您在这方面有评论或一般性的建议,请发送至 <[email protected]>。关于进行协调与提交翻译的更多信息参见
《译者指南》。
本页面使用Creative Commons
Attribution-NoDerivatives 4.0 International License授权。