我之前已经考虑过这个问题,这个话题经常引导我远离开源项目。最近DotNetPanel已将其名称更改为WebSitePanel并更改为开源。谣言工厂猜测微软支持这一点。
我的问题(多部分)非常简单。有人可以向我解释质量保证在开源项目中的作用吗?在开源时,封闭式应用程序如何“变得更好”?当太多开发人员为项目贡献(可能是坏的)代码时,“厨房中的厨师太多”理论是否适用?
答案 0 :(得分:2)
这有点太开放了。我会尽量回答。
首先,关于开源代码质量的BIGGEST论点与贡献代码的人几乎没有任何关系,更多的是与人们查看代码有关。例如。如果寻找错误的人构成5个项目开发人员和2个QA部门人员(选择一个随机的例子),这个级别的注意力很容易被10s,100s或1000s的开发人员盯上代码,具体取决于项目的使用和流行度。
如果您认为这在现实生活中不会发生,那么您的个人轶事 - 我亲自检查 - 至少在表面上 - 我在代码中新使用的几乎每个CPAN模块的代码。如果我找到,请积极报告任何错误问题。
第二,潜在测试人员库。显然,FOSS代码拥有更多用户(因为价格或哲学异议可能会将大量的封闭源版本添加到池中) - 而后者可能会被自行选择为合格的测试人员和开发人员。
第三,一个好的FOSS项目拥有高质量的首席开发人员或团队,他们的工作就是整合代码并确保其质量。主要区别实际上有利于FOSS模式 - 与商业公司相比,潜在客户没有时间压力,因此有更多机会投入所需的时间来确保质量,代码审查等。
最后,但并非最不重要的是,您似乎在假设任何从事专有代码库工作的人自动提供对项目不坏的代码的情况下运行?如果是这样的话,你会感到很遗憾 - 这来自于那些花费近100%职业发展生涯的人在公司门口工作。
只是为了给出这种味道,我个人,就像我说的那样,在专有的企业软件上工作,从未与FOSS项目相关(部分原因是由于时间不足),而不是根据我自己的用法测试和报告错误,并且仅出于实际原因(质量/功能)使用FOSS而不是哲学原因。
答案 1 :(得分:2)
常识,请。如果你下载一个随机的人发布到一个不受控制的伪造的代码,你就是运气好。在信任之前你最好小心点。
另一方面,考虑来自具有10年跟踪记录的项目的代码以及记录良好的内部控制和程序集(例如,哦,Apache Xerces)。你对它的亲子关系和内容了解得比你从中得到的二进制文件更多,哦,微软或Sun.你可以采取或留下“大量的眼球”的论点。如果您可以阅读整个电子邮件存档并查看所有源历史记录,则可以自行判断。如果你知道这个软件包被广泛使用,那么你就可以信任所有在你之前评估过的人。
许多着名的自由和开放源码软件项目由那些付费用于工作的人填充,只是为了折腾另一个事实。很多非自由和开放源码软件是由过度工作,过度压力,薪水过低的开发人员创造出来的,他们没有足够的时间和资源去做最好的工作。