Open-source development isn't quite the same as Wikipedia. For one, developers can still control what code they accept. For another, there's nothing to stop you from creating your own version with custom changes. This is done either to test them prior to submitting them upstream, or if there is some disagreement about what should or shouldn't go in.
Open-source developers typically look at, run, and test all code they receive, and rely on reputation to determine how much scrutiny someone's code needs.
The Linux kernel is a great example. I run a kernel with Con Kolivas' patch sets. These patches will probably never be accepted into the main kernel, but he keeps his patches on his website in case someone wants to use his modifications anyway. It's not like he's created a whole new kernel, he just needs to keep updating the patches occasionally so they still work.
Linus Torvalds covers some of these ideas in his Google Tech Talk about his Git VCS:
http://www.youtube.com/watch?v=4XpnKHJAok8
Particularly interesting is his concept of a "web of trust" and his strategy of appointing people in charge of certain parts of the kernel (for example, Alan Cox used to be in charge of the TTY code and personally approved all patches for that part of the code.)
Eric S. Raymond has also written a lot of great material about open source development in general. His relevant papers are listed here:
http://catb.org/esr/writings/homesteading/