本文來自開源云中文社區(qū)。
在筆者跟蹤企業(yè)IT的幾十年中,將開源軟件用于企業(yè)應(yīng)用程序的問題一直是一個持續(xù)的、熱度不減的討論。當(dāng)然,這是一個復(fù)雜的話題,幾乎涉及到商業(yè)IT的每個方面:安全性、成本、可靠性、支持、許可、可擴展性、保修、版本管理和跨各種內(nèi)部部署、混合和公共云基礎(chǔ)設(shè)施的可移植性。但事實上,自從互聯(lián)網(wǎng)本身興起以來,開源軟件(OSS)在其中發(fā)揮了重要作用,它通常運行在幾十萬臺服務(wù)器上,這些服務(wù)器運行著經(jīng)過時間測試的LAMP堆棧,該堆棧由Linux、Apache Web Server、MySQL、PHP/Perl/Python組成。
雖然隨著時間的推移,這個主題有很多變化,但開源仍然是互聯(lián)網(wǎng)的核心。這還沒有考慮到世界各地數(shù)以百萬計的Linux服務(wù)器在內(nèi)部部署和云數(shù)據(jù)中心上愉快地工作。
那么,開源是如何滲透到IT環(huán)境中的呢?讓我們退一步來繪制OSS的路徑。
全押開源軟件?
在商業(yè)計算的早期,絕大多數(shù)軟件都是由硬件本身的特定功能和局限性決定的。這通常意味著操作系統(tǒng)和業(yè)務(wù)軟件選擇僅限于大型機系統(tǒng)供應(yīng)商的產(chǎn)品、開發(fā)合作伙伴的專有解決方案或客戶構(gòu)建的應(yīng)用程序。但是隨著70年代小型計算機和80年代微型計算機的興起,這些新系統(tǒng)的軟件開發(fā)出現(xiàn)了巨大增長的機會。Unix和DOS等商業(yè)操作系統(tǒng)以及WordPerfect、Lotus 1-2-3、VisiCalc和WordStar等商業(yè)應(yīng)用程序主導(dǎo)了市場。但是,1983年Richard Stallman宣布推出GNU操作系統(tǒng),隨后1985年自由軟件基金會成立,開放GNU通用公共許可(GPL)概念為自由和合作軟件開發(fā)提供了新的機會。
1991年,隨著Linus Thorvald的Linux內(nèi)核的加入,可能是實現(xiàn)相關(guān)性的第一個重大步驟,這一發(fā)展將使GNU/Linux在企業(yè)中占有一席之地。雖然Linux的早期迭代被證明是一種潛在可行的企業(yè)操作系統(tǒng),但它缺乏一些關(guān)鍵要求,這些要求是企業(yè)客戶所看重的。作為一種開源軟件,Linux價格低廉,功能強大,但它的歷史記錄很短,沒有保修,而且很少有開發(fā)者支持。
這一差距得到了兩個供應(yīng)商的認可,一個是1992年第一個推出SUSE Linux Enterprise Server的SUSE,另一個是1993年開始銷售Red Hat Enterprise Linux的紅帽。Linux的商業(yè)化似乎打破了OSS的“免費”前提,但企業(yè)數(shù)據(jù)中心并沒有失去通過確保穩(wěn)定的升級路徑、開發(fā)人員支持以及涵蓋安全、存儲、虛擬化和系統(tǒng)管理工具的廣泛資源而增加的價值。據(jù)估計,如今Linux在服務(wù)器安裝中占據(jù)了70%以上的市場份額,并且有300多個發(fā)行版可用于廣泛的非企業(yè)用例。
為什么DCO應(yīng)該關(guān)心開源軟件革命?
Linux只是OSS故事的一部分,筆者首先提到它是為了證明開源在全球企業(yè)數(shù)據(jù)中心中存在。2018年,IBM收購紅帽,微軟收購GitHub(OSS的一個主要分發(fā)站點),以及這兩家公司對OSS的持續(xù)貢獻,很可能是對OSS在商業(yè)計算未來的積極看法的回應(yīng)。許多頂級IT供應(yīng)商已經(jīng)接受了社區(qū)投入的價值,并實現(xiàn)了吸引外部開發(fā)人員和用戶的價值主張。
如今,SourceForge和GitHub等網(wǎng)站上有數(shù)十萬個開放源碼軟件項目,由獨立開發(fā)者以及許多大型商業(yè)供應(yīng)商發(fā)布。應(yīng)用程序的范圍可以從基本實用程序和小型物聯(lián)網(wǎng)項目一直到重型企業(yè)應(yīng)用程序,如會計、內(nèi)容管理、客戶關(guān)系管理、電子商務(wù)、電子郵件管理、企業(yè)資源規(guī)劃(ERP)、項目管理和時間跟蹤。
很有趣,但它們在業(yè)務(wù)和IT環(huán)境中也行嗎?
OSS應(yīng)用程序相對較低的啟動成本對看中成本的人來說非常有吸引力,但閃光的并不全是金子。
多年來,商業(yè)供應(yīng)商發(fā)出了很多警告,稱開源軟件不可能在功能、安全性和長期成本等方面與他們的產(chǎn)品競爭,但其中一些擔(dān)憂已經(jīng)變得有點過時了。筆者相信技術(shù)采用的“信任但驗證”模式,許多開源軟件產(chǎn)品的價值主張之一是能夠以很少或沒有成本的方式試用它們。即使你選擇了開源,在應(yīng)用程序環(huán)境中工作也有很多要注意的地方。
如何在數(shù)據(jù)中心安全部署OSS
互聯(lián)網(wǎng)上有很多關(guān)于采用開源的風(fēng)險的信息,但這并不意味著你應(yīng)該完全避免考慮任何開源。以下是筆者認為在目前情況下應(yīng)重點考慮的幾點:
它是否與你的內(nèi)部部署、混合云和公共云基礎(chǔ)設(shè)施兼容?
需要多少修改才能滿足生產(chǎn)要求?
它是否可以擴展以滿足增長期望?
現(xiàn)在和未來是否有支持OSS產(chǎn)品的人員?
它是否符合你的安全要求?
它的版本歷史是什么?打補丁有多困難?
它是否與現(xiàn)有的數(shù)據(jù)保護和BC/DR模式兼容?
它是否合規(guī)?
它的許可模式可以接受嗎?
關(guān)于許可的最后一個因素已成為一個比過去復(fù)雜得多的問題,過去使用的許可格式數(shù)量有限。
關(guān)于開源軟件的最后一點說明
今天,開源倡議已經(jīng)確定了目前使用的1400多種許可變體,2008年,美國聯(lián)邦上訴法院裁定,這些許可為使用受版權(quán)保護的作品設(shè)定了具有法律約束力的條件,這些條件根據(jù)版權(quán)法可以強制執(zhí)行。這也可以涵蓋在其產(chǎn)品中包含開源代碼的商業(yè)軟件供應(yīng)商,因此了解你的供應(yīng)商是否使用開源代碼,以及他們是否通過使用其產(chǎn)品保護你的公司免受任何法律訴訟是值得的。
然而,這并不意味著你應(yīng)該過度擔(dān)憂而避免在數(shù)據(jù)中心使用開源軟件。只要做好盡調(diào),就可以享受開源軟件技術(shù)所能提供的創(chuàng)造力和好處。