魏永明,清華大學工學學士、碩士,飛漫軟體創始人,開源軟體傑出貢獻人物。1999年釋出知 名開源軟體 MiniGUI並持續研發至今。出版有《Minicul 剖析》、《Linux 裝置驅動程式》(二、三版)等技術著作。2018年11月,發起合壁作業系統開源協作專案。 2020 年8月,領街撰寫國內第一部碼農體長篇小說《考鼎記》並線上發表。2020年8月,提出並開發全新程式語言HVML。
本文首發自魏永明公眾號:考鼎錄,以下為文章全文
在《少談情懷少作秀,多寫程式碼多創新》一文中,鄙人對神化開源的現象做出了批判。今天這篇文章批判神化開源協作的現象。
有人說“開源協作”是一種創新,我很不認同這個看法。
開源協作充其量只能算是個合作模式上的創新,但“充其量”這個詞,我都不太願意用。因為強調模式創新,會帶來很多負面作用。就如同前幾年的網際網路熱點,比如共享單車之類的,都是模式創新的產物,但這些模式創新對社會的發展到底是好是壞,目前還沒有定論,還有待觀察。
另外,很多人聽了“開源協作是一種創新”這句話之後的第一反應,是“開源協作能夠促進技術上的創新”。但我要強調的是,開源協作並不能促進技術上的創新。
我的觀點,用通俗易懂的話來說:開源協作適合守成,而不適合開拓。
接下來跟大家解釋一下。
首先,我不是要否定開源協作以及促進開源協作的組織,比如各種開源基金會、開源社群的存在,他們有其存在的價值。
開源協作,就是基於某個開源軟體的協作開發機制,本質上和已經存在多年的技術聯盟、標準協會一樣,是特定圈子裡的人討論一些事情的一個模式而已。要有效地開展開源協作,目前主要使用兩種平臺。一種就是建立在網際網路各種工具之上的虛擬交流平臺,比如郵件列表、技術論壇等,可稱之為開源社群等。另外一種就是開源軟體基金會。
和技術聯盟、標準組織類似,開源協作平臺,不管是虛擬社群形式還是開源基金會形式,本質上在一項技術進入推廣期和成熟期的時候才有存在的價值。這些平臺存在的價值,就是一些代表不同利益的人藉助這個平臺來平衡利益關係,比如兩項差不多的技術點,大家爭鬥一番,哪個該成為標準。換成開源軟體,那就是哪個模組或者哪個協議可以放到開源軟體當中。
假如我們去分析目前對整個計算機產業起著舉足輕重作用的開源軟體,你會發現一個規律:這些開源軟體往往都是某個商業軟體的開源複製品。這些開源軟體,要麼是個人或者組織開發然後由基金會管理,要麼是開源協作組織開發的針對一些已有商業軟體的開源替代品。 如 Linux 核心,是商業版 Unix 核心的替代,GNU 的各種工具軟體也是商用 Unix 系統的替代,LibreOffice 是 Microsoft Office 的替代,FireFox 是對 Internet Explorer 的替代等等。只有極少數開源軟體,尤其是由某個商業公司牽頭開發的軟體,才算得上是原創性多一些的軟體,其中的代表如 Android,以及一些基於雙許可證的自由軟體,知名的如 MiniGUI、MySQL、MongoDB 等。(如果細究,Android、MySQL 等其實也是商業軟體的開源替代品。)這一部分開源軟體,很少提及開源協作。比如 Google 之於 Android,Google 要對 Android 有絕對的控制力,而基於雙許可證模式的自由軟體,則需要保證著作權權屬的清晰和獨佔。可以說,絕大部分開源軟體,尤其是開源協作的產物,和技術創新或進步幾乎沒有太大的關係。而只要是具有原創性的軟體,不管是否開源,一定和一兩個關鍵人物或團隊有關(如 Linux 核心之 Linus、Rust 語言之 Mozilla 基金會、TypeScript 語言之微軟、HVML 語言之魏永明等),可以這麼說,開源協作並不是這些原創性工作的原始驅動力。
當然,如 Linux 核心這樣應用廣泛的開源軟體,在幾十年的發展過程中,也有諸多創新之處,但總體上只能算作是區域性的修修補補,而無法產生根本性的變革。就拿作業系統來講,帶來根本性變化的當屬 FushiaOS 和 HybridOS 這類。但一開始,開源協作往往跟它們無緣——對於一項創新的技術,一開始,大部分人的態度只是觀望。
總之,是別人先有了創新然後才有了開源的替代,或者先有創新的東西並開源,然後才談得上開源協作。開源協作對技術創新的主要貢獻,是可以加速技術創新的應用。不過這是另外一個話題,我們以後再談。
至於其中的原因也很簡單:創新是一種成本高昂的經濟活動,需要長時間的積累和投入;而只有利益才能成為創新的第一驅動力。那種純粹基於奉獻精神的開源理念不足以支撐人們做長期而專注的投入。於是,懶惰的人們只需要複製他人的思想和創意,寫幾行程式碼開源出來,然後指望通過網際網路放大自己的名譽,進而獲得他想要的回報。甚而至於,拿已有的開源軟體,換個名字就可以變成自己的。
具體到我們國家,這個問題更嚴重。
中國人講求實用主義。 沒有幾個企業眼光長遠,可以為創新做長期的投入。如果大家看不到一項技術的未來,就不可能組建一個平臺來搞協作。這是人性。因此,協作只能建立在原創技術得到部分認同的情況之下,在推廣期和維護期利用協作平臺來發展。另外,參與這類協作平臺的主體主要是企業,而企業的首要目的是賺錢。沒有錢景就投入,絕大多數中國企業是不會這麼做的。就算參與,大部分情況也是做個姿態而已。你看,這麼多年我們國家有很多技術聯盟,最後不是分崩離析,就是吃吃喝喝,沒有太多實質上的產出。
另外,當前我們國家只有一個開源基金會,也就是開放原子開源基金會。華為、阿里、騰訊等,都是這個基金會的發起單位,大家都往這個基金會捐贈各種開源專案。比如作業系統,就有 OpenHarmony、openEular、AnolisOS 等等。其中 openEular 和 AnolisOS 本來就是競爭關係,現在都捐贈給了開放原子基金會。大家想想,基金會有沒有能力同時發展這麼多作業系統是一回事,單就這兩個有競爭關係的作業系統來講,基金會如何平衡背後金主的利益? 我們看這些捐贈給基金會的作業系統,歸根結底還是在已有開源軟體技術上攢出來的系統,一開始就沒有多少技術上的創新,放到同一個內卷平臺上,能產生創新?
而作為像基金會這樣的非盈利性組織,極容易成為一個內卷平臺或者一個官僚機構。拿全世界最火的 Linux 基金會來講,這兩年募集到了大量的資金,但同時也出現了很多奇奇怪怪的專案。比如 SPDX 規範,全名叫“軟體包資料交換規範”,我瞭解了一下,大概就是規範大家的開源許可證宣告和使用的。像這類的專案,在我看來就是吃飽了飯撐著的——給基金會養的一大幫官僚找點事兒做而已。
你看,在沒有多少創新基因的開源軟體之上,指望通過內卷、平庸、官僚的開源協作平臺來搞創新?豈不是有點痴人說夢。
因此,我的觀點是,開源協作,並不能促進技術上的創新。技術上的創新,來自於艱苦卓絕的努力,對產品和技術的深刻洞察以及長期持續的投入。將技術創新寄託於開源協作,是錯誤的。
你,該醒醒了!
PS:此文發表前的最新訊息:又一個類似 openEular、AnolisOS 的 OS 叫 OpenCloudOS 的,釋出了。嘿嘿……
本文內容為作者授權轉載,不代表平臺觀點。