我觉得很多人是搞错了,或者说是故意在混淆概念。
开源无助于发现软件中的缺陷,开源只是有助于解决软件中的缺陷。
对于商业软件而言,如果你不是他的客户(譬如说你装的盗版软件),即使有缺陷,他也不会为你解决(其实微软算厚道的了,你不关掉自动更新还是会给你打补丁的,只是友情提醒你是个盗版用户而已)。如果这一软件已经停止维护,例如Windows XP,那么这一缺陷可能永远都无法解决。
而开源则没有这个问题,当你发现了缺陷后,只需要自己撸袖子上就可以了。
什么?你看不懂代码?!