I found this essay a very interesting and inspiring read.
"The Cathedral and the Bazaar" http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/
This article contrasts and analyzes two different free software development approaches.
- The Cathedral model, in which source code is available with each software release, but code developed between releases is restricted to an exclusive group of developers (architects). They lock themselves in a little room and spent countless hours on debugging before releasing the product to the public. Releases are usually slow (between 6 months to a year). The objective is for users to see as few bugs as possible. GNU Emacs and GCC are presented as examples.
- The Bazaar model, in which software releases are EARLY and OFTEN. Bugs are reported by users and quickly addressed. The code is developed over the Internet in view of the public. The "Given enough eyeballs, all bugs are shallow" belief. If the source code is available for public testing, scrutiny, and experimentation, then bugs will be discovered at a rapid rate. Linux and fetchmail are presented as examples.
Note that the essay concerns itself only with free software, and does not address proprietary development in any way at all (since source code is usually not provided for proprietary software).