紅芯帶我去思考:基於開源到底算不算自主可控?

不知道是不是2.5億元的融資金額有點扎眼,就在8月15日,號稱“自主可控、自主創新”國產瀏覽器“紅芯”剛剛宣佈被晨興資本、達晨創投和IDG資本等一眾金主爸爸“撐了一下腰”的當天,就被指責實際上使用的還是谷歌Chrome的Blink內核。

紅芯帶我去思考:基於開源到底算不算自主可控?

瞬間,一石激起千層浪。新浪微博和微信等社交媒體上湧出大量質疑紅芯的聲音,指責紅芯公司核心產品紅芯瀏覽器就是將谷歌瀏覽器內核套了個殼,並非所宣傳的那樣自主研發。

紅芯8月16日就此發表聲明,說紅芯瀏覽器是基於Chromium開源項目做的。那這樣到底叫不叫自主可控?

小咖就“紅芯事件”詢問了一位在國產軟件廠商的朋友,到底用了開源代碼算不算“自主可控”?他表示:“如果真正瞭解全部代碼,對程序結構、功能,甚至漏洞都清楚,這可以說是可控。但是否自主,純從字面來看,不好界定。”

從開源歷史說起

曾幾何時,開源還被業界稱為不穩定,商業應用不可行,但是最近幾年,從操作系統的Unix、Linux、Andoroid, 到辦公軟件OpenOffice,到幾大開源組織OpenStack、Docker,、Kubernetes,再到本次故事的主要角色瀏覽器Firefox,Chrome。包括閉源屆大名鼎鼎的微軟和蘋果,不僅發佈大量的開源產品,他們也在自己的產品裡使用開源項目。可以說,開源無處不在。

開源軟件並不是新東西,據說第一個開源軟件是1953年UNIVAC開發的一款A-2系統(具體大家看wiki,反正我還沒出生)。上世紀70年代,AT&T發佈了UNIX,而且對大學和研究機構免費試用,這著實讓開源火了很長一段時間;到了70年代末80年代初,越來越多的公司diss軟件免費現象,其中包括當時還很年輕的Gates老爺子,這時AT&T更是雪上加霜,停止了UNIX的免費分發和打補丁。

這時候一位自帶戰鬥光環的鬥士出現了——理查德·斯托曼(Richard Stallman)。這位老哥背景牛的一塌糊塗,他發起了GNU項目,併成立了自由軟件基金會,開發了GCC、GDB、GNU Emacs,同時編寫了GPL協議。

據有幸見到過此哥們幾次的朋友說,每次講演他都要唱一首免費軟件歌,還要diss微軟幾百遍。有很多人認為他是開源鼻祖,其實他要求更猛,他生涯裡覺得軟件是不應該要錢的,提倡free software。

再來說說GPL協議

GPL——通用性公開許可證(General Public License,簡稱GPL)同其它的自由軟件許可證一樣,許可社會公眾享有:運行、複製軟件的自由,發行傳播軟件的自由,獲得軟件源碼的自由,改進軟件並將自己作出的改進版本向社會發行傳播的自由。GPL還規定:只要這種修改文本在整體上或者其某個部分來源於遵循GPL的程序,該修改文本的整體就必須按照GPL流通,不僅該修改文本的源碼必須向社會公開,而且對於這種修改文本的流通不准許附加修改者自己作出的限制。因此,一項遵循GPL流通的程序不能同非自由的軟件合併。

簡單來說,就是GPL具有嚴重的傳染性,一旦用了一行GPL的代碼或者動態調用GPL的庫,那你的軟件不光要開源,而且整個軟件都必須GPL的。

說老實話,GPL協議的設置讓小咖嚴重以為它就是為了人類大一統的。經過斯托曼的洗腦式的推廣,大量個人和團隊遵循GPL協議開發了軟件,尤其是Linux下,其實Windows下也有,只不過大家用的少。

起初,商業軟件公司對於開源還是很懼怕的,懼怕就會產生敵意,敵意就會往死裡打壓。可是誰讓開源生命力這麼強呢,這時候有些公司就開始考慮,既然勢不可擋不如順勢而為。這裡面佼佼者就是曾經風光一時的Sun公司,就是那個發明了Java的那個。

後來,當商業公司意識到GPL會導致自己軟件別人沒法二次開發的時候,開始自尋新路,本質思路是用更開放的協議來發布自己的軟件,例如MIT、BSD、Apache。這些協議大同小異,但是與GPL最大不同是——你基於我的軟件可以選擇閉源,有的還能改原有協議,只不過有時需要在版權裡提個Copyright什麼的。商業公司覺得你要我就是給我面子,用了我的軟件,我自然能以別的方式來掙你的錢。

那什麼能叫自主可控?

好,現在回到大家的主角——紅芯。

紅芯瀏覽器被業內人士和網友深扒就是在於——打開安全目錄後出現大量和谷歌chorme瀏覽器一致的同名文件,其安裝程序的文件屬性中也顯示了原始文件名chrome.exe。

其實大家有個誤區,Google的Chrome瀏覽器其實是從開源社區Chromium來的,而Chromium是任何人可以編譯成瀏覽器的,只不過少了一些Google的服務什麼的,圖標不一樣。

對於紅芯被指責的核心——使用了谷歌Chrome的Blink內核,紅芯創始人兼CEO對此的解釋是:瀏覽器和瀏覽器內核是不同的概念,紅芯瀏覽器和Chrome瀏覽器有關聯的地方,是兩者都使用了開源的Chromium內核項目,紅芯瀏覽器並不是直接拿Chrome瀏覽器換做自己的產品,而是在Chromium開源項目基礎上進行技術創新。而瀏覽器內核技術也是不斷迭代更新的,Webkit內核基於開源的KHTML,Blink內核基於Webkit內核,紅芯瀏覽器內核Redcore是基於Chromium/Blink。

這就又回到了開頭的那個問題:基於開源,到底改了多少可以叫“自主可控”。國內的也做了這麼多年國產操作系統,基本上是Linux為基礎的,桌面也是多基於GNOME或者KDE,其他應用也大多是基於開源。如果這些叫國產大家認的話,那紅芯說國產也說的過去。

不過,既然紅芯官方宣稱基於Chromium的,應該把Chromium的Copyright列出來,但是about裡沒看到,不厚道。

其實,操作系統最大的問題是生態,非要自己從頭寫代碼,那就需要自己從頭做生態。話又說回來,要是真的能出一個國產瀏覽器那還是很讓人興奮的,WPS做了這麼多年才立柱門面。能不能做好,還需要時間的考驗。

也許,自主可控換一個說法,比如安全可靠、安全可信,更適合吧。結果導向更容易考量。


分享到:


相關文章: