I'm fairly firmly of this opinion (though I only have a little experience working on large open-source projects). Sure, there can be productivity loss in developing in parallel vs developing a consensus, but nothing highlights the strengths and weaknesses of a design like actually implementing and using it.