红芯造假:契约精神的反动
来源:科技日报
本报记者高博
IT界前一阵最火的新闻,莫过于“红芯”。这个被宣传为“中国原装”的浏览器,被发现是抄袭开源的浏览器Chromium,甚至连内置的文件名和LOGO都懒得修改。事发后,红芯公司辩称并非抄袭,而是“站在巨人的肩膀上去做创新”。
的确,当今软件业建立在开源代码上,“抄”开源代码再正常不过。那么,红芯的抄法是否光明正大?
不注明来源,就是违反契约
“使用开源的代码,要遵循开源组织的协议。”中科院计算所研究员包云岗告诉科技日报记者,“以著名的开源组织阿帕奇的协议为例,一是使用者要将协议留在代码里面,不能删掉;二是修改了代码的话,也需要在被修改的文件中说明,不能‘抹掉几行就全部当成自己的’;三是基于源代码做了扩展,也应该把协议附上去。”
红芯基于的Chromium开源代码遵循BSD协议——你可以自由使用,或二次开发为专有软件,但你的代码中必须要带上原来代码中的BSD协议。BSD协议要求尊重代码作者的著作权。
包云岗说:“红芯最大的问题在于违反了这个契约。尽管并没有针对开源的法律,但全世界几千万程序员一直都按照这个契约来做事,大家自然不赞同红芯的做法。”
事实上,国内使用Chromium源代码的浏览器还有搜狗、360等等,这些浏览器都遵循了开源协议,做出了声明。
“在此次事件中,红芯是否尊重它自以为‘踩在脚下’的Chrome呢?显然,并没有。”知乎用户“宋拓”评论说:“在我们程序员眼里,继承Chrome的应该是Chrome的子类。红芯这个子类继承Chrome的方式并不是声明,而是copy。”
混淆“自主”与“可控”,就有浑水摸鱼的
“从国家关心的安全层面来看,最重要的是‘可控’。‘自主’其实只是实现‘可控’的途径之一而已。”包云岗在一次论坛上说,基于开源软件二次开发,也完全可以达到“可控”,“但是,当前本末倒置,太过刻意追求‘自主’了,造成‘自主’一词已被滥用。”
红芯之所以从“云适配”改称红芯,并打出“自主可控”的广告,被认为是要沾“自主”一词的光。知乎用户“渔人”讽刺说:“没发现(抄袭)就是纯自主,发现了就是巨人助创。”
其背景,包云岗分析说,以前政府在科技项目管理上对开源意义认识并不够,认为基于开源软件修改的就没有技术含量,必须要“完全自主”的软件才有水平。“这是科研评价的指挥棒问题。好在现在已经有改观,最新的重点研发计划开始直接支持开源软件和相关生态。”包云岗说。
倪光南院士也认为:开源软件在满足“自主可控”要求上是有优势的;在国家层面,科技部、工信部和发改委已启动了大量与开源相关的专项和工程。
二次开发也可以是创新,要按规矩来
红芯事件后,倪光南院士对科技日报等媒体发表观点称,不能因为出现红芯事件,就抹杀了中国软件业在开源基础上有大量创新的客观事实,不该由此贬低基于开源做创新的模式。
包云岗说,基于开源搞二次开发是常见的商业模式,开源社区也很认可。比如开发操作系统的红帽(RedHat)公司,其企业版RHEL是其赚钱来源,但红帽公司遵循开源协议,公开代码。和RHEL功能一样的CentOS可免费获取,这也让大家更认可红帽。如今,基于开源为各大企业开发定制版Linux的红帽公司,市值已经超过250亿美元,年收入超25亿美元。
“开源不等于不能赚钱。”包云岗说,“英特尔1990年代成立了开源技术中心。Linux成长起来,得益于英特尔很大投入。而用户拿到免费的Linux系统,发现在英特尔芯片上跑得更好。英特尔就是这样占据了服务器市场。还有谷歌开源了安卓系统,安卓并不收钱,但谷歌在安卓上预装了浏览器、日历、地图等等,带给它可观的流量。”
包云岗说,尽管研发成果开源不直接盈利,但“羊毛可以出在猪身上”,所以各方都很积极。中国企业过去因为实力有限,参与远远不够。现在已有改观,华为为代表的国内大企业已是开源界的重要贡献者。
红芯被曝光,对中国开源文化是好事
倪光南认为,红芯的错误属于“过度包装”,和汉芯的欺骗不是一回事。他认为对红芯的追责应当适度。
倪光南指出,以前很多人对开源认识不够,一些国内公司基于安卓定制的移动操作系统,自称“自主知识产权”,他们犯了和红芯类似的错误,但都没被追究,都被宽恕。
“如果人们对这类错误从一开始就一视同仁地严加追究,恐怕红芯也不会重蹈覆辙了。”倪光南说。
“这个负面事件,会助推开源文化的普及。”包云岗说,“就我所知,有些大学已经准备开设开源文化的课程,让年轻人知道开源是怎么一回事,应该遵循什么规则。”
“‘红芯’之所以成了‘事件’,首先是因为程序员曝光和传播,他们知道技术细节才揭露出来;但新媒体和传统媒体的推动,才让它为全社会关注。”包云岗说,“这件事是一个警示,对从业者是好事。”