文章出处:cnet
哈拉德是Linux 内核中防火墙引擎Netfilter/iptables的核心开发人员和包过滤子系统的维护者,他在2004年就建立了Gpl-violations.org,阻止企业违反GPL 许可协议,并取得了一定的成果。
日前,ZDNet UK就如何发现企业违反GPL 、劝说它们遵守GPL 的问题采访了哈拉德。
问:为什么说阻止企业违反GPL 是非常重要的?
答:企业可以免费使用所有GPL 软件,但前提是必须将自己所作的修改无偿地反馈给GPL 社区,这才是公平的。如果大家都违反GPL ,开放源代码的发展就失去了动力,会严重影响开发人员的热情。
问:如何知道企业是否使用了GPL 代码?
答:很困难,必须借助16进制代码编辑器对固件进行分析,通常情况下会发现来自GPL 代码中的错误信息和函数名。有时企业会故意掩藏它们使用GPL 代码的事实,这是一个更加严重的法律问题。
问:向企业表明它们违反了GPL 后,它们反应如何?
答:我们追究的许多企业都是销售商,它们会向OEM 厂商施加压力。我们有时会与企业达成和解,企业同意停止生产、销售违反GPL 的产品,然后推出遵守GPL 的产品。一般情况下,企业都会听取我们的意见,但也有例外,例如Sitecom.
问:企业如何才能确保它们的产品符合GPL ?
答:唯一需要做的就是向GPL 社区开放源代码。企业可以在产品中包含源代码,也可以发表书面声明,向需要源代码者无偿提供源代码。如果企业只在内部使用GPL 源代码,则只需要向所有员工提供源代码。
问:企业需要开放哪些源代码?
答:它们使用的GPL 代码以及衍生产品,没有使用GPL 源代码的部分则无须开放。
问:是什么使你有权追究违反GPL 的企业?
答:它们使用了Linux 内核,而我拥有部分Linux 内核的版权。在起诉时,我是作为个人版权所有者起诉的。
问:你认为GPL 与其它许可协议相比有什么不同之处?
答:这是一个哲学问题。BSD 许可协议允许使用源代码,并进行修改,而无需反馈给开发人员社区,但GPL 则要求将自己的修改反馈回社区。这是二种不同的软件开发哲学,选择哪种许可协议与具体的项目有关。例如,如果开发了一个新标准,并希望它迅速地普及,那么最好的方法是使用BSD 而不是GPL。