[摘要]XDA称,“我们发现小米已经多次违反了Android设备内建Linux内核公开源代码的做法,违反了GPLv2的许可协议,并且这种行为还在继续。”
近日,著名开发者论坛XDA专门发表了文章指责小米违反了GPLv2授权要求的做法。Android系统使用的是Linux内核,许可证来自GPLv2,根据后者的授权要求,所有Linux衍生版本修改后的源代码必须公开,但是小米到目前为止依然没有公开自己修改的源代码,这违反了GPLv2的授权要求。
原文内容如下:
小米刚刚推出了自己最新的小米Note机型,其配备的最新高通骁龙处理器、超大2K显示屏和4GB RAM配置扮演了价格杀手的角色。但是对于开发领域的我们来说,小米公司似乎并不像其产品看起来那么优秀。一直以来,我们发现小米已经多次违反了Android设备内建Linux内核公开源代码的做法,违反了GPLv2的许可协议,并且这种行为还在继续。
其实,小米并不是唯一一家违反GPL规定的公司,过去也有许多OEM厂商违反协议,包括Rockchip和Micromax等。XDA作为一个开发者社区,能够提供许多基于GPL开源软件修改的软件,尽管没有人会因此感激我们游戏角色,但大多数用户都依然遵循GPL的规定。
而小米的这种做法同样是错误的。不仅如此,这还是一种违法而且并不道德的行为。也许许多人并不了解问题的缘由,那么就让我们一起来看看GPL的规定到底是什么意思。
天下没有免费的啤酒
GPL全称GNU General Public License,是用来保证开发者、OEM厂商、用户以及任何其它组织能够无限制使用软件的自由软件许可证。大家可以学习、使用、分享、拷贝甚至是直接修改软件,因为这些软件都是自由的。
自由软件可以不受限制的使用、复制、研究、修改和传播,自由软件并没有价格。但虽然没有价格,并不意味着它就是免费的啤酒。
并非所有的自由软件都完全免费,需要一部分经费用来培养开发人员的开发环境、通过共享和学习自由软件代码,进一步促进整个计算机科学及软件科学领域的整体进步。
GNU项目对软件方面的要求很高,并且认为所有开发者和用户都应该拥有这种自由。GNU允许所有人来控制应用程序极其运作方式。同时,与其相反的则是专有软件,开发人员可以对其进行控制,但是这也是导致不平衡的权力工具。自由软件允许我们随时随地对其进行研究、甚至可以发布和修改完全属于自己的版本。因此自由软件就代表了整个计算机科学游戏角色,而并不是某个专利。
为何应该免费
“专利”虽然可以用来代表专有软件,但是这也意味着软件所有者可以决定别人是否有权力复制或共享。而这种自由障碍会导致使用和学习程序的人变少,因为别人不可以对其进行修改、调整或修复。这就留下了许多关于社会道德和意识形态的影响,尤其是对未来整个计算机科学以及用户生活所造成的影响。
自由软件许可
首先,任何对自由软件进行修改灯和人必须获得一份GPL许可。GNU通用公共许可证决意保证你有发布自由软件的自由(如果你愿意,你可以对此项服务收取一定的费用);保证你能收到源程序或者在你需要时能得到它;保证你能修改软件或将它的一部分用于新的自由软件;而且还保证你知道你能做这些事情。
同时,我们也规定禁止任何人不承认你的权利,或者要求你放弃这些权利。如果你修改了自由软件或者发布了软件的副本,这些规定就转化为你的责任。如果如果你发布这样一个程序的副本,不管是收费的还是免费的,你必须将你具有的一切权利给予你的接受者;你必须保证他们能收到或得到源程序;并且将这些条款给他们看,使他们知道他们有这样的权利。
这与Android的关系
Android使用的是更宽松的Apache许可而并非GPL许可,因此并没有太多来自GPL的限制。Apache并不要求开源在GPL上进行的任何修改,因此在传递性上并不像GPL像“病毒”一般,而仅仅要求必须在软件中包含自己的许可证。
因此更自由的Apache可以允许OEM厂商在此基础上进行大量的调整、改进及功能增强,同时对这些改进不做开源处理。而这也是小米和其它OEM厂商所做的事情。但是要注意的是,Android也是基于Linux内核开发,而Linux并非使用Apache许可。因此只要使用到了Linux内核,就必须要让软件兼容GPLv2许可。
小米的做法
小米并没有公布Android的核心源代码。小米核心基于Android内核、而Android则基于Linux内核、Linux内核支持GPLv2协议,因此这个协议同样对小米的内核生效。如果小米使用的是自己的内容,那么就有权利不发布内核的源代码,但是既然小米已经使用了Linux内核,那么就必须遵循GPLv2的条款。
所有用户和开发者都有权力要求方位该内核的源代码,不过显然现在小米对于Android内核源代码的修改和调整部分缺少了一大部分被公开。与所有社区正努力让Android系统变得越来越好不同的是,小米作为一家发展迅速的厂商,却在让这个步伐开始倒退。
虽然小米之前承诺过会公开源代码游戏开发者论坛,并且其副总裁Hugo Barra也在2014年10月表示会在未来的几周内公布Mi3内核源代码,但是到现在为止我们可以很遗憾的告诉大家,小米依然没有对外公布。在去年12月份,小米又表示公布的日期将会推迟到2015年。而至于小米迟迟不公布Mi3源代码的原因,Hugo Barra在去年12月份时表示主要是为了这部分源代码会泄露自己新产品的设备信息。
小米的这种做法显然是错误的。毕竟现在已经发展成了颇具规模的厂商,而小米的代码正式基于GPLv2修改,因此就必须要遵守相关规定。在2013年的时候,小米曾经信誓旦旦的表示将公开内核,欺骗开发者说可以为小米手机开发自定义ROM,但是到了一年多以后,还是因为一些没有说服力的理由迟迟不公开。要知道这样的理由每次小米在发布新设备之前都会重复一次。
许可证与合同
我们想说的是,虽然GPL是一种许可而非合同,但是违反GPL许可依然可以视作一种违法行为。虽有基于GPL修改的软件在发布后不遵循GPL规定都是在挑战法律。
是对是错
不管你对GNU自由软件民主、开放和包容的意愿是否支持,但小米这种持续性违反GPL条理的做法无疑是完全错误的。小米通过Android系统获得了巨额的收入,但是却从来都不遵守应该遵守的规则。要知道正是这个规则会让整个行业从开源的生态环境中不断发展,有百万的人都在遵循这个规则的基础上让事业成功。而这种遵循规则的成功才是我们所欢迎的。
从务实的角度上来说,这并不是一件简单移交到法庭上就能解决的简单事情。中国政府始终都意识到了存在各种类型的侵权存在,包括专利偷窃、盗版侵权等,单是始终却没有行之有效的解决手段。许多学者认为这些都要归咎与在中国存在多年的隐性剽窃行为。还有人认为造成这一状况的是来自中国的文化形态,而这种侵权问题已经扩散到了各个领域,当然Android也并不例外。
小米是当今发展速度最快的OEM厂商之一,品牌知名度与日俱增,甚至还有进军美国市场的可能。尽管小米的这种侵权行为对于普通Android消费者来说似乎没有太大的影响,但是在开发层面上,对于整个生态系统整体却进行了严重的破坏。就像GNU项目说明的那样游戏开发者论坛,在这种情况下,会对阻碍整个软件行业的发展。
同时,这也是一种尊重、谦虚的体现。在这里我们要引用牛顿的名言:“如果我看得更远是因为我站在了巨人的肩膀上”。我们希望有一天小米能够遵循开源领域的理念和宗旨,遵守许可,促进整个Android生态不断健康发展。