COTS 軟件有助于降低大型、長壽命系統(tǒng)的開發(fā)成本,但 COTS 并不意味著專有。自由許可的開源軟件(FLOSS)帶來了COTS的好處,但沒有專有產(chǎn)品典型的限制和供應(yīng)商捆綁。
國際空間站(ISS)是商用現(xiàn)貨或COTS概念的對立面。這些令人驚嘆的物品中只有一種,你肯定不會在貨架上找到它。然而,運行該站的一些關(guān)鍵軟件是使用COTS工具創(chuàng)建的,例如,用于構(gòu)建運行加拿大太空臂的軟件的GNAT Pro Ada編譯器。
為什么選擇COTS軟件來實現(xiàn)此目的?為大型復雜系統(tǒng)采購或創(chuàng)建軟件是一個困難且昂貴的過程。通過增加 COTS 的使用來滿足這一需求是對這一困難的自然反應(yīng),乍一看似乎提供了許多優(yōu)勢:降低成本、規(guī)模經(jīng)濟、廣泛使用導致更高的可靠性,以及熟悉系統(tǒng)的人員的可用性。這些考慮尤其適用于像空間站這樣的一次性項目,在這些項目中,構(gòu)建專用工具的成本很高(風險更大)。
然而,在實踐中,COTS的承諾并不容易實現(xiàn)。一個主要問題是供應(yīng)商的配合:如果您從供應(yīng)商處獲得專有的 COTS 系統(tǒng),您將與該供應(yīng)商綁定以支持、修改(在常見情況下,COTS 軟件幾乎但不完全是您想要的,必須修改),以及更新和改進的可用性。還有一個問題是,一般的COTS市場在頻繁更新和舊版本的快速過時中蓬勃發(fā)展。XP/Vista的例子在這里很有啟發(fā)性,微軟早在用戶準備遷移到Vista之前就放棄了XP。即使微軟被說服(看起來很可能)繼續(xù)支持XP十年,即使對于某些項目來說,這也遠遠不夠。
波音 777 和波音 787等現(xiàn)代飛機的使用壽命非常長,以幾十年為單位。這些飛機具有非常復雜的軟件系統(tǒng),需要最大的可靠性。在許多情況下,這些飛機上的軟件不僅使用 COTS 工具構(gòu)建,而且機上還有實際的 COTS 軟件組件——不僅軟件,而且認證材料都可以“現(xiàn)成”獲得。鑒于這些飛機的預期壽命很長,對COTS工具和組件持續(xù)可用性的擔憂成為一個關(guān)鍵問題。
軟件與硬件(在 COTS 領(lǐng)域內(nèi)外)的區(qū)別之一是,從概念上講,修改軟件很容易。用新版本完全替換飛機的航空電子軟件可能不超過幾分鐘(當然,不包括準備和認證新版本的時間和精力)。在一架著名的軍用飛機的情況下,我被告知每個尾號對應(yīng)于一組略有不同的軟件組件。因此,一次構(gòu)建并忘記的概念當然不適用于航空電子軟件。
這種更改軟件的能力意味著軟件系統(tǒng)的更新和改進可以以對相應(yīng)硬件系統(tǒng)不切實際的方式實現(xiàn)?;氐角懊嫣岬降募幽么筇毡?,完全更換硬件將是不可想象的;但是,確實至少對軟件進行了一次完全更新。但考慮到執(zhí)行此類更新的可能性,軟件工具和組件的長期可用性變得至關(guān)重要。
在軟件構(gòu)建中選擇 COTS 的其他考慮因素包括可靠性和保修問題。事實上,給定的軟件組件可以在數(shù)百萬臺可靠性不重要的PC上使用(或者至少不被制造商視為重要),這意味著它在高可靠性環(huán)境中的使用不受制造商的歡迎:事實上,法律免責聲明積極勸阻。在這種情況下,試圖獲得此類產(chǎn)品的全面保修可能是完全不可行的。
另一方面,廣泛使用可能是可靠性的重要貢獻者,因此這種廣泛使用也可以朝著積極的方向發(fā)展。軟件開發(fā)人員不能僅通過測試來保證正確性和可靠性,但是,隨著時間的推移,使用非常廣泛的產(chǎn)品往往會變得更加可靠,因為實際使用會消除問題。在某些情況下,必須依靠此方法來實現(xiàn)可靠性。例如,考慮地面空中交通管制系統(tǒng)。通常,這些必須建立在通用操作系統(tǒng)(如IBM的AIX)之上。使用類似于DO-178的標準對此類系統(tǒng)進行認證是不可能的。它們太復雜了。然而,如果這種制度已經(jīng)使用了幾十年,就像本例一樣,這種經(jīng)驗就會給這個制度注入至關(guān)重要的信心。
因此,COTS 軟件可以提供許多優(yōu)勢。但是,無法進行自定義修改和保證長期支持的基本困難通常會阻礙這些 COTS 承諾。除非這些問題能夠得到解決,否則軍工將退回到采購昂貴定制技術(shù)的模式。
使用牙線COTS可產(chǎn)生世界上最好的結(jié)果
對于獲取和使用 COTS 軟件產(chǎn)品的這些一般問題,可以在使用商業(yè)自由許可開源軟件 (FLOSS) 產(chǎn)品中找到一個有趣的回應(yīng)。使用FLOSS COTS可以潛在地解決這些基本問題,并提供COTS的優(yōu)勢,而沒有隨之而來的缺點。這些牙線優(yōu)勢包括:
可訪問的源代碼
首先,源始終可用并且可以自由修改的事實意味著至少可以進行修改。此外,這些修改可以由客戶、制造商或第三方進行。對于專有產(chǎn)品,制造商可以通過技術(shù)和法律手段對此類修改保持牢固的控制,但與COTS FLOSS相關(guān)的免費許可意味著這種控制是不可能的。
永久可用性
其次,免費許可意味著任何存在的東西都永遠可用。對于專有產(chǎn)品,制造商可以通過許可條件或簡單地使產(chǎn)品停止工作來強制升級。(例如,如果您不繼續(xù)升級到最新版本,Quicken 的某些功能會在幾年后停止工作。對于FLOSS產(chǎn)品,許可保證永久可用性,供應(yīng)商,客戶或第三方可以提供長期支持。
強調(diào)支持
最后,商業(yè)FLOSS市場以支持為導向。在沒有支持的情況下將FLOSS產(chǎn)品傾銷到市場上并期望人們購買它是行不通的。人們?yōu)榭赡軓幕ヂ?lián)網(wǎng)免費下載的東西付費的確切原因是獲得高水平的支持。如果此支持意味著對特定客戶進行微小的修改或在舊版本上永遠保持支持,那么它將以合理的價格提供。如果制造商不以合理的價格提供此服務(wù),第三方可以介入提供該支持。就我們在空間站環(huán)境中提到的GNAT Pro Ada編譯器而言,AdaCore每年都會提供新版本,但我們?nèi)匀挥锌蛻羰褂贸^10年的版本,我們希望無限期地繼續(xù)支持。進行微小的自定義改進是我們商業(yè)產(chǎn)品的重要組成部分。
牙線成功
總之,COTS 軟件工具和組件將停留在關(guān)鍵項目的背景下,對基于 FLOSS 的 COTS 工具的日益依賴可以確保 COTS 的承諾能夠在沒有這種方法的共同缺點的情況下蓬勃發(fā)展。
審核編輯:郭婷
-
開源
+關(guān)注
關(guān)注
3文章
4203瀏覽量
46119 -
編譯器
+關(guān)注
關(guān)注
1文章
1672瀏覽量
51582
發(fā)布評論請先 登錄
山東大學開源鴻蒙技術(shù)俱樂部成立儀式暨系統(tǒng)軟件技術(shù)論壇圓滿舉辦
普華基礎(chǔ)軟件亮相2025中國汽車軟件大會
普華基礎(chǔ)軟件出席開源車用操作系統(tǒng)人才培養(yǎng)啟動儀式
普華基礎(chǔ)軟件亮相BlackBerry QNX 2025中國年度開發(fā)者大會
潤和軟件亮相操作系統(tǒng)大會openEuler Summit 2025
NVIDIA宣布開源Aerial軟件
普華基礎(chǔ)軟件開源龘V2.3和開源小滿V25.10上線
普華基礎(chǔ)軟件亮相2025 CCF中國開源大會
普華基礎(chǔ)軟件亮相2025開放原子開源生態(tài)大會
普華基礎(chǔ)軟件榮膺優(yōu)秀開源項目獎
軟件物料清單分論壇即將召開
關(guān)鍵系統(tǒng)中的COTS軟件:自由許可開源軟件的案例
評論