歡迎光臨
每天分享高質量文章

除紅芯還有誰“自主”?盤點國產愛抄的開源軟體

來源:PConline,作者:Aimo

http://pcedu.pconline.com.cn/1162/11621764.html


近日,紅芯瀏覽器的事件引起了網友們的強烈關註。紅芯瀏覽器號稱國產自主研發,並獲得了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,而國內廠商的做法卻正是如此,不禁令人感嘆萬分。

總結

和花枝招展的商業軟體相比,開源軟體的確更少進入人們的視野。但是,開源軟體一直是諸多產品的頂樑柱,它們理應得到足夠的尊重。遺憾的是,在國內人們更多見到的是冒名頂替之徒,希望作為力量之源的開源軟體們能越來越多地被人所熟知吧。


●編號692,輸入編號直達本文

●輸入m獲取文章目錄

推薦↓↓↓

Linux學習

更多推薦18個技術類公眾微信

涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

贊(0)

分享創造快樂