delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

19 Jul 2005

BSD授权的自我保护

以前一直觉得BSD授权在某些污染型伪自由软件授权面前显得很被动——似乎他们可以任意地剽窃代码而阻止代码以BSD授权发布——然而仔细读来,BSD其实是一个有自我保护能力的授权,它的第一条条款:

 * 1. Redistributions of source code __must__ retain the above copyright
 *    notice, this list of conditions and the following disclaimer.

明示了,如果代码被伪自由软件使用,则伪自由软件的作者有义务将BSD授权放到所有引用了其代码的源代码文件中。

当然,如果伪自由软件的作者不重述这些授权,则这种行为不能称为使用而是明目张胆的剽窃了。典型的例子包括:

BSD代码(*BSD都有,这些代码已经有数十年的历史,取FreeBSD的):
sys/net/bpf_filter.c

我所能拿到的历史代码,这段代码是@(#)bpf.c 7.5 (Berkeley) 7/15/91之前就已经在那里的。

抄袭者的代码:
net/core/filter.c

注意从82行开始的那组判断。

轻描淡写地说「Based on the design of」,而不按照授权条款复制BSD授权,那,我们还能有什么好说的呢?