Open source development is not exactly the same as Wikipedia. First, developers can still control what code they accept. For another, you have nothing to stop creating your own version with custom changes. This is done either to test them before serving them upstream, or if there is some disagreement as to what should or should not be included.
Open source developers typically review, run, and test all of the resulting code, and also rely on reputation to determine how much attention the code requires.
The Linux kernel is a great example. I run the kernel with Con Kolivas palette sets. These patches will probably never be accepted into the main core, but he will save his patches on his website if someone wants to use his changes anyway. It doesn't seem like he created a completely new kernel, he just needs to periodically update the fixes so that they still work.
Linus Torvalds highlighted some of these ideas in his Google Tech Talk about his Git VCS:
http://www.youtube.com/watch?v=4XpnKHJAok8
Of particular interest is his concept of a "network of trust" and his strategy for appointing people responsible for certain parts of the kernel (for example, Alan Cox used to be responsible for the TTY code and personally approved all corrections for this part of the code.)
Eric S. Raymond also wrote a lot of great material about open source development in general. Its relevant documents are listed here:
http://catb.org/esr/writings/homesteading/
source share