软件开发人员喜欢开源。 什么是不爱的?! 它易于下载、多产、富有创意,最重要的是——免费。 有成千上万的程序员有使用开源库的经验,因此您可以从其他人那里获得免费(或廉价)的帮助。 开源代码库可以为您提供一个良好的开端,让您在短时间内完成 80% 的路程。 对于新的、不可预测的市场中的初创企业或公司来说,这种免费启动可能是生存的唯一途径。

几乎所有公司都将开源产品和库用于内部项目、企业 IT 需求和一些基于 PC 的开发项目。 如果要开发的软件在 Windows、Linux、Android 或 iOS 等开放应用平台上运行,那么您可以谨慎考虑开源。 在这些情况下开源是可以的,因为 PC、平板电脑和手机等多应用软件平台会经常重启、升级、修复错误并定期更新。 典型的开源代码膨胀在 PC 或手机上不是问题,因为内存和处理器能力充足——没有害处,没有犯规。 通常… 

对于单一用途的嵌入式系统(例如烤箱、安全系统或跑步机),开源是 平时 禁忌。如果这些是关键任务或生命关键(例如在汽车或医疗设备中),则开源是 无疑 禁忌。嵌入式系统必须立即启动、完美运行、能够在恶劣的条件下生存并且对资源非常吝啬。重新启动或软件更新不是一个选项。这些特性消除了开源软件的使用。它的臃肿和缺乏对编写代码的程序员的可追溯性对于嵌入式系统来说是难以承受的。

但即使在非嵌入式世界中, 心血漏洞 臭名昭著地强调了开源的另一个弱点。如果涉及大规模数据、安全或敏感信息, 有风险。开源总是容易受到破坏——有意的、恶意的或意外的。非常明智地使用它,否则它可能会在以后反咬你一口。

最后,当你使用开源并且事情严重崩溃时,除了有问题的“免费”贡献者之外,每个人都会被扔到公共汽车下。你公司的首席执行官、软件总监和程序员都会感到沮丧——而原作者却在匿名网络空间的某个地方,正在转向下一个爱好或黑客工作。