标准的 --version
选项应指示程序打印其名称、版本、来源和法律状态信息,全部输出到标准输出,然后成功退出。一旦看到此选项,应忽略其他选项和参数,并且程序不应执行其正常功能。
第一行的目的是便于程序解析;版本号本身从最后一个空格之后开始。此外,它还包含此程序的规范名称,格式如下:
GNU Emacs 19.30
程序的名称应为常量字符串;不要从 argv[0]
计算它。其目的是声明程序的标准或规范名称,而不是其文件名。还有其他方法可以找到命令在 PATH
中找到的确切文件名。
如果程序是较大软件包的附属部分,请在括号中提及软件包名称,如下所示:
emacsserver (GNU Emacs) 19.30
如果软件包的版本号与此程序的版本号不同,您可以在右括号之前提及软件包的版本号。
如果您需要提及与包含此程序的软件包分开分发的库的版本号,您可以通过为每个您想提及的库打印额外的版本信息行来完成此操作。这些行的格式与第一行的格式相同。
请不要为了“完整性”而提及程序使用的所有库——这会产生大量无用的混乱。只有当您在实践中发现它们对调试非常重要时,才提及库的版本号。
版本号行之后(或多行)的下一行应为版权声明。如果需要多个版权声明,请将每个声明放在单独的行上。
接下来应提供一行声明许可,最好使用下面的缩写之一,并简要说明该程序是自由软件,并且用户可以自由复制和更改它。还应提及在法律允许的范围内,不提供任何担保。请参阅下面的推荐措辞。
允许以列出程序的主要作者的方式结束输出,以此表示感谢。
以下是一个符合这些规则的输出示例:
GNU hello 2.3 Copyright (C) 2007 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
当然,您应该根据您的程序进行调整,填写正确的年份、版权所有者、程序名称以及对分发条款的引用,并根据需要更改其余措辞。
此版权声明只需要提及最近一次进行更改的年份 - 无需列出以前版本更改的年份。如果这样做不方便,您不必在这些声明中提及程序名称,因为它已在第一行中出现。(源代码文件中的版权声明规则不同;请参阅 GNU 维护者信息 中的版权声明。)
以上行的翻译必须保留版权声明的有效性(请参阅国际化)。如果翻译的字符集支持,则应将‘(C)’替换为版权符号,如下所示
©
用英语准确地写出“Copyright”这个词。不要将其翻译成其他语言。国际条约承认英语单词“Copyright”;翻译成其他语言不具有法律意义。
最后,这是我们建议的许可缩写表。任何缩写都可以后跟 ‘vversion[+]’,表示该特定版本或稍后版本(带有 ‘+’),如上所示。对于 GNU 许可,始终以这种方式指示允许的版本。
对于 GPL 的额外权限例外情况,我们使用 ‘/’ 作为分隔符;版本号可以像往常一样跟在许可缩写之后,如下例所示。
GNU 通用公共许可证,https://gnu.ac.cn/licenses/gpl.html。
GNU 宽通用公共许可证,https://gnu.ac.cn/licenses/lgpl.html。
带有 Ada 例外的 GNU GPL。
Apache 软件基金会许可,https://directory.fsf.org/wiki/License:Apache2.0。
Perl 使用的 Artistic 许可证,https://directory.fsf.org/wiki/License:ArtisticLicense2.0。
Expat 许可证,https://directory.fsf.org/wiki/License:Expat。
Mozilla 公共许可证,https://directory.fsf.org/wiki/License:MPLv2.0。
原始(4 条款)BSD 许可证,与 GNU GPL 不兼容,
https://directory.fsf.org/wiki/License:BSD_4Clause.
PHP 使用的许可证,https://directory.fsf.org/wiki/License:PHPv3.01。
处于公有领域的非许可证,
https://gnu.ac.cn/licenses/license-list.html#PublicDomain.
Python 的许可证,https://directory.fsf.org/wiki/License:Python2.0.1。
修订后的(3 条款)BSD,与 GNU GPL 兼容,
https://directory.fsf.org/wiki/License:BSD_3Clause.
用于大多数 X Window System 版本的简单非版权许可证,https://directory.fsf.org/wiki/License:X11。
Zlib 的许可证,https://directory.fsf.org/wiki/License:Zlib。
有关这些许可和更多许可的更多信息,请访问 GNU 许可网页,https://gnu.ac.cn/licenses/license-list.html。