自由軟體基金會是1983年成立的,到現在是41年。正好很有意思的是,在去年還有一篇文章 ( ) ,專門在質疑說成立 40 年的自由軟體基金會是不是已經快不行了,所以我們會用這個標題叫做興衰發展歷程來介紹這個事情。
黑客文化和黑客倫理
在介紹自由軟體基金會、介紹自由軟體運動之前,不得不提到的黑客文化和黑客倫理。黑客文化起源於1960年代末的美國大學校園俱樂部和科研機構,比如說麻省理工的人工智慧實驗室。其實我們經常會說 Richard Stallman 是最後一個黑客,他就是在 MIT 的人工智慧實驗室裏工作的。
在這些實驗室裏面工作的很多人,他們形成了一套獨特的技術風格和文化,其中還有一個叫 Jargon File 的這樣的一個文件,這是由一群黑客自己維護的一本手冊,內容就類似於行業黑話,像我們有哪些笑話、有哪些段子或者是梗,這些外面人不懂,但是我們自己要搞清楚。他們有一個很有意思的傳統,什麽時候你才會被認為是一個黑客?很簡單,就是你被其他黑客認為你是黑客的時候,那麽你就是黑客。他有點像是黑幫組織,一旦你被認可成為裏面的人,你就會成為其中的一份子。這是一種是非常小團體的文化,他們是一群做技術的人,他們對技術抱有非常深厚的熱情,也在推動技術往著極限的方向去發展。
他們也為自己創造了一套黑客倫理,這裏做個摘要:
第一條就是資訊是應該自由流通的,限制資訊的流通對知識自由的損害。 之前有一個,曾經發明了 RSS 檔格式的一個小夥,叫 Aaron Swartz,他就是一個繼承了黑客精神的一個人。他利用自己的這個技術手段,跑到大學校園裏,把很多沒辦法被公眾所閱讀的論文拷出來,然後公開的在網上散播。他認為既然都已經是公開發表的論文,為什麽不能被大家知道?後來他因為這個原因被 FBI 逮捕。他認為資訊是應該自由的,這就是一種黑客倫理,所以黑客倫理經常會被一些圈外人所詬病,也是因為覺得他們是在合法和非法之間的一個灰色地帶做事情。
所有的黑客對電腦和技術的渴望都是無限的無窮無盡的。 尤其是在1960年代、1970年代,那個時候一個學校裏就那麽幾台大型電腦、小型機,他們想要去玩、去擺弄那些機器,如果有人阻止他們不讓他們進機房,他們就會想方設法的敲門、開鎖進去弄電腦。這就是他們對電腦那種渴望的心情,就跟現在很多小孩喜歡打遊戲,偷偷躲在被子裏也要把遊戲給玩了,是一個道理。
反對權威 ,也是因為這個原因,他們會覺得你們水平還不如我,為什麽你們會有那麽多用電腦的時間,而我們因為是學生、資格不夠老,反而不準我們用,是非常無法理解的事情。所以在他們的黑客倫理裏面就會講,誰是大牛、誰寫出了最好的程式碼,我們就應該聽他的,因為他最厲害、他腦子最清楚、他智商最高,因為他寫出來的程式最漂亮,這就是厲害的人,我根本不去管他是權威或者職務,只管他自己本身有沒有做出足夠的貢獻。
另外還有一個,「Hacker 黑客」 和 「Crack 駭客」最大的區別。黑客是在改善世界的,他們用技術在做 改善世界 ,創造更美好於世界的事情,而不是去做破壞,去為自己謀利益。所以 Hack 和 Crack 是兩個完全不同的型別,雖然他們都掌握了非常強大的技術。
自由軟體運動的時間線
我們談到自由軟體運動,一定會談到 Unix,因為在1969年 Unix 誕生之後,Unix 的很多原始碼背後的思想,以及它所用到的 C 語言以及它背後的編程風格,都嚴重影響了所有的早期黑客。這也是為什麽在很多的高校裏面,他們透過改 Unix 來開始自己最早的黑客生涯。
1976年,Richard Stallman 就已經開發了最早的 emacs。等到後面他自己弄了 GPL 之後,他的 emacs 就用 GPL 來釋出了。
1983年,Richard Stallman 宣布要建立一個 GNU 計畫(GNU's Not UNIX),號稱要建立一個自由的Unix。為什麽會有這樣的一個計畫的誕生?其實是因為在70年代末的時候,商業軟體開始興起,這就意味著很多的企業可以透過售賣軟體來賺錢,於是越來越多的商業軟體公司誕生,他們開始把軟體閉源並開始釋出形形色色、互不相容的作業系統去賣錢。而 Richard Stallman 受不了這種事情,因為本來他所處在的是一個像烏托邦一樣的社會,在那個社會裏面,所有的程式碼都是自由流通的。現在大家都把自己的程式碼給閉源了,他要去改程式碼改不了。更重要的是,他原來所在的 MIT 人工智慧實驗室裏面的朋友都是一起在鉆研技術的人,沒想到這些人為了搞商業軟體就從實驗室離開了,連朋友都沒得做。這些是他非常痛恨的事情,所以他就發起了 GNU 計畫。
1985年,Richard Stallman 成立了自由軟體基金會。
1989年,他找到了一位律師作為合作夥伴,釋出了 GPL 的 1.0 版本。
1991年,釋出了 GPL 的 V2 版本。這一年其實也是自由軟體運動的轉折之年,因為在那個時候 Linus Torvalds 也開始啟動了 Linux 內核計畫,後來他也采用了 GPL V2。
2001年,成立了自由軟體基金會的歐洲分部。
2007年,GPL V3 釋出,但事實上,GPL V3 釋出已經埋下了分裂的種子,因為那個時候 Linus Torvalds 堅決不願意把 Linux 內核計畫改到 GPL V3,他只願意用 V2,當時理念已經有分裂了。
不過,開源運動的分裂還要再往前算。
自由軟體的定義與GUN 通用公共授權證(GPL)
什麽叫做自由軟體?通常在 Richard Stallman 所宣傳的自由軟體的哲學當中,他會把自由軟體的四個標準分別稱之為自由之零壹貳三。從零開始,這就是他們一個玩梗的做法。
第一個是執行的自由 , 就任何一個程式碼,任何一個程式,你能夠按你的自由去執行,不管它用於什麽目的。
第二個是修改的自由 , 你可以修改來符合你的需要。
第三個是散布分發的自由 , 或復制或再次傳播,是幫助他人的自由。
最後一個是把前面的三個加在一起,也就是你可以再修改,修改之後再散播 , 這樣你就有機會讓你的改善惠及整個社群。
所有的前提就是你必須得有原始碼,否則沒辦法修改,更沒辦法散播。自由軟體的目標就是為使用者提供自由和控制力,幫助他們能夠使用復制、分發和改進軟體,而不受專有軟體的限制,這就是自由軟體的核心。
整個 GUN Public license(GPL)就是為了貫徹這一套自由軟體的定義而開發出來的一套法律的授權的協定(license)。
自由軟體基金會正在走向消亡
2019年,Richard Stallman 替他的朋友明斯基(一位著名的人工智慧專家)辯解,而後就引發軒然大波,還被迫辭去了自由軟體基金會主席的職務。
到了2021年,兩年之後,他又重返了自由軟體基金會,但是遇到了很多抵制的呼聲,甚至像開源軟體促進會(OSI)和紅帽(Red Hat)都發公開信直接抵制他,認為自由軟體基金會不應該接納他回來做主席。
在2023年4月份的時候,有人聲稱說40年來,自由軟體基金會正在走向消亡。因為它沒有真正的重視傳播自由軟體的理念,沒有認真的去釋出和推廣 Copy Left(Copy Right 的反面的一種授權證,指的是GPL),它沒有幫助自由軟體運動健康發展,還分心將資源投到了其他的亂七八糟的事情當中。當然,我相信寫這篇文章的人應該算是自由軟體套用的鐵粉,所以他會認為自由軟體基金會沒有真正的做到他的理想。
事實上,我們這些在自由軟體運動之外的人,我們現在確實更多的在談論的是開源軟體,而不再是自由軟體。就像我們今天分享的主題已經講的是開源世界的學術問題,而不是自由軟體世界的學術問題。那我們可不可以認為自由軟體運動已經完成了自己的歷史使命?我們有可能透過改革重振旗鼓?重新宣揚,激起大家對自由軟體的渴望?我說實話,我個人的判斷幾乎不可能,這就是是現狀!而為什麽會變成這樣,恰恰是一個值得研究的問題。
圍繞自由軟體運動,能夠提出哪些問題 ?
我們來嘗試提問。
第一個提問就是自由軟體運動的文化背景。 出於什麽樣的原因,自由軟體運動會在1970、80年代在美國興起,這件事情為什麽會在美國發生?
其實我們可以看得到, 第一個是在美國的70年代、80年代是他們的技術理想主義最興盛的時候, 就是有一群搞技術的人,同時堅定的相信技術在不斷進步,在不斷的造福世界。做技術的人、做軟體的人、寫程式、做電腦科學的那些人就應該為了世界更加美好而去做出努力,他們會相信透過技術能做到這一點,這是一種非常樂觀向上的一種技術理想主義。
第二,黑客文化的影響 。 技術理想主義的典型就是黑客文化,就這麽一小撮這群人的黑客文化被傳播出來,他們會影響著非常龐大的一個群體。因為絕大多數的人,把他們等同於技術天才,創造力無限,同時他們會對世界產生很多的貢獻。
第三,對商業化和專有軟體的反思。 我們可以說微軟在這個當中起了一個很大的作用,所有人都會把微軟當成是一個反面典型,商業化和專有軟體大家都不喜歡,所以我們要透過自由軟體運動去反對它。
第四,是當時在美國的反文化運動。 當時的反越戰、當時的反對黑人民權運動,包括當時的女權運動,整一系列的反對聲音,都是匯集在一起的,統稱為反文化運動。而這些反文化運動當中,有一群嬉皮士是這樣的一種風格,就像說我們有時候經常會混淆一個嬉皮士和一個黑客區別,只在於他用不用電腦。如果他不用電腦的時候,就像是一個嬉皮士,他用起電腦來的時候,就像是一個黑客,是這樣的一種人的人物畫像。那這群人他們會非常向往共產主義社會,向往每個人都為世界貢獻出自己的力量的這樣的一種可能性,向往一種開源軟體和自由軟體被分享和散布到全世界的、遍及全世界的一種未來。
這是自由軟體運動的一種文化背景。事實上我們再去回看,當年的美國和現在的美國,我們可以認為現在的美國根本不可能再誕生新的自由軟體或者開源軟體運動,美國現在已經不是這個樣子,當然中國也不是這個樣子。
除此之外我們接下來,還可以有一些提問。
第一,在中國現在的文化背景下,自由軟體運動和開源軟體運動背後的這些文化在中國能不能紮根?
第二,我們可以看得到,在自由軟體運動興起的時候,其實是激烈的反對版權專利和相關的智慧財產權的那一套體系的,所以才會有 GPL 或者叫 Copy Left 這樣的一套理念。但這套理念到底對版權法和傳統的智慧財產權產生了多大的沖擊?我們再去看後面的開源軟體 License 的歷史的時候就會發現他們漸漸又相融了,這樣的一個過程,從法律的角度、從智慧財產權的角度是有很多可以研究的點,所以這個也是一個可以探討的問題。
第三個,自由軟體真的對商業不友好嗎?我們經常會說,或者經常會聽到說 GPL 有傳染性,或者說這個自由軟體對商業不友好。是這樣嗎?我們說整個的 Linux 內核,整個 Linux 作業系統以及像紅帽這樣的開源軟體公司,它下面基於的就是 GPL,但他們的商業也同樣的很成功。那麽這背後的原因到底是什麽?很多國內的廠商上來就是我不要用 GPL,或者我如果要開源,我也不選 GPL,因為 GPL 對商業不友好,我認為他沒有被認真的研究、分析過國外的這些案例到底是不是真的不友好。
再接下來,自由軟體運動在誕生之初就開始討論在數位世界,使用者的主權以及使用者的私密,他們認為這樣的一種自由軟體運動能夠保護使用者的數位私密。但是我們也可以看到後面的時代,尤其是除了雲端運算的興起以後,事實上越來越多的計算不是發生在使用者的本地,而是發生在雲端。這個時候使用者如何來保護自己的數位私密,還是說每個使用者都需要透過提升自己的軟體能力,透過執行在自己家裏原生的伺服器來保護自己的數位私密,有沒有這種可能?我認為是非常困難,但是這也是自由軟體運動的理想之一。
這就是我們圍繞著自由軟體運動可以提出來的很多問題,我沒有答案。
為什麽會提這個案例,因為它恰恰是一個分水嶺,就是我們既可以把 Linux 的誕生稱之為自由軟體運動當中的重要的裏程碑式的現象,但它同時也是開源軟體運動的重要的裏程碑,所以它同時是身兼兩種角色的。
上圖是Linus Torvalds 91年讀大學的照片
下圖是二零零幾年的一張照片
Linus Torvalds 在讀大學的時候就開始對電腦有濃厚的興趣,從小開始玩家裏的一種早期電腦。到了91年讀大學,因為當時家裏面是搞到了一台386(Intel 80386是 英特爾 公司於1985年10月17日釋出的 CPU ),於是他就在自己家的386上面想要基於當時他認識的一個老師開發的 Minix 教學版作業系統做自己的修改,然後再全部從頭推翻做,最後開發出了自己的開源的內核,又借助當時早期的互聯網信件列表,開始對外釋出自己的原始碼,並且很快就吸引了全球開發者的貢獻和興趣。
到了93、94年的時候,Linux 憑借其穩定性,安全性和開源的特性,已經成為多種計算平台的重要選擇。甚至有很多的商業的 Unix 的作業系統公司倒閉了,被一個完全不要錢的、開源的、免費的、全部原始碼公開的作業系統給幹掉了,這就是 Linux 的早期階段。
另一位非常重要的人物,叫 Eric Raymond。我們之前提到的 Jargon File 黑客手冊是他在維護。這個人在黑客當中最會寫文章,也是在寫文章的人當中最會寫程式碼的一個家夥,身兼兩職,他在97年的時候發表了一場演講,經過整理之後在99年出版了一本書,叫【大教堂與集市】。這本書在國內被衛劍釩老師轉譯成了非常優秀的一套中文版本,我推薦大家去閱讀。這本書主要是由五篇論文組成,在書中他探討了很多要點。其中講到了大教堂與集市是兩種開發模式,他認為 Linux 開發是一種集市的模式,透過廣泛的協作和開源的方式,有效的提升了軟體品質和創新速度,而這樣的一種方式在他的描述下是一種更先進的、更理想的開發協作,所以他還總結了 「優秀開源軟體的19條經驗」 (書中第二章節),我認為到現在都不過時,如果要想去做一個好的開源軟體,或者是維護一個好的開源社群的話,這個是非常值得一讀去吸收的經驗。
另外, 禮物文化 也是 Eric Raymond 在【大教堂與集市】這本書裏第三章節提到的,它背後參照的是人類學。有一位法國人類學家馬塞爾·莫斯寫過一本書【禮物】,Eric Raymond 參照的是裏面的一個例子,講的是古代社會在原始部落裏面,部落酋長透過贈送禮物,甚至透過「誇富宴」這樣的一種行為來獲取自己在部落和部落之間的部落聯盟中的聲望和影響。我不是透過我的強力,不是透過我的戰鬥力,不是透過我的武裝力量,而是透過我更慷慨,更加願意把禮物送出去來換取自己的地位,這就是他所認為的禮物文化,而這個禮物文化在開源社群裏面到處都能看得到。我們經常會認為那些寫程式碼寫得最好,並開源出來的人是大牛,因為他們給這個社群貢獻了更多的禮物。
另外還有一個, 林納斯眼球定律, 這個定律是在講一個開源軟體為什麽它會有更高的品質,是因為社群人越來越多,這些社群的人都能夠看得到軟體的程式碼,眼球越多,程式碼的品質就會越高,因為大家能夠更快發現程式碼中的 Bug 和缺陷,也能夠更快的讓軟體得以修正。這就是他在描述開源軟體為什麽會有更高的品質的時候,背後的一個邏輯。97年的時候,網景公司(Netscape Communications Corporation)曾經有一個高管,他正好在現場聽到了 Eric Raymond 的演講,於是他就回到公司寫了一份信件給自己公司的其他高管,當時正是 Netscape 在跟微軟瀏覽器大戰的時候,微軟透過在 Windows 裏面捆綁 IE 這樣的一套戰術,把他們逼得已經快不行了。
到了98年,他們透過跟 Eric Raymond 一起合謀並對外宣布將在本季度內對外開源。結果到了第二個月,整個網景瀏覽器的原始碼就對外開源了。到了1998年2月3日,在加利福尼亞的這個戰略會議上面,他們達成了一致意見,把 Open Source 這個名字給定下來。與此同時的話,他們還就很迅速的成立了開放原始碼促進會(OSI)。1998年4月7日,第一屆 Open Source Summit 就召開了,整個事情在幾個月的時間裏面發生得非常快。
右側三圖,最上面是 Firefox 最早的 logo,到後面才改成了稍微圓潤一點的火狐的樣子。最下面是 OSI 的 logo,我們可以認為是 open source 的一個標誌
80年代末主要是理想主義,但是到了90年代,尤其是2000年之後,我們可以看得到一系列的大企業的影子。比如90年代開始,IBM 為支持 Linux 繳納超過十億美元的專利費。1999 年 IBM 幫助建立了 Apache 軟體基金會。
2000年,為了支持 Linux,開源發展實驗室(OSDL)成立。
2001年,IBM 開發了 Eclipse 計畫,並引導了2004年 Eclipse 基金會的成立。
2005年底,IBM 聯合多家企業創立了開放專利的網路開放專利聯盟(OIN,Open Invention Network),透過這樣的辦法來形成一個互相之間不再做專利起訴的一個聯盟,也是為了共同的對抗微軟。
2007年,OSDL 與自由標準組織一起合並成立了 Linux 基金會。目前除了當時的初創企業之外,還有了微軟、華為和其他公司s如 PPT 截圖),我們可以看到微軟是2016年加入的。
我們去看對抗微軟的聯盟是怎麽形成的?他們要做開源的作業系統,然後 Eclipse 是開源的 IDE,OIN 是開源的,或者說是開放的專利,還有 Apache 最開始的時候是 Web Server。這些說實話本來就是微軟的優勢計畫,他們透過開源企圖削弱微軟在市場上的競爭力。一開始微軟是反對的,後面詆毀,最後打不過就加入了,這樣的一個過程。
開源運動時間線
我們再去看看這個開源軟體運動的一個時間線(詳見上方截圖)。2014年,微軟新任的 CEO 宣布微軟愛 Linux,在後面他們還有一系列的動作,比如2016年微軟加入了 Linux 基金會、比如微軟收購了 Github、再比如微軟現在已經成為全世界對開源貢獻最大的企業之一,甚至有可能排名第一。背後線索非常的有意思,我們看得到的是微軟當時是最強大的公司,所有其他的公司透過開源來對抗它。但是等到微軟轉過頭來做開源的時候,它依然是最強大的開源公司,它在開源領域同樣玩得風生水起,不輸給任何一家,是一個很有意思的時間線。
那麽圍繞著 Linux 的興起和開源軟體運動,我們能夠提哪些問題?我們能夠去思考哪些問題?
比如說第一個問題:開源從自由軟體當中分叉出來,他們到底有什麽樣的分歧 ? 我們可以聽到的一個最常見的分歧也是我認為最站不住腳的分歧,是他們認為 free software 的「free」有免費的意思,容易讓人誤解,所以我們就不要用這個詞。事實上,自由軟體運動當時並不是無人知曉,而且 Richard Stallman 以他的影響力一直對外宣稱的是「free」不是啤酒的「free」,而是自由的「free」。他們一直在宣傳,不存在什麽分歧。對於自由軟體和對於 GPL 的所謂的這個什麽傳染性、商業不友好,這樣一系列的宣傳,我相信它同時是從兩個陣營出來的。
一個陣營當然是微軟長期以來會對 Open Source、對 Free Software 散布一些不利的言論,但是另外有一些言論其實是從 Open Source 那裏來的。我自己的理解認為開源和自由軟體最大的分歧是,自由軟體真正要強調的不是軟體,是自由,而開源軟體,不那麽關心真正的自由,他真正關心的是怎麽樣做出更多更好的軟體。它是一種更加務實的、更加功利的,或者說更加願意與商業與企業妥協合謀共謀的一種開源運動,這就是最大的分歧,也就是 Richard Stallman 不願意跟他們妥協,不願意像他們那樣願意跟企業去妥協、願意在自由上讓步,所以他們分分道揚鑣。這也是我的一家之見,可以繼續探討。
另外,【大教堂與集市】這本書,我們一直認為它是開源運動的聖經,它闡述的思想非常值得深入的解讀,它奠定了開源文化的基礎。我之前在對外經貿大學做過一次演講在講 【大教堂與集市】裏面提到的禮物文化,到底有沒有道理? 我覺得是很牽強的,在物理世界的禮物文化,我給你一個禮物,我沒了,你有了,這裏面存在的是物的傳遞,我把一個東西給了你,我就少了一樣東西,而你多了一樣東西,這是一種禮物,這種禮物是馬塞爾·莫斯在【禮物】這本書中提出的說法,其實他還提到另外一個東西叫做回禮的壓力。我們中國人都說禮尚往來,我給了你一件禮物,你就有受到某種壓力,你要回禮給我,這個是在人類學裏面會談到的一種禮物文化。但是在開源軟體、自由軟體中都不存在所謂的得失的差異,雖然我把我的程式碼貢獻到社群,我並沒失真失,我並沒有少掉這個程式碼,那麽也不存在一個所謂回禮的壓力,那這個時候禮物文化到底是不是真的適合用來去描述開源軟體這個世界?描述這些貢獻者的社群地位?至少不能簡單的套用。
比如說 Mozilla 的開源是先成功後又失敗。我們看瀏覽器的市場份額,一開始的時候,他被 IE 打得起不來,他開始透過做開源,變成 Firefox 華麗轉身、鳳凰涅槃。 但是後面谷歌為什麽不再繼續支持Firefox,反而自己去搞了一個 Chrome。到現在 Chrome 瀏覽器一家獨大,那麽 Mozilla 到底做錯了什麽?以至於谷歌不再支持他,而谷歌又做對了什麽?它以一個後來居上的開源瀏覽器,為什麽還能夠超過早期的 Firefox?同樣都是開源,為什麽會有成敗?
比如說 IBM 還有早期參與開源基金會的大公司,他們的動機到底是什麽? 我們可以簡單的說,他們是為了對抗微軟。 但是他們為什麽會選擇用基金會的方式去對抗微軟? 他們各自也有自己的利益,他們如何在一個開源的基金會裏面協調自身的利益來共同的對抗微軟,這件事情是怎麽做到的?
比如說 Linux 基金會,他是很多家大企業各自捐獻了一筆錢,成立的一個公益組織。 各家企業如何去一個公益組織裏面實作自己的商業利益?公益組織本身又如何去平衡這些利益而不至於變成大企業的代言人。Linux 基金會是怎麽做到的? 我們也想研究,我們也想看一個基金會怎麽樣才能做到開放中立,但是又能夠為各家企業的利益服務?這都是很不容易的事情。
再比如說,我們現在越來越發現開源軟體和自由軟體,這樣的統稱為 FLOSS 的軟體,它可能在我們現有的軟體當中占比已經是60%、70%到80%,那麽越來越多的安全漏洞和開源供應鏈的風險都已經暴露出來了。我們又不可能退到不用開源軟體的時代, 我 們如何去解決開源軟體供應鏈的安全風險?如何解決開源軟體普及帶來的網路安全問題 , 這也是我們需要去理解和研究的。
最後一個問題, 微軟在後期越來越擁抱開源,我們剛才有個簡單的說法叫打不過就加入,但真的這麽簡單嗎?微軟背後的商業邏輯是怎麽做到 的?它是為什麽能夠轉身從一個抵制開源、反對開源的企業變成一個擁抱開源的企業? 是因為他們變善良了嗎?因為他們的商業利益和背後的整個企業的商業邏輯發生了變化。我不相信一家企業是因為邪惡轉回善良,一定是因為原來是這樣的方法賺錢,後來是另外的方法賺錢。從始至終,他們一直在尋找的是更賺錢的辦法,而不是一個更善良的辦法。 我們會發現,在開源的世界裏面有很多時候會有道德的呼聲,或者是一種道德的呼籲,但是我們撇開這些道德呼籲和道德的褒貶,要去討論商業邏輯才是我們應該去研究的問題 。
其實這件事情我猶豫了很久,因為谷歌開源了很多東西,比如說他們開源了 Go 語言、開源了 Chrome、也開源了 kubernetes(容器編排引擎),都很成功,但是他們是各種不同的成果。我們想來想去,最後還是覺得可以討論一下安卓的開源戰略。
首先,谷歌開源安卓肯定是為了對抗蘋果,對抗蘋果的封閉式 IOS,打破蘋果在智慧型手機市場的壟斷,谷歌想要去構建開放生態。 谷歌雖然擁有安卓的名稱,安卓的商標,但谷歌希望安卓是一個開源和開放的平台,所以鼓勵更多的廠商加入一個叫開放手機聯盟的組織,一起來擴大安卓的生態。透過開源,谷歌能夠吸引更多的廠商和開發者,而且使得谷歌能夠在不直接參與硬體制造的情況下,透過作業系統來控制行動網際網路市場。其實這是最大的訴求,因為在 PC 市場的時候,谷歌是搜尋領域的絕對王者,那麽在行動網際網路時代,他們如何依然能夠占據行動網際網路廣告和行動網際網路搜尋的世界?這個是他們要透過安卓開源來實作。
谷歌的安卓開源戰略模型具體是怎麽實施的?
第一個,它透過 AOSP(安卓開源計畫)來提供了一個避免中心故障的開放平台,保證沒有一個行業的參與者可以限制或者控制其他參與者的創新。作為一個完整的、生產品質的作業系統,安卓是具備生產品質的、商業品質的一個作業系統,具備極高的可移植性等等。這一段話。說實話我是用 CHAT-GPT 生成的,GPT 肯定是拿到了一段谷歌自己的宣傳材料,而谷歌的宣傳材料當然會美化自己的動機和美化自己的所謂的開源戰略模型。事實上,谷歌非常嚴格的,嚴重的控制著安卓所謂的創新,基本上都是他說了算的。這個是一個要點。
另外,谷歌非常鼓勵廣泛的社群參與和反饋,保持安卓內容的新鮮準確等等。但是谷歌是怎麽做到?既鼓勵社群參與,又保持整個的掌控度的?還有降低市場門檻,安卓的開源模型之所以能夠移植到各種各樣的開源、各種各裝置上,其實它就是開放給硬體制造廠商,幫助他們能夠更好的適配自己的機型。但是另外一方面。谷歌有一部份東西是不開源的,比如 GMS (谷歌的移動服務),包括 DMail,YouTube,Google Play 等,透過這樣的一些核心套用來控制使用者體驗和生態系。當然,這個括弧確保所有基於安卓的裝置都能提供一致的服務,聽上去又是為了使用者體驗,但事實上也是一種控制,這是他們的開源戰略的高明之處。
谷歌的開源生態系的構建是非常成功的,我們可以看到下方的圖,安卓和 IOS 的市場占有率在2012年的時候,安卓的市場占有率已經遠遠的超過了 IOS。
從10%不到,經過兩年躍升到了40%,在後面就一直停留在70%以上。我們可以看得到這樣的趨勢。還有一個數位,到2012年,全球的安卓開發者的數量已經 iPhone 開發者的接近三倍。
這個背後的結論是一個開源的作業系統更能夠吸引開發者參與進來,此消彼長,它就會比 IOS 的市場占有率更高,這是開源生態系的一個邏輯。我們再去看谷歌的開源的商業模式,它靠什麽賺錢,其實就是廣告收入,還有就是基於開放市場的一個,它背後講的就是 APP Store 的基數增長。說實話,我找到的數據不全,我只找到了一個2016年的報道。在2016年,安卓為谷歌帶來了310億美元的年收入,其中220億美元為凈利潤。事實上最近幾年我不知道,網上要查這些數據還挺不容易的,或者說我時間也不夠,要花更多的時間才能夠搜尋到,這個也是留給我們後面研究這些商業案例的一個必須去深入的任務,否則的話,我們就會停留在一些表面的東西上。
安卓的開源也面臨一些挑戰和批評,雖然它能夠與其他的技術巨頭競爭,也能夠與其他的硬體制造廠商和開發者合作。安卓面臨的挑戰,比如說它跟 Oracle 之間是有一場官司的,這場官司打了很多年,最後基本上算是勝訴,雖然他用到了 Java 的程式語言以及相關的介面的 API,並不被算成是侵犯 Oracle 的 Java 的智慧財產權。但事實上,這個官司反反復復打了很多年,一會勝訴,一會敗訴,現在我印象當中是塵埃落定了,最後還是 Oracle 敗訴了。
另外一個挑戰,谷歌收購了摩托羅拉也是為了應對專利的情況,這次收購拿到了15000個摩托羅拉的專利,這個也是他們必須要過的這一關。其實還有就是因為安卓是開源的,所以安卓的市場通常會被人詬病為很多的不相容,更容易被惡意軟體清洗,經常會有流氓軟體、惡意軟體、病毒軟體侵入我們的安卓的手機,這個是一個開源帶來的問題,但是這方面的問題很多時候是被特定的手機廠商給解決掉了,因為手機廠商有極大的利益,需要來保護自己的手機使用者。
我們再來討論一下圍繞谷歌的開源戰略,尤其是安卓的開源戰略能夠提哪些問題?比如說它開源了安卓、Chrome,Kubernetes 和 Go 等眾多計畫,還有很多默默無聞甚至死掉的開源計畫,哪些成功,哪些失敗?為什麽會有些成功有些失敗?如何去總結背後的經驗,這是值得思考的問題。
第二個,安卓其實有一個非常巧妙的智慧財產權的架構設計。它雖然是基於 Linux,但是它上面做了一個中間層,再做了一個虛擬機器在網上架了他自己的安卓的 AOSP,用得是不同的 License 才能夠做到這一點?
再接下來,安卓的生態營運利弊得失怎麽去判斷?這些都是圍繞著安卓本身我們會提出來的問題。
那麽如果撇開安卓,單說我們自己的企業,我們如何向谷歌學習來制定自己的開源戰略模式,我們去要制定哪些原則?我們去做什麽分類?怎麽樣去設計我們的打法?這些可能每一個企業自己要去想谷歌當然是一個很重要的參考和一種榜樣。
還有當一個企業對外開源計畫的時候,他如何去維護自己的開源計畫?去管理開源社群的時候會遇到哪些挑戰?
還有一個問題,我們看谷歌的這些開源計畫,他有些捐給了開源的基金會,但有些也沒捐,為什麽?什麽樣捐,什麽樣可以不捐,什麽樣是值得他另外發起一個基金會再捐?這些玩法背後有什麽區別?也涉及到一家企業如何去制定自己的開源戰略的問題,很難,但是要思考,或者說至少我們不能光看熱鬧,我們要想辦法看門道。
我們先看第一條時間線,用美國制裁和限制華為的時間線。在2018年的時候,美國國會已經開始在呼籲谷歌停止與華為合作。他們很早就開始幹這件事情,也不是指這一件,其實還有其他的,我沒有摘錄進來。
2019年5月15日,川普就釋出總統令。要禁止使用敵對國家的資訊與通訊技術服務,當時所謂的敵對國家指的就是中國,禁止華為、中興這樣的一些企業。然後在同一天就把華為列入了「實體清單」(Entity List)。
5月19日,谷歌公司就將華為手機從安卓的升級列表中刪去了。同時,谷歌還宣布暫停向華為提供 GMS 等應用程式和服務,事實上就宣布華為手機出口到歐美國家無法使用 GMS,是一個極大的制裁措施。
7月16日,美國兩黨參議員搞了一個 5G 的立法,限制華為的 5G 技術,使其進入黑名單。
2020年8月19日,他們還沒完,又將46家華為附屬公司也加入到「實體清單」,反正就是要把你斷幹凈了。在不斷制裁和限制華為發展的前提下,那華為必須要想辦法。
在2019年5月份谷歌開始限制華為使用 GMS。到了2019年的8月份,在華為的開發者大會上面就正式釋出了鴻蒙的 HarmonyOS,但那個時候還不是開源作業系統,所以叫 HarmonyOS。
2020年6月15日,由阿裏巴巴、百度、華為、浪潮、360、騰訊、招商銀行聯合發起、成立了開放原子開源基金會,成為中國第一個致力於開源產業,公益事業的非盈利性的獨立法人機構。
9月9日,百度超級鏈成為基金會第一個捐贈計畫。9月10日(第二天)HarmonyOS 的開源版本 OpenHarmony 捐給了開放原子開源基金會。在後面的一系列動作都是圍繞著要在中國成立開源基金會,在中國的開源基金會下面要有一大批的開源計畫,不斷的要繁榮,要發展起來等等,後面我就沒有再摘錄了。
開放原子開源基金會一直在往前來發展。直到今天,我們可以稍微總結一下,OpenHarmony 的發展從2020年9月華為捐贈程式碼以來,經歷了多個版本的叠代,到了2023年9月份釋出了4.0的正式版本。
另外的話, 技術架構 就不說了, 套用範圍 其實非常廣泛了,從無頻裝置到復雜的帶頻裝置,多種的型別,比如說抽油煙機,冰箱還有各種各樣的智慧裝置,其實都開始在用 OpenHarmony。
在生態系方面, 有超過210家的合作夥伴,40款的行業發行版廣泛的套用在金融,交通,教育,政府能源制造等行業,實作商業化套用等等,甚至已經開始考慮要做這個 OpenHarmony 的 PC 版本了。
社群和程式碼領域 也非常的活躍,共建者的數量一開始就只有華為,到後面2021年的時候,從1000多位共建者到了2023年的時候有5100多位。程式碼現在已經超過了一億行程式碼,展現了社群的積極參與和計畫的快速發展。這個其實也是在基金會的幫助下,不斷發展起來的一個開源的社群。
接下來我們再談一個番外篇,這個番外篇其實也是我認識的一個開放原子開源基金會的一個朋友,他們在整理從2020年、2021年開始,從中央到地方、各省、各市陸陸續續、分別出台的各種各與開源相關的政策,給大家看一眼,不可能都每一條都讀一下,這代表的是什麽,就是從十四五規劃開始,不斷的就會有越來越深入,越來越細化,越來越完整的推動開源或者開源相關技術的各種各樣的政策檔出來。就剛才張老師也在講,我們現在又在談精致生產力,這個其實又是更加往上提高到全社會要改變我們的整體認識,這樣的一個高度來討論我們的產業發展也是非常鼓舞人心的一件事情。這個是組譯,為什麽要組譯,我們接下來提問中國開源的崛起之路到底怎麽走?也是我們需要去問自己的問題。
第一個,國際政治和國家間的競爭會如何影響技術、開源和商業。
下一個問題,中國的開源基金會如何定位?應該如何運作?中國要透過開源來自立自強怎麽走?但另外一方面,我們又一方面說,我們民族要自立自強,我們的科技要中國的民族的科技要發展起來,但是開源一直都是一種全球化的開源,一種是面向國際社會的全社會都能受益的,全世界都能受益的開源。背後其實存在理念的沖突的。如何去協調?還有我們如何用開源的模式來促進技術創新?尤其是中國的技術創新。我們除了現在說我們要追趕,我們要有中國的跟技術,我們要有中國自己的作業系統,自己的資料庫,自己的什麽什麽。我們有沒有可能發展出一些別人沒有的東西?怎麽做到?
還有中國的開源政策對於技術和商業的模式會產生哪些影響?
甚至我們還可以去反過來思考,如果要對技術和商業產生更好的影響,中國究竟應該制定一些什麽開源政策?才能夠符合產業發展的規律。這些都是我們需要去思考的。
現有學科向開源的延伸
我們總結和梳理一下,圍繞開源可以開展哪些學術研究?我們首先可以從現有的學科向開源來延伸。
從軟體開發的領域,我們以前也一直說,我們要做軟體開發、做軟體工程師先學程式語言,接下來我們要學架構、學設計模式,但是當開源的成分超過70%甚至更多之後,我們的架構設計思維是不是要發生變化?要開始考慮一種開放式的架構。
再比如說,當一個軟體的開源成分超過70%甚至更多之後,我們的軟體工程應該發生什麽樣的變化?現在一種趨勢是從 DevOps 到 DevSecOps ,就是在 DevOps 的過程中,會嵌入更多的開源安全掃描的成分,來做這樣的一個東西,但是這樣是不是就夠了?我們要做到面向開放式架構的軟體工程,它究竟要發生哪些變革?
第三個我們一直在研究傳統的供應鏈,到現在的開源軟體的供應鏈,中間到底會有哪些不同之處或可以借鑒的地方?當我們說供應鏈的時候,鏈條有可能會斷掉,所以我們經常會說開源軟體會不會斷供?因為覺得有一根鏈條會斷掉。當我們去用這樣的思維去看開源軟體供應的時候,會不會自己嚇到自己?事實上不存在這樣的斷供,或者說供應鏈安全到底註重的是什麽樣的安全?我覺得不是簡單的說,我們全部都要把所有的軟體下載回中國來,所以我們的供應鏈就安全了,可能不是這樣簡單的答案。
我們原來就有統計學,大數據分析和深度學習,那麽現在面臨全網都能夠獲取到的開源相關數據,我們做開源數據分析的時候能夠得出哪些結論?像國內我們很熟悉的,有一個叫 OSS Compass 開源指南針計畫,另外還有 Xlab 的OpenRank 和 OpenDigger 計畫,他們就已經開始在做面向開源的大數據分析,但是他們還能夠怎麽樣往前進展?也是我們非常期待的一個方向。
標準以前一直在做,那麽在開源領域,我們以開放的方式制定針對開源的標準,我們還有哪些工作要做?我之前也參與過很多的開源標準相關的討論,制定相關的工作,在接下來還怎麽樣去延伸?這個也是值得深入思考的問題。
前面已經提到了很多 License 、法律、智慧財產權的問題, 那麽專利、授權或者所有權這些傳統智慧財產權的問題。 第一是在數位世界,第二是在開源的情況下,他們的定義是不是已經會發生變化?所謂的授權、所謂的權力的轉移。比如說我們昨天聽到一個七彩棱鏡的朋友在說:一個企業把自己的開源計畫捐贈到一個開源基金會,捐贈到底意味著什麽?如果是一家國有企業把自己的開源計畫捐贈到基金會,是不是意味著國有資產的流失?如果我把一個開源計畫捐給你,我自己沒有少一分,所謂的捐贈是不是並不等於一個所有權的轉移?如果不是所有權的轉移的話,那麽這個捐贈到底是什麽含義?這些我個人是覺得沒有想明白的,或者說沒有被明顯的表示出來,這個都是法律和智慧財產權需要研究的問題。
從經濟學的角度 , 我們傳統的經濟學能夠解釋哪些現在的開源現象?還有很多現象,我相信現在傳統的經濟學解釋不了,甚至會覺得很突兀,或者說無法理解。開源剛出來的時候,很多人都無法理解一個免費的、不要錢的一個原始碼完全公開的一個軟體,為什麽能夠在它基礎上建立商業模式?為什麽它會產生整個全世界範圍內的經濟執行的變化?如果沒有一套好的開源經濟學去解釋的話。事實上我們整個國家相關政策的制定都會出現很多問題。
我們再從商業的角度, 商業戰略和開源的商業戰略。傳統的商業戰略當中能不能夠容納關於開源的思考?又如何去思考開源的占比,或者說開源的策略?打法到底會有什麽變化?說實話,我們剛才在說,我們想研究谷歌也好,研究谷歌的各種各樣的或成功或失敗的開源也好,都是想從這個方面得到一些拓展。
再說生態學, 傳統的生態學研究的是物理世界中動物、植物這些生態,但是如果我們將開源世界看成一個生態系的話,如何去幫助它更加健康和繁榮?
社會學和文化人類學, 傳統的都是研究一些我們看得見的那些社群、社群、部落這樣的一些地方的發生的問題,但是像開源社群和開源文化,當我們用社會學和文化人類學的視角去研究這些開源人組成的社群的時候,他們到底是怎麽運作的?
我們當然說,最早的 Eric Raymond 提出來的禮物文化,這個禮物文化到現在是不是還存在?又發生了哪些變化?現在的開源人和十年前、二十年前、甚至50年前的開源人到底有什麽區別?這些也要去研究的。
跨學科研究
無論是心理學,教育學,政治學和國際政治學等等, 其實我們都可以從各自的自身的學科的角度出發,去研究開源心理學、開源的教育學、開源的政治學,包括開源的國際政治。還有傳統的倫理學或者是技術倫理學,都會去研究的是我們在技術影響世界的過程中,應該如何去判斷技術的安全性,技術的可靠性,以及如何套用新技術到我們過去的這個世界上,但是當程式碼是開源的時候,這些開源軟體是不是需要去考慮它的套用範圍?但是無論是自由軟體還是開源軟體,其實都會強調一個不限制任何目的使用,不談倫理,或者說直接是倫理無關的一種開源軟體,但是沒有人會提出來說你這樣不對,那麽這個問題有沒有被真正的去正視它和很好的去妥善的去解決它,其實是沒有。
當然,我們還呼喚其他的跨學科的研究,比如說開源文化與傳播,還有在開源世界裏面的賽局論的現象,包括我們用復雜網路的視角去看開源世界,是不是也能看出來一些別的門道?這些也是各種各跨學科的研究。
最後我們稍微來談一下對未來的展望。我們為什麽要去討論學術研究,用學術研究的方式去看開源。前提就是我們認為學術研究會有幫助,比如說我們其實有很多的基本概念是不清晰的,透過學術上的研究,比如說制定好的標準,形成某種共識,其實我們能夠對於現狀和現象形成更加一致的判斷。我們如果簡單的沿用過去的傳統的思路去接著去走開源的這條路很有可能就會走彎路,我們現在已經看到類似的或多或少的走彎路的現象,我們又很難說它為什麽是錯的。為什麽?
因為你自己都沒有形成一套完整的形成一套學科認識或者說是概念的一套體系,所以你說別人錯,別人說憑什麽?我不一直就是這麽來的嗎?就很難形成一個對話的機制。當然,我們也認為好的學術研究有深度的探索和建構性的學術研究,有可能去指導各種各樣層面的決策,比如說國家政策應該去怎麽制定,企業戰略怎麽制定?社群營運應該如何去做,包括我們個人,我們也需要決策,我們到底應該學什麽樣的技術,加入什麽樣的社群,參與到什麽樣的層面?這些其實我們都需要一套,比如說指標體系,或者說是一套判斷的依據等等。這些說實話,很多情況下在目前來說都還是很隨意的。這些需要學術研究來做出一些給出一些答案。
其實我真正希望的透過今天的這樣的一個分享在呼籲我們有沒有可能去組建一個跨學科的共同來研究開源的團隊。當然,他也有可能變成是一個學術社群,而這個社群裏的人從各自的角度出發,大家共同來研究開源世界發生的各種各樣的現象,以及在這個過程中不同的學科針對相同的現象,一方面形成各自的看法,同時也能夠達成在各種層面上的共識,這就是我對未來的一個展望。
今天就分享到這裏,謝謝大家!
作者丨Corrie 不 Coding
編輯丨張可芯
相關閱讀 | Related Reading
開源社簡介
開源社(英文名稱為「KAIYUANSHE」)成立於 2014 年,是由誌願貢獻於開源事業的個人誌願者,依 「貢獻、共識、共治」 原則 所組成的開源社群。開源社始終維持 「廠商中立、公益、非營利」 的 理念 ,以 「立足中國、貢獻全球,推動開源成為新時代的生活方式」 為 願景 ,以 「開源治理、國際接軌、社群發展、計畫孵化」 為 使命 ,旨在共創健康永續發展的開源生態體系。
開源社積極與支持開源的社群、高校、企業以及政府相關單位緊密合作,同時也是全球開源協定認證組織 - OSI 在中國的第一個成員。
自2016年起連續舉辦中國開源年會(COSCon),持續釋出【中國開源年度報告】,聯合發起了「中國開源先鋒榜」、「中國開源碼力榜」等,在海內外產生了廣泛的影響力。