從某種程度上說,開源在云端已經(jīng)取得了巨大的成功。像Kubernetes這樣的開源解決方案已經(jīng)把封閉源代碼作為主力。然而,在其他方面,云中的開源完全失敗了。基于云的架構(gòu)繼續(xù)為實現(xiàn)開源保護用戶自由的創(chuàng)始目標帶來根本問題。對于許多組織來說,使用云意味著將控制權(quán)交給專有解決方案提供商,并面臨著嚴格的鎖定風險。
這些觀察提出了一個問題:為什么開放源代碼在云中沒有更大的影響力?如何使云計算對開放源代碼更友好?
云的開源問題
從云時代的早期開始,開源和云之間就一直處于緊張狀態(tài)。
當自由和開放源碼軟件在1980年代由Richard Stallman和GNU項目首次出現(xiàn)時,其主要目標(正如Stallman當時所說的那樣)是向任何想要它的人提供軟件源代碼,以便用戶可以使用計算機并相互協(xié)作。
如果在本地設(shè)備上運行軟件,那么訪問源代碼就可以實現(xiàn)這些目標。它確保您可以研究程序的工作原理,與他人共享修改并自己修復(fù)錯誤。只要源代碼可用并且您可以在自己的設(shè)備上運行軟件,軟件供應(yīng)商就不能“分割用戶并征服他們”。
但是,當軟件遷移到基于云的體系結(jié)構(gòu)時,這種計算方式會發(fā)生根本變化。在云計算中,作為最終用戶訪問的軟件運行在由其他人控制的設(shè)備上。即使該軟件的源代碼可用(在SaaS平臺上通常不可用,盡管從理論上講可能是這樣),但其他人(尤其是擁有運行該軟件的服務(wù)器的人)仍可以控制您的數(shù)據(jù),決定軟件的配置方式,決定何時更新軟件等等。最終用戶之間沒有團結(jié),最終用戶與軟件提供商之間沒有平等。
Stallman和其他自由軟件的倡導(dǎo)者早就意識到了這一點。到2010年,Stallman 感嘆用戶使用基于云的軟件時放棄的控制權(quán),并創(chuàng)造了“服務(wù)軟件替代品”之類的術(shù)語來模擬SaaS架構(gòu)。他們還引入了Affero通用公共許可證,旨在將GNU通用公共許可證(主要的免費軟件許可證)的保護范圍擴展到網(wǎng)絡(luò)上托管的應(yīng)用程序。
這些努力的成果充其量是平庸的。自2000年代中期以來,Stallman對用戶不使用SaaS平臺的要求對阻止云的爆炸性增長幾乎沒有任何作用。如今,很難想到無法通過SaaS架構(gòu)獲得的主要軟件平臺,也很難找到在軟件自由性問題上回避SaaS的最終用戶。
而且,盡管Affero許可證獲得了廣泛的關(guān)注,但其推動云計算中自由和開源軟件事業(yè)發(fā)展的能力受到限制。Affero許可證的主要目的是確保軟件供應(yīng)商不能聲稱基于云的軟件未“分發(fā)”給用戶,因此不受傳統(tǒng)開源許可證(如GPL)的約束。這總比沒有好,但是對于解決與用戶使用基于云的服務(wù)時面臨的數(shù)據(jù)控制,軟件修改等相關(guān)的問題,它卻無濟于事。
因此,基于云計算的體系結(jié)構(gòu)繼續(xù)對自由和開源軟件的基本目標構(gòu)成根本挑戰(zhàn)。很難想像一種解決這些挑戰(zhàn)的方法,更難以想象它們在云計算應(yīng)用比以往任何時候都強大的世界中消失。
開源云計算的成功
通過另一種更積極的方式講述云中開源的故事。從某些領(lǐng)域的角度來看,例如私有云和“云原生”基礎(chǔ)架構(gòu)技術(shù),開源取得了巨大的成功。
像Kubernetes這樣的項目,Kubernetes是一個開放源代碼應(yīng)用程序編排平臺,它已經(jīng)變得非常占主導(dǎo)地位,甚至不再沒有競爭對手了。即使是VMware(其虛擬機編配工具與Kubernetes競爭)現(xiàn)在也在運行自己的Kubernetes發(fā)行版,Kubernetes贏得了編排器戰(zhàn)爭。
OpenStack是一個用于構(gòu)建私有云的平臺,對于基于云計算的體系結(jié)構(gòu)的開源而言,也取得了類似的成功案例。也許它還沒有像Kubernetes那樣徹底抹殺競爭者,但是OpenStack對于尋求建立私有云的公司來說仍然是一個非常成功的,廣泛使用的解決方案。
可以對Docker得出類似的結(jié)論,Docker是一個開放源代碼容器化平臺,對于那些想要比專有虛擬機更敏捷,更節(jié)能的解決方案的公司而言,它已成為選擇解決方案。
甚至在公司確實希望使用普通的虛擬機構(gòu)建云計算的情況下,Linux內(nèi)置的開源虛擬機管理程序KVM現(xiàn)在也可以與來自VMware和Microsoft等廠商的競爭VM平臺保持競爭。
在構(gòu)建基于私有(或較小程度上為混合)的云基礎(chǔ)架構(gòu)時,開源在過去十年中做得很好。十年前,不得不依靠專有工具來填補空白,而Kubernetes、OpenStack、Docker和KVM等平臺現(xiàn)在已成為事實上的解決方案。
開源與公共云
但是,當查看公共云時,開源似乎不太成功。盡管主要的公共云為Kubernetes和Docker之類的平臺提供SaaS解決方案,但它們傾向于將它們包裝在專有擴展中,這些專有擴展使這些平臺的開源程度不如實際。
同時,公共云中的大多數(shù)核心IaaS和SaaS服務(wù)均由封閉源軟件提供支持。如果要在Amazon S3中存儲數(shù)據(jù),或在Azure Functions中運行無服務(wù)器功能,或在Google Cloud中啟動連續(xù)交付管道,則將使用其源代碼永遠都看不到的專有解決方案。盡管事實上存在許多此類服務(wù)的開源等效項(例如Qinling、無服務(wù)器功能服務(wù)或CI/CD的Jenkins)。
云市場的消費者方面也由封閉源解決方案主導(dǎo)。盡管存在諸如Zoom和Webex之類的平臺的開源替代方案,但即使在專有協(xié)作平臺的隱私和安全性缺陷引起恐慌的情況下,它們也很少受到關(guān)注。
建立更好的開源云
對于在云中運行更多開源軟件的一個明顯反對意見是,云服務(wù)需要花費托管費用,這使供應(yīng)商更難提供免費的開源解決方案。由于用戶提供了自己的基礎(chǔ)架構(gòu),因此可以輕松地將Firefox交給人們安裝在自己的計算機上。但是,托管等效于Zoom的開源程序要昂貴得多,這需要龐大且昂貴的基礎(chǔ)架構(gòu)。
但是,這種觀點反映了缺乏想象力。有傳統(tǒng)的集中式云基礎(chǔ)架構(gòu)的替代方案。與傳統(tǒng)的IaaS基礎(chǔ)架構(gòu)相比,分布式對等網(wǎng)絡(luò)可用于托管開源云服務(wù),而服務(wù)提供商的成本要低得多。
同時也要指出,許多專有的云服務(wù)都是免費的。從這個意義上說,有關(guān)SaaS提供商需要補償其基礎(chǔ)設(shè)施費用,因此不能提供免費和開源解決方案的說法沒有任何意義。如果Zoom可以免費使用基本用法,則沒有理由也不能將其開源。
誠然,將更多的云服務(wù)開源是無法解決上面討論的有關(guān)用戶在他人擁有的服務(wù)器上運行代碼時放棄的控制的根本問題。但這至少將為用戶提供一些了解他們使用的SaaS應(yīng)用程序或公共云IaaS服務(wù)如何工作的能力,以及擴展和改進它們的更多機會。
想象一下一個世界,例如,F(xiàn)acebook或Gmail的源代碼處于打開狀態(tài)。我們懷疑對于隱私問題的關(guān)注會減少,如果有人可以看到代碼,那么第三方將有更多的機會構(gòu)建與這些平臺集成的出色解決方案。
但是,就目前而言,這些愿景似乎是不現(xiàn)實的。幾乎沒有跡象表明云中的開源將超越已經(jīng)占據(jù)主導(dǎo)地位的私有云和應(yīng)用程序部署壁ni。對于任何同意Linus Torvalds認為該軟件免費的軟件更好的人來說,這是一個恥辱。
當前文章:為什么基于云的架構(gòu)和開放源代碼不會總是混合在一起
鏈接URL:http://m.rwnh.cn/article38/cgdjsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、云服務(wù)器、做網(wǎng)站、品牌網(wǎng)站制作、軟件開發(fā)、App設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)