1。节省成本的开源基础设施有大量开发人员维护、讨论改进并提供反馈。如果用一个人每年的工作量来衡量软件的好坏,开源软件积累了众多开发者的心血,势必比一个团队独立完成的软件要好。很多东西可以直接重复使用。并且有大量的用户来测试同一套基础框架,节省了测试成本。2.更快的迭代由于大量的用户反馈,最新的技术趋势往往会被快速添加到开源软件中。另一方面,ISV可能没有这样的激励措施。例如,在Rails中添加CoffeeScript支持,聚合对断言的支持。3.完整的架构每个开发人员或架构师都有自己的盲点。因为大型软件是一个系统工程,少数人很难面面俱到。像国内很多大型网站暴露的XSS漏洞。可能只是知识的问题,重点的问题。开源软件有各个方面都擅长的开发者一起做决定,一起改进。4.技术支持文档维护和后续技术支持可能是比开发本身成本更高的工作。开源软件往往有大量的人共享文档和博客。同样的需求和问题,其他人大部分情况下都遇到过,也有解决方案。内部开发文档的维护难度极大,培训和沟通也非常耗时。5、基于开源的“缺点”开源基础框架的缺点是过于庞大,弄清楚所有的细节非常耗时。所以你经常遇到问题,需要重新审视如何处理它们。与从零架构了解所有细节相比,开源产品更像是面对和使用一个黑盒子。幸运的是,很多人在使用中证明了它的正确性。6、选择基于零和开源架构的架构如果团队时间和资源都比较紧,相关经验不多,那么基于开源的架构可能是最好的选择。节省开发成本,可以更专注于其他方面。如果架构师有足够的经验熟悉整个系统的方方面面,有足够的精力去跟踪所有的技术趋势,并且构建的系统非常简单,或者构建的系统与现有的开源产品有很大的不同,那么他就可以选择从头开始构建。但这很“难”。有时一群人可以产生比单个专家更好的结果。来源:http://blog.eood.cn/why_based_on_open
