軟件開發人員喜歡開源。 什麼是不愛的?! 它易於下載、多產、富有創意,最重要的是——免費。 有成千上萬的程序員有使用開源庫的經驗,因此您可以從其他人那裡獲得免費(或廉價)的幫助。 開源代碼庫可以為您提供一個很大的開端,讓您在短時間內完成 80% 的目標。 對於新的、不可預測的市場中的初創企業或公司來說,這種免費啟動可能是生存的唯一途徑。

幾乎所有公司都將開源產品和庫用於內部項目、企業 IT 需求和一些基於 PC 的開發項目。 如果要開發的軟件在 Windows、Linux、Android 或 iOS 等開放應用程序平台上運行,那麼您可以謹慎考慮開源。 在這些情況下開源是可以的,因為 PC、平板電腦和手機等多應用軟件平台會經常重啟、升級、修復錯誤並定期更新。 典型的開源代碼膨脹在 PC 或手機上不是問題,因為內存和處理器能力充足——沒有害處,沒有犯規。 通常… 

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

但即使在非嵌入式世界中, 心臟出血錯誤 臭名昭著地突出了開源的另一個弱點。 如果涉及大規模數據、安全或敏感信息, 有風險. 開源總是容易受到破壞——有意的、惡意的或意外的。 非常明智地使用它,否則它可能會在以後再次咬你。

最後,當你使用開源並且事情很糟糕時,除了冒犯性的“免費”貢獻者之外,每個人都會被扔下車。 貴公司的 CEO、軟件總監和程序員都會大吃一驚——而原作者在匿名網絡空間的某個地方,繼續從事下一個愛好或黑客工作。