Leask

Tower of Babel

Leask

Log4j 除了大家說的認識到了世界的草台外,我也看到了不少人開始黑作者的。這事情其實和 OpenSSL 的 Heartbleed 類似,屬於業界依賴比較深的軟件包。這些軟件都是開源的,對於一個開源軟件,無論再廣泛被使用,作者對可能產生的一切風險其實是沒有義務的。

你愛用,自己不 review,或者根本沒想到有必要去 review,更別談投入時間改進它,出了問題埋怨別人?這相當於一個乞丐大雪天無家可歸,別人打開門讓你住一晚上,第二天早上你發現這家好心人的屋頂也漏水了,然後這個乞丐把整個丐幫的人叫來,罵這個好心人提供劣質的庇護,還又拍照又發微博⋯⋯

一個軟件是不可能沒有 bug 的,而且很多現在被業界深深依賴的產品都是由超小的團隊甚至個人在維護的。開源的意義是不希望業界為了簡單而重複的需求虛耗勞動力,同時也希望越來越多的人加入通過群體智慧一起協作讓這些重要模塊可以更可靠高效。

然而事實上是,用的人多,從個人開發者到兆美元級別的公司都在用,但是捐錢和參與完善代碼的卻是少之又少。出了問題,大家忙著笑和責備,開發者卻要頂著巨大的壓力繼續維護這個爛攤子,還需要照顧大家在用的版本的兼容性。然而對於開發者來說,最傷心的是,可能大家以後就不再信任這個項目了。

開發者可能沒賺多少錢,但是很多的確靠著這種“虛榮心”驕傲地活著。開發者在開源軟件上投入的心血儘管很多時候看著草台,但是也正是這些草台代碼,構建起整個數字世界。現在沒有任何一個公司,無論是不是IT公司,無論公司體量有多大,是可以站出來說自己沒有站在開源軟件這個“巨人”的肩膀上的。

開源軟件有很多問題,可能安全性的問題遠遠比現在暴露的要嚴重。但是這事實上也是人類有史以來最大規模的一次工程協作,它還有很多缺陷,但是它的貢獻比現在碰到的問題要偉大很多。這就是所謂的 “something bigger than me”,程式語言是真正意義上的 Tower of Babel。