由於開源軟體,世界反而不如以前安全了!
作者:Christopher Tozzi自2008年以來以自由撰稿人的身份為The VAR Guy撰稿,側重於開源、Linux、虛擬化、SDN、容器、數據存儲及相關話題。
雖然開源已經取得了巨大的進展,但有幾個因素(開源社區內外的因素)對開源造成了不利。
微軟最近宣布它為Windows添加Linux內核。對於大多數人來說,此舉是最新的確鑿證據,表明開源社區贏得了這家曾經認為Linux是威脅,前首席執行官更是抨擊Linux是「毒瘤」的公司的芳心。但我不是太確信。是的,微軟現在喜歡Linux,全球各地的公司現在都高度依賴開源。不過我認為這並不意味著在開源倡導者和像微軟這些閉源軟體公司之間的這場較量中,開源陣營實際上勝出。
開源的成功
不可否認,在過去的二十年間,開源軟體程序及平台在市場份額和心率佔有率方面取得了巨大的進展。世界上大多數智能手機都運行著擁有開源核心的操作系統:安卓。訪問任何一個網站,它很可能是使用NGINX、Apache或另一種開源Web伺服器系統託管的。曾經是開源界頭號敵人的微軟在過去的五年穩步宣布了一系列開源計劃,從支持Linux上的微軟SQL Server,到開源Windows計算器工具,不一而足。
順便說一句,並不是只有微軟這一家專有軟體公司投身於開源潮流。其他許多歷來不是開源支持者的大公司(比如亞馬遜、SAP和英特爾)也為開源開發做出了巨大的貢獻。
在這種背景下,很容易得出這一結論:開源社區在與微軟及其他公司的較量中輕鬆勝出,這些公司曾經將Linux和開源視為不光對公司業務構成了嚴重威脅,還對知識產權和創新構成了嚴重威脅(至少,這是這些公司曾經拿來反對開源的理由)。
開源的失敗
不過說到開源軟體的現狀,我更像是個悲觀主義者。我不認為開源代碼的普遍性證實了開源實際上「勝出」。
恰恰相反,我認為,從許多方面來看,對於支持自由軟體潮流背後核心思想的人來說,形勢從未如此艱難:當源代碼透明、可以自由共享時,軟體作品對所有人(開發者、用戶和合作夥伴)來說更好。
不妨考慮開源軟體潮流的原則(即使不是產品)今天仍然受到威脅的這幾個途徑:
開源「核心」。如果你看一下今天許多公司使用開源的方式,就會發現一個趨勢:它們只開源產品的一部分組件。比如說,安卓和Google Chrome都基於開源代碼庫,但是到最終用戶手裡的產品並非完全開源。使用這些平台的公司可以從開源社區獲得免費貢獻的代碼,但是它們用閉源外殼來包裝產品,因而剝奪了最終用戶檢查或修改產品源代碼的能力。
軟體即服務(SaaS)。正如自由軟體之父RichardStallman指出的那樣,基於雲的SaaS交付模式使得軟體因其架構而從根本上來說是不透明、不可修改的。基於雲的應用程序是不是開源不重要,因為你(最終用戶)從不接觸程序本身,你只是通過互聯網來使用它。
安全聲譽糟糕。從Equifax泄密(攻擊針對開源框架)到Heartbleed漏洞(涉及開源加密庫的漏洞),開源社區在IT安全方面遇到了一系列挫折。開源倡導者會指出,開源開發模式要比閉源代碼中固有的「隱藏式安全」(security by obscurity)策略來得安全;不過,最近爆出的開源安全問題使開源軟體在眾多IT專業人員當中留下了糟糕的聲譽。
開源是炫美德
從這些趨勢來看,我往往認為,許多公司宣布開源代碼庫或支持開源平台時,它們實際上是在「炫美德」(virtue signaling)。換句話說,它們利用開源美化自身形象:它們是致力於技術透明、與開源社區合作的公司。
如果將自己定位於支持開源的那些公司完全信奉開源理念,它們就會完全開源其產品,而不是提供只有「核心」才是開放部分的平台。它們會擁抱新穎的許可策略,旨在限制SaaS提供商將開源項目佔為已用的做法,比如Confluent在去年年底宣布的許可策略。它們會在開源安全問題上採取更堅定的立場,與開源粉絲站在一起,一道認為:只有任何人可以檢查源代碼並發現安全漏洞,安全才會最終變得更好。
微軟Windows現在包含Linux內核很好,Facebook贊助許多非Facebook員工幫助開發的一些開源項目以支持其SaaS平台也很好。但我認為,對開源軟體浪潮而言真正的成功並不是這樣。
※2019年Q1:整個半導體市場經歷了十年來最嚴重的衰退
※CockroachDB 更改開源許可證:禁止在沒有購買許可證的情況下將商業版的CockroachDB作為一項服務來提供
TAG:雲頭條 |