软件产品的缺陷,不管是做需求时就出现的缺陷,还是架构的缺陷等等,最终都体现在运行的代码上。所以在已定条件下代码的质量决定了软件产品的质量。为了尽可能提高软件产品的质量,这就需要在开发过程中做大量的测试工作。当然做的越多越好而且测试人员的水平也越高越好。但是任何一个卖软件的公司出于对成本的考虑都无法做到对测试无止境的投入。他们能做的只能在满足客户有需求的情况下来做固定范围内的测试。当客户使用过程中发现问题时就需要不断的更新软件的版本或是打补丁。但这些工作无疑也要受到成本的制约。这也是商业软件的无法摆脱的诟病。
综上所诉,对比来讲。开源软件产品在这方面的优势显而易见,顾名思义开源就是里里外外让你看个清清楚楚,明明白白。我想这对于那些好奇心强烈的编成高手或有兴趣的爱好者来说都是个不小的诱惑。而且在全世界范围内有越来越多的人参与其中,他们会不遗余力在去发现和改正软件缺陷。使得软件产品得质量不断提高。最重要的一点是这是不需要花一分钱。单从软件质量提高和成本控制这方面开源产品占尽了优势。举例子来说明。动态Web的开发语言Asp和php。这两个东西不用我说,大家也知道php无论是市场占有率还是对系统资源的消耗等各方面都要优于Asp。而且在一些特殊领域使用开源软件也比较让人放心,不光是因为它不要钱,而是出于安全和稳定。所以软件的开源对质量的提高确实有着很大的积极作用。
时间关系不可能写的很细。本篇文章主要阐述我个人的看法。如果大家觉得有什么不足地方欢迎指正。