開源、嵌入式系統、Heartbleed 和總線下的程序員

軟體開發者都喜歡開源軟體。這有什麼理由不喜歡呢? !它易於下載、內容豐富、充滿創意,最重要的是——免費。成千上萬的程式設計師擁有使用開源程式庫的經驗,因此你可以利用他人提供的免費(或低成本)幫助。開源程式碼庫可以讓你快速起步,迅速完成80%的工作。對於新創公司或身處新興、充滿不確定性市場的公司而言,這種免費的啟動資金可能是其生存的唯一途徑。

幾乎所有公司都會在內部專案、企業 IT 需求以及一些基於 PC 的開發專案中使用開源產品和函式庫。如果要開發的軟體運行在 Windows、Linux、Android 或 iOS 等開放應用平台上,那麼可以適當考慮使用開源軟體。在這些情況下使用開源軟體是可以接受的,因為像 PC、平板電腦和手機這樣的多應用軟體平台經常重新啟動、升級、修復 bug 和進行更新,而且更新頻率很高。開源軟體常見的臃腫問題在 PC 或手機上並不會造成困擾,因為記憶體和處理器效能都很充足——完全沒有問題。 

通常… 

對於單一用途的嵌入式系統(例如烤箱、安全系統或跑步機),開源是 平時 不可以。 如果這些是關鍵任務或生命關鍵(例如在汽車或醫療設備中),則開源是 無疑 不可以。 嵌入式系統必須立即啟動、完美運行、在惡劣條件下生存並且對資源非常吝嗇。 重新啟動或軟件更新不是一種選擇。 這些特徵消除了對開源軟件的使用。 它的臃腫和對編寫代碼的程序員缺乏可追溯性對於嵌入式系統來說太過分了。

但即使在非嵌入式世界中, 心臟出血錯誤 臭名昭著地突出了開源的另一個弱點。 如果涉及大規模數據、安全或敏感信息, 有風險開源軟體始終容易受到攻擊——無論是故意的、惡意的還是意外的。務必謹慎使用,否則日後可能會付出代價。

最後,當你使用開源軟體並且出現嚴重問題時,除了犯錯的「免費」貢獻者之外,所有人都會成為替罪羊。你的公司CEO、軟體總監和程式設計師都會受到牽連──而原作者卻隱身於網路空間的某個角落,繼續從事下一個嗜好或臨時工作。

我們的網站使用 Cookie。繼續瀏覽即表示您同意我們按照隱私權政策中所述的方式使用 Cookie。