红芯浏览器的事件引起了网友们的强烈关注。红芯浏览器号称国产自主研发,并获得了2.5亿的C轮融资,但媒体网友解包和测试后,发现它很大程度上是Chrome浏览器的马甲。一时间众人哗然,纷纷感叹原来经费到手如此简单,只需要直接从开源的Chromium项目拿代码改改就成。
导语:
红芯浏览器的事件引起了网友们的强烈关注。红芯浏览器号称国产自主研发,并获得了2.5亿的C轮融资,但媒体网友解包和测试后,发现它很大程度上是Chrome浏览器的马甲。一时间众人哗然,纷纷感叹原来经费到手如此简单,只需要直接从开源的Chromium项目拿代码改改就成。
而实际上,被国产狂抄后冠名为“自主研发”的软件,又何止Chrome?今天,就一起来盘点一下那些深受“自主研发”欢迎的开源项目吧。
各大开源操作系统
要说国人对什么软件“自主研发”最为见怪不怪,操作系统估计排得上名号。作为最复杂的软件工程之一,操作系统的重要性和研发难度不言而喻,能在主流市场当中呼风唤雨的操作系统,都不是省油的灯。
长久以来,似乎一直没有出现一款能在市场上具有竞争力的国产操作系统,这让人们对中国软件行业多少有些怒其不争的意思。
此情此景下,如果突然涌现一个“自主研发”的操作系统,无疑意义重大。然而遗憾的是,这些操作系统往往是“被自主研发”,各大开源操作系统纷纷沦为受害者。
例如,某神兽操作系统,主要是由开源操作系统项目修改而来。不仅如此,不同的版本甚至还源于不同的开源系统。例如,v3版源于CentOS 6.x,而v6版源于Fedora,优麒麟版本源于Ubuntu,服务器的版本则源于FreeBSD。
基于开源软件开发的产品,会有自己的技术,但无论如何也说不上是“独立自主研发”。
国内很多系统其实基于Linux,这并没有什么错,但一些宣传报道歪曲了它们的出处
当然,这个“独立自主研发”的名号有可能更多的是宣传部门,或者是媒体扣上来的帽子,某些国产操作系统随后也大方承认了项目并不是那么的“自主”。其实利用开源项目做出自己的产品,本身也并没有什么错——无论是Android还是iOS,都离不开开源项目的支持。
但是,使用了开源项目,但不按照开源协议公开相关部分代码,却是相当不道德的。遗憾的是,国产这些“自主研发”的操作系统,不少都难以顺利找到按照协议公开的代码,希望这点之后能做得越来越好吧。
OpenOffice
办公软件大家每天都在接触,除了微软的Office外,一些Office兼容软件也深受大家欢迎,例如国产的WPS就在办公室里有和微软Office分庭抗礼之势。WPS打铁是因为自身硬,本身是办公软件的师祖,并且和微软进行了交叉授权;然而,但并非所有的国产办公软件都是如此——某些国产办公软件,是基于OpenOffice这个开源项目打造而来的,但却很少有人知道这一点。
OpenOffice是Linux上常见的Office解决方案
OpenOffice是国外的著名的开源办公套件,它可以对微软Office实现基本的兼容,长久以来是Linux平台当中的装机必备之一。而难得的是,OpenOffice提供了相应的接口可以让第三方开发者组建自己的产品,还将代码进行了开源。
此情此景下,不少试图兼容Office的软件都会借用OpenOffice的技术,国产的一些Office软件也并不例外。
借助OpenOffice实现Office文件兼容以及办公相关功能的国产软件有不少,例如著名的RedOffice、中标普华Office等等。
实际上,这些Office当中,不少产品并没有非法使用OpenOffice的代码——尽管它们并没有开源,但按照之前的SISSL协议,如果你仍使用OpenOffice 3.0之前的代码,的确是可以这样做的。从这个角度来说,OpenOffice谈不上“被害”。
一些国产的Office软件可以看到是基于使用LGPLv3协议的OpenOffice,但却没有根据协议开源
但是,某些使用了OpenOffice技术的国产软件,却自称“自主研发”、“国产”等等,某些版本使用了GPL/LGPL协议后也没有进而开源,这就不太对劲了。
使用开源代码构建自己的产品并不可耻,只要产品力足够好,用户也会大力支持;强行往脸上贴“自主研发”的金,反而会大大拉低人们对国产软件的印象分,得不偿失。
VirtualBox
如果你喜欢玩弄操作系统,那么你一定对VirtualBox有所耳闻。VirtualBox是最为著名的虚拟机解决方案之一,它最早来自于Sun公司,Sun被甲骨文Oracle收购后归入到Oracle门下。
VirtualBox可以在多个平台上运行,而且能够虚拟不同的操作系统。而它之所以广受欢迎,一大原因是因为它本身是免费的,并拥有开源的OSE版,只要遵循GPLv2开源协议,任何人都可以使用其代码。于是,国产软件们纷纷盯上了这一块大蛋糕。
很多PC玩家都熟悉的VirtualBox,它拥有开源的OSE版
或许有的朋友会疑惑,似乎没怎么听说过有什么国产虚拟机软件产品。但其实使用VirtualBox代码的国产软件的确不少,例如很多人喜闻乐见的安卓模拟器,不少就是基于VirtualBox改造而成的。
目前国产安卓模拟器大致有三大派系,一是使用BlueStacks蓝叠二次开发而成,二是以Android-x86作为基础编写,三则是基于VirtualBox的代码构造。不少大家常见的PC安卓模拟器,实质上都是魔改的VirtualBox虚拟机。
然而,这些模拟器往往会宣传“自主研发”的引擎,并且你基本上找不到它们遵循GPL协议进而开源的代码。当然,这些模拟器并非全都是使用VirtualBox的开源代码,也有一些产品使用的是商用版VirtualBox,经过合法授权并且无需开源。但无论如何,它们都很难谈得上是“自主研发”。
被抄的浏览器/下载工具
Chromium
终于说到浏览器了。这次红芯浏览器之所以引起口水纷纷,就是因为自称“自主研发”,却被人们测试解包后发现,它本质上是Chrome/Chromium的马甲。而实际上,不止红芯浏览器,国内绝大部分的“极速浏览器”,都使用了和Chrome类似的引擎。
红芯浏览器就是一个使用Chromium却自称自主研发的典型产品
Chrome浏览器背后的Chromium,为国内一众浏览器提供了引擎,应该是国内软件最喜闻乐见的开源项目之一了。Chromium源于Webkit,而Webkit则源于DE开源项目,兴盛于苹果公司的Safari项目,所以说起来Chromium和苹果还是有一些渊源的。
不过,Chromium最引以为傲的JS引擎是自己研发的“V8”,同时还在Webkit上封装了一层Webkit Glue。可以说,Chromium对Webkit进行了相当程度的魔改。
现在Chromium已经转用了Blink引擎,和Webkit的渊源就更远了。Blink带来了更高的运行速度,不过并非所有的国产浏览器都有跟进——为了兼容Windows XP,不少国产浏览器仍在使用较为老旧的Chromium 49。
和很多著名开源项目不同,Chromium很多代码都使用了较为宽松的BSD许可证,其他软件引用它的代码并不需要再次开源,因此广受国产软件商的欢迎。
其实主流的国产双核浏览器都会承认自己基于Chromium,这点还是足够坦白的
和其他使用开源代码的产品相比,国产浏览器在这方面还是比较良心的,不少都会标注使用了Blink或者Chromium引擎,大方承认“抄”了别人,像红芯那样号称“自主研发”的只是少数。
eMule
如果你是一名老司机,那么一定知道eMule电骡这个名字。作为世界上最流行的P2P传输协议之一,eMule所使用的eD2k链接到现在仍在广泛流行。很多朋友第一次接触eD2k,是通过VeryCD电驴。不过你或许并不知道,其实这背后也有一段李逵李鬼的故事。
以前大家开车常用的“VeryCD电驴”,原版是eMule
eMule是一款开源软件,它可以看作是是商业软件eDonkey(这才是正牌电驴)的同人作品,除了支持eDonkey的eD2k协议外,还新增了KAD节点的支持,让eD2k彻底成为了完全的P2P网络。eMule和eD2k很早就在国外广为流行,但由于eMule是开源软件、缺乏商业推广的原因,在国内长时间内只是小众的玩物。
于是VeryCD看到了商机,将eMule进行魔改后,推出了“VeryCD电驴”(注意和eDonkey电驴区分)。
VeryCD电驴基于eMule,但长久以来一直以“官方电驴”的宣传混淆概念
在起初,VeryCD电驴还保留着eMule的大量功能,但到了后来,VeryCD电驴将最精髓的KAD资源搜索等功能重重阉割(KAD可以搜索全球eMule共享的资源,VeryCD电驴后来只能搜索自己官网的资源),而且宣传上更是将自己当做是正牌电骡。
在好一段时间内,搜索引擎搜“电骡”或者“eMule”,排名首页的一度是VeryCD官网而非eMule-Project官网。这让很多国人从未意识到原来VeryCD电驴不是原版,eMule惨遭冒名顶替。
实际上,国内抄袭eMule的并不止VeryCD电驴一家,一些所谓的“种子搜索神器”,往往也是eMule源代码抄袭者,而且是功能上的劣化版。这些所谓的“种子搜索神器”其实只不过原封不动照搬了eMule的KAD资源搜索功能,然后基本将其他功能阉割殆尽,并在界面当中加入了广告。
一个典型的“种子搜索神器”,由aMule(类似eMule的开源项目)阉割而来,蒙骗万千网友
eMule所使用的开源协议是GPLv2,但国内的抄袭者不说按照GPL开源了,连原版eMule的名号都没怎么提。开源协议遭人无视,抄袭而来的劣化版广为流行,而强大的原版却鲜为人所知,eD2k生态还被迅雷等下载工具的吸血行为大肆破坏,eMule算是被国产软件抄得最惨的开源项目之一了。
被抄的解码器/压缩软件/路由器固件
FFmpeg
除了eMule之外,还有没有被国产软件抄得巨惨的开源项目?FFmpeg算是另一个。大家都喜欢用各种万能播放器看精彩的小电影或者大片,不过很少人知道,播放器之所以如此万能,能够让FBI天天来警告你,背后最大的功劳是FFmepg。
很大程度上,没有FFmpeg,就没有各种万能播放器
FFmepg是一个和视频解码、编码以及处理相关的开源项目,对世界上千奇百怪的视频音频编码有着完善的支持。如果你对多媒体技术有一定的了解,应该会知道能否播放一个视频,关键不仅在于视频的格式(MP4、AVI等),更在于视频封装的到底是怎样的编码(AVC、HEVC等)。
而FFmpeg能支持绝大部分音频视频编码,得益于开源免费这点,它成为了众多播放器/解码方案的根基。
例如,在国内大家熟知的暴风影音,最早源于MPC播放器的修改,而MPC的诞生和FFmepg脱不开关系;又例如QQ影音,使用了大量源于FFmepg项目的解码器。
但是遗憾的是,这些播放器极少根据FFmepg所使用的GPL/LGPL协议开源,FFmpeg成为了代码被盗用得最严重的开源软件之一,不少著名的国内播放软件都是FFmpeg代码的偷窃者。
暴风影音最早是MPC 解码包的集合,MPC和FFmepg有千丝万缕的关系
QQ影音的确声明使用了FFmpeg的代码
但所给出的代码下载地址,却是无法访问的
时至今日,暴风影音、QQ影音等国产播放器,乃至KMPlayer、PotPlayer等国外著名播放器,都采用了FFmpeg的代码但却不按规矩开源,被放入了FFmpeg的耻辱名单当中。如果你想要支持FFmpeg,可以优先选用MPC、MPlayer、VLC等遵循开源协议的播放器,有条件的话更是可以通过捐赠的方式支持FFmpeg(点此进入捐赠页面 )。
7-Zip
压缩软件可谓是装机必不可少的软件了,近年来不少国产软件厂商都推出了自己的压缩软件产品,友好的UI加之高举免费大旗,一下子吸引了大量用户。然而,大部分国产压缩软件的背后,都离不开7-Zip这个开源项目的技术支持。
7-Zip业务能力非常强,但界面比较简陋,很多人望而止步
7-Zip是目前最优秀的压缩软件之一,它的算法非常先进,支持LZMA等算法,压缩效率极高,对比ZIP和RAR在压缩率方面都有优势。不仅如此,7-Zip还支持AES加密、固实压缩等特性,并且广泛支持多种压缩格式,表现可以用惊艳来形容。
当然,对于一些需要商业授权的压缩格式例如RAR,就只能解压不能压缩,但瑕不掩瑜,7-Zip仍可以称得上是良心之选。
更为良心的是,7-Zip以及其压缩格式7Z都是免费开源的,因此它的内核被众多其他压缩软件所使用。不少国产压缩软件也是7-Zip的忠实拥趸,使用了7-Zip的内核,但其中一些压缩软件,却抄得毫无底线。
7-Zip根据LGPL协议开源,这意味着如果使用了7-Zip的代码,一定程度上也需要对相关代码进行开源。然而,“快压”等软件非但没有开源,还自称是自主研发的压缩技术,但实质是在压缩文件的文件头中故意加入无助于压缩的私货,让其他压缩软件无法解压。
“自主研发”的“KZ”格式,节选一段数据
在7-Zip压缩的文件中,可以找到一模一样的数据,换言之压缩算法是一样的
用了人家的开源代码还故意制造不兼容,对于这种行为,只想说一句,“我从未见过如此厚颜无耻之人”!
OpenWRT
近年来很多厂商都开始推出“智能路由器”,和传统的路由器相比,这些“智能路由器”能够自由安装第三方应用扩展,体验的确更加近似智能手机系统。不过,国内绝大多数的智能路由器,都和OpenWRT这个开源项目脱不开关系,而OpenWRT其实也并非近年才有的产物,但这点却鲜为国内用户所知。
OpenWRT是很多国产智能路由器固件的根基
OpenWRT是一个开源的路由器固件项目。在2002年,有人发现Linksys WRT54G——这款也许是史上最有名的路由器,竟然偷偷使用Linux的代码,但却没有按照GPL协议进而开源。
种种压力之下,思科最终还是被迫开放了Linksys WRT54G源代码,而这些源代码也成为了日后各种第三方路由器固件的根基,OpenWRT也是基于此代码改进而来的。
OpenWRT基于Linux,它的一大特点就是具备强劲的扩展能力,开发者和路由器玩家可以为路由器灌进各种自己想要的功能。
而OpenWRT或许也是影响最大的路由器固件之一了,它能够根据需要编译成不同的版本,运行于ARM、MIPS等硬件平台,同时DD-WRT等一些著名路由器固件,也是基于OpenWRT编写的。但是对于普通用户来说,OpenWRT难于上手,它的诸多功能需要依赖命令行实现,而且操作不慎容易让路由器变砖。于是国内的路由器厂商看到了商机,纷纷利用OpenWRT做出了“智能路由器”。
由于基于OpenWRT,因此国产“智能路由器”也有较强的扩展能力
这些“智能路由器”界面的确比OpenWRT更加友好,但在性能和可玩性方面,对比原版往往还是有所不如的。
不但如此,国内的路由器厂商使用了OpenWRT,却不按照GPL协议继续开源。回想起OpenWRT之所以能出现,就是因为思科必须按照GPL开源;没人遵守GPL就没有OpenWRT,而国内厂商的做法却正是如此,不禁令人感叹万分。
总结
和花枝招展的商业软件相比,开源软件的确更少进入人们的视野。但是,开源软件一直是诸多产品的顶梁柱,它们理应得到足够的尊重。遗憾的是,在国内人们更多见到的是冒名顶替之徒,希望作为力量之源的开源软件们能越来越多地被人所熟知吧。
,