這兩個(gè)程序員要花100萬(wàn),徹底重寫(xiě)世界上最復(fù)雜的軟件!
世界上最復(fù)雜的軟件是什么?
有人認(rèn)為是操作系統(tǒng),有人認(rèn)為是數(shù)據(jù)庫(kù),我覺(jué)得是瀏覽器。
比如開(kāi)源的Chromium,上千萬(wàn)行,十幾G源碼,那真是相當(dāng)復(fù)雜。
Chromium瀏覽器中涉及到的每一項(xiàng)技術(shù),展開(kāi)來(lái)說(shuō)都是厚厚的一本書(shū),比如HTTP、SSL、QUIC、WebSocket、JIT編譯器、WebRTC、WebAssembly、垃圾回收、內(nèi)存和CPU的性能統(tǒng)計(jì)等等。
而Web平臺(tái)的規(guī)范HTML、CSS、JavaScript等各種細(xì)節(jié)加起來(lái),都是成千上萬(wàn)頁(yè)。
強(qiáng)如微軟,也不得不放棄了自己的瀏覽器內(nèi)核,轉(zhuǎn)而使用Chromium,因?yàn)榫S護(hù)一套所需要投入的人力和財(cái)力實(shí)在是太恐怖了。
現(xiàn)在的瀏覽器,大部分都基于開(kāi)源的內(nèi)核,然后加上自己功能,沒(méi)有人敢于重起爐灶。
但是世界上有兩個(gè)人不信邪,總想著搞一套獨(dú)立的瀏覽器出來(lái)。
這兩人,一個(gè)是Chris Wanstrath,GitHub聯(lián)合創(chuàng)始人
另外一個(gè)是Andreas Kling,寧?kù)oOS的創(chuàng)始人。
已經(jīng)有了現(xiàn)成的、開(kāi)源的瀏覽器,為什么還要從頭兒再來(lái)呢?不是自討苦吃嗎?
Chris Wanstrath認(rèn)為,開(kāi)源的瀏覽器雖然推動(dòng)了網(wǎng)絡(luò)的繁榮,但是它們都是由Google的廣告帝國(guó)所資助的。
Chrome、Edge、Brave、Arc 和 Opera 都使用谷歌的 Chromium。
Google花了數(shù)十億美元,就是為了成為蘋(píng)果的Safari 的默認(rèn)搜索引擎。
圖片
而Firefox每年獲得的數(shù)億美元(最大的收入)也是Google贊助的。
網(wǎng)絡(luò)太重要了,以至于不能只有一個(gè)主要的資金來(lái)源,而這個(gè)資金來(lái)源又太重要了,以至于不能只有廣告。
這個(gè)世界需要一種以人為本的、使用全新引擎為開(kāi)放標(biāo)準(zhǔn)做貢獻(xiàn),不受廣告影響的瀏覽器。
理想很豐滿(mǎn),現(xiàn)實(shí)很骨感,瀏覽器如此復(fù)雜,誰(shuí)愿意從頭兒開(kāi)發(fā)呢?
遠(yuǎn)在北歐,瑞典程序員Andreas Kling為了打發(fā)戒毒后無(wú)所事事的時(shí)光,他開(kāi)始開(kāi)發(fā)一套全新的操作系統(tǒng)寧?kù)oOS,這個(gè)目標(biāo)極其宏大,不僅從頭兒寫(xiě)操作系統(tǒng),更是要從頭兒構(gòu)建操作系統(tǒng)上的所有軟件。
Andreas Kling的故事可以在下面的視頻中找到:
這個(gè)龐大計(jì)劃中,其中就包括一個(gè)簡(jiǎn)單的HTML瀏覽器。
圖片
Andreas曾經(jīng)參與過(guò)QT和WebKit的開(kāi)發(fā),從中汲取了一些靈感,但是所有的代碼都是全新的,用C++編寫(xiě)。
Andreas不斷地完善它,讓它支持簡(jiǎn)單的JS,HTTPS和圖片解碼,通過(guò)了ACID2和ACID3的兼容性測(cè)試。
圖片
圖片
圖片
隨著寧?kù)oOS社區(qū)人員的參與,這個(gè)HTML瀏覽器變成了一個(gè)完整的瀏覽器LadyBird(瓢蟲(chóng))。
這幾年LadyBird高速發(fā)展,已經(jīng)形成了完整的體系架構(gòu),其中的重要組件如下:
- LibWeb: Web引擎, 支持多種標(biāo)準(zhǔn): HTML, DOM, CSS, SVG, …
- LibJS: 支持ECMAScript, 運(yùn)行時(shí)庫(kù),垃圾回收。
- LibGfx: 2D圖形,文本渲染, 圖像格式 (PNG, JPG, GIF, …)
- LibRegex: 正則表達(dá)式引擎
- LibXML: XML解析器
- LibWasm: WebAssembly 引擎
- LibUnicode: Unicode 支持
- LibTextCodec: 文本編碼轉(zhuǎn)換
- LibMarkdown: Markdown 解析器
- LibCore: I/O, datetime, MIME data, …
2023年,電子商務(wù)公司Shopify向LadyBird捐款10萬(wàn)美元,支持LadyBird的開(kāi)發(fā)。
Andreas興奮地說(shuō)道:在大型科技公司紛紛放棄自家瀏覽器、轉(zhuǎn)而使用 Chromium 的時(shí)代,像我們這樣的黑客和網(wǎng)絡(luò)愛(ài)好者有責(zé)任將多樣性引入瀏覽器市場(chǎng)。這正是我們希望通過(guò) Ladybird 實(shí)現(xiàn)的目標(biāo):以經(jīng)典的開(kāi)源精神,從頭開(kāi)始創(chuàng)建一款獨(dú)立的瀏覽器,不包含第三方代碼。
Chris也發(fā)現(xiàn)了LadyBird這個(gè)從頭兒開(kāi)始構(gòu)建的瀏覽器,這正是他夢(mèng)寐以求的東西啊!
他一下子捐贈(zèng)了100萬(wàn)美元,和Andreas一期推出了LadyBird瀏覽器計(jì)劃,這是一家美國(guó)501(c)(3) 非營(yíng)利組織。
為了追求獨(dú)立性,LadyBird基金特意設(shè)置了幾個(gè)限制條件:
(1) 資金完全來(lái)自公司和個(gè)人的贊助和捐贈(zèng)
除了捐贈(zèng)之外,不追求企業(yè)交易和收入。
(2)不允許捐贈(zèng)者購(gòu)買(mǎi)董事會(huì)席位
許多開(kāi)源世界都面臨這個(gè)問(wèn)題,那些巨頭通過(guò)對(duì)董事會(huì)的控制,破壞了開(kāi)源的核心使命。
圖片
而Andreas也把LadyBird從原來(lái)的寧?kù)oOS中分叉出來(lái),成為了和寧?kù)oOS并立的頂級(jí)項(xiàng)目。
他自己也辭去了寧?kù)oOS BDFL的職務(wù),把所有的精力都投入到LadyBird瀏覽器中來(lái)。
Google主導(dǎo)的Chromium,開(kāi)發(fā)人員已經(jīng)上千,如果年薪按100萬(wàn)RMB算,一年的工資就得10個(gè)億,而LadyBird基金會(huì)現(xiàn)在只有區(qū)區(qū)100多萬(wàn)美元,這點(diǎn)兒錢(qián)就想開(kāi)發(fā)一個(gè)像Chrome那樣功能完備的瀏覽器?
Chris Wanstrath和Andreas Kling是瘋了嗎?
并不是這樣,開(kāi)源社區(qū)的力量是非常巨大的,過(guò)去幾年,LadyBird在沒(méi)有捐贈(zèng)的情況下已經(jīng)取得了巨大的成功,因?yàn)檫@個(gè)世界上有一大批程序員,純粹是為了自己的愛(ài)好而投入開(kāi)源軟件的開(kāi)發(fā),正是他們構(gòu)建出了互聯(lián)網(wǎng)的基石。
Chris Wanstrath和Andreas Kling做的事情是要回歸經(jīng)典開(kāi)源精神,破除商業(yè)壟斷,這樣的理念是非常吸引人的。我個(gè)人對(duì)LadyBird的發(fā)展非常看好。