比尔盖子 博客

自由软件基金会的历史包袱 —— GFDL

当我们需要发布文档的时,可以选择有许多不同的许可证。事实上,老牌的 MIT、BSD 或 GPL 均可以用于任何作品,包括文档在内;但你可能会说,这些都并非专门为文档制定,因此需要一些更合适的,没问题,你可以立刻加入 CC 协议豪华午餐;但你可能又会说,你已经采用 GPL 许可证作为了项目的主许可,采用另一个组织发布的许可证,不太整齐划一,因此希望使用 GFDL 许可证。

这并非没有道理,《GNU 自由文档许可证》是 FSF 专门为文档量身定制的。如果你是 FSF 的支持者,FSF、GNU 和自由看上去都会是首选,更何况这也是一个老牌的许可证,比 AGPL 等许可证的岁数都大得多,看上去也挺靠谱的。然而,在 21 世纪 10 年代的今天,GFDL 已经不再是好选择,我将通过这篇文章证明这点。

不可变章节,中出叛徒

何为自由?不同的哲学家自然有不同的观点。但盖子讨论的显然不是这个了 —— 自由软件界的四大自由分别是:

自由之零:任意使用此作品,其目的不受任何限制;
自由之一:研究作品本身,并按照自己的意愿随意修改;
自由之二:分发作品的拷贝;
自由之三:分发自己修改过的拷贝。

但是反过来看看 GFDL,里面却说作者可以将自己作品中的某些章节,宣布为不可变章节。在其他人根据 GFDL 分发作品时,这些所谓的“不可变”章节就都是严禁修改的了。当年 Debian 的开发者看到了,就立即表示不服。GFDL 中居然允许公然违反自由之一和自由之三?这不是我们中出了个叛徒吗?

“什么?你说并非所有内容都是不可变的,这不就完全是一副‘自由作品里的不可变章节,能叫封闭吗?’的不讲理态度么?”,Debian 开发者纷纷这样表示。按照这个思路,盖子甚至还可以将文章所有的部分都“不可变”,然后以 GFDL 发布冒充自由文档,就等着有人上钩吧 lol. 而且这也导致了一些实用主义上的问题,假如我要翻译一本书中的不可变章节,那么我只能以中英对照这样的方式进行翻译。

但反过来想,不可变章节的规定并非是凭空出现的。很多作者都认为,自己的精神和思想体现在作品中,他人对其的任何改动都是糟蹋了作品,也就是糟蹋了作品的思想。更进一步,他们认为作者有必要在一定程度上对作品进行适当的控制,来避免这样的事情发生。事实上,黑客史的早期,许多黑客都以此为理由拒绝自由软件许可证。而如今的同人创作界不采纳自由许可证,这也是重要理由之一。就算你并不持有这样激进的看法,我相信当编辑将你文章里的内容,修改得与本意完全相反的时候,你自然也会十分不满,而不可变章节的相关规定,就是一种保护手段,避免原作者的文章写作意图被抹除掉,甚至是被修改成完全相反的意思进一步误导他人。

考虑到这份许可证本身就是为文档而量身定制的,这个规定并非无法理解。而且更进一步,如果你告诉我:因为 GFDL 允许不可变章节,就直接认为 GFDL 就会破坏自由。这时候正方就会让你就要想想了:不可变章节是谁规定的?到底是 GFDL 在破坏自由,还是你在破坏自由?如果你希望作品自由,你可以完全没有不可变章节。

附带协议,有害地球

GFDL 规定了,任何使用 GFDL 的作品都要在发布的时候完整的附带 GFDL 的许可证全文。要知道,每生产一吨纸就会消耗 24 棵树,而一棵树每年能吸收 20 千克的二氧化碳。每篇文档都要附带这么长的许可证,你当全球变暖是闹着玩的吗?不不不,这么说我就上当了,因为全球变暖是以微软为首的财团制约自由软件发展的骗局(大雾!

虽然 GFDL 的制定者表示,如果我们的读者并不知道 GFDL 许可里都说了些什么,那么自由许可也就失去意义了,因此我们要必要明确传达许可证的内容。这对一本书来说也许不成问题,但并非只有书籍才使用 GFDL,如果我用 GFDL 发布一份 100 个字的菜谱,我居然要附带上足足 10 页满满 A4 纸的许可证!事实上,当年一家旅游网站就遇到过这个问题,一张导游路线必须附带 GFDL,这还让不让人旅游了。维基百科在 2008 年左右也因为这个问题全面切换到了 CC 协议,这也是为什么 GFDL 和 CC 是维基百科双许可的原因。

但是,这依然不足以说服所有开发者,因为它们主要写的是技术书。

不兼容 GPL,匪夷所思

由于 GFDL 中允许作者主动加入不可变章节的限制,而 GPL 是个非常积极抵制限制的许可证,把这两个抖 S 放在一起,必然会导致有点匪夷所思的结果:GFDL 与 GPL 双向不兼容!这也就意味着,假如你用 GPL 发布了一个程序,我用 GFDL 写了一篇技术分析,并且引用了你的源代码,那么我就立刻变成了侵权者。你没有看错!反过来,你引用了我的 GFDL 技术书中的代码,写了一个 GPL 的程序,那么你也会成为侵权者。

这真是一个是一大败笔,但修复它就很纠结了,十分的困难。就连 FSF 的首席法律顾问伊本·莫格林,都在 2006 年召开的 GPLv3 制定大会上吐槽,说经过这么多年的努力,我们终于把 LGPL 以 GPL 附加条款的形式表述了出来,弱力、强力和电磁力就都被大统一了。然而 GFDL 这个烦人的引力我们就是纳入不了统一场论 —— 这实在是太难了。当时在大会上 FSF 确实说要改革 GFDL,但因太难,以至于到现在这万有理论依然是没动经。

Debian 与 FSF,官方逼死同人

由于以上的种种争议,Debian 开发者在大约 10 年前,终于通过了多论激烈的讨论,宣布 GFDL 不符合 Debian 的自由指导方针(DFSG),不承认 GFDL 是自由许可证。Debian 的自由指导方针在立场上和 GPL 很相似,于是一群人站在 GPL 的立场上,对本是同根生的 GFDL 判了死刑。所以所有用 GFDL 授权的文档在 Debian 里大都位于 non-free 软件源里。

此外,Debian 开发者还开发了一个工具,叫做 vrms,也就是史托曼模拟器(Virtual RMS),可以把电脑里安装的所有不自由软件全部列出来,以方便你进行卸载。然而问题是这个软件是既然是 Debian 开发的,自然是按照 Debian 的自由指导方针来写了……于是这位虚拟史托曼就会告诉你,这些使用 GFDL 的文档都是专有的,建议卸载。后来这事被 GNU 的一些开发者之后了,于是它们又以诬陷 GFDL 为理由,将 vrms 工具列入了 FSF 官方的“不自由列表”,说 vrms 这程序有害你的自由,请立刻卸载!

这是在十分可笑,但遗憾的是所有修改 GFDL 的尝试,都遇到了法律层次技术的问题而不太成功,相关讨论一直被无限搁置。

历史问题,后人解决

GFDL 的历史相当悠久,和 GPLv1 是在同一个时间出现的,是自由许可证的先驱。然而历史包袱也是本意为好的 GFDL 遇到了种种未曾预料到的问题。在 21 世纪 10 年代的今天,知识共享的 CC 许可证在制定时既然已经避免了 GFDL 遇到的这些陷阱,而且也得到了 FSF 以及整个社区的公认,没有理由不将 CC 协议看作 GFDL 的升级版,那么为何不去使用呢?

可见,GFDL 并不适合作为像 GPL 一样的默认选择,只有遇到特殊的需求才有必要使用它,其他通行的情况下,默认使用 CC 协议有助于整个开源和自由软件社区的所有人前进。

Categories: 未分类

Linode Xen 下 grsecurity >= 4.3 崩溃的解决 » « 网络维护日

1 Comment

发表评论

Your email address will not be published.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

Copyright © 2023 比尔盖子 博客

Theme by Anders NorenUp ↑