I got about 2000 words into a long diatribe that nobody, not even me, would read. I boiled it down to this: Since the 1950s, developers have variously, given away, sold, or denied access to the source code for the products. Some gave it away without any consideration about what would be done with it. Others imposed a range of restrictions on how the source code could be used. If the source is not available, or only available at a cost, it is said to be closed, or proprietary software. If it is available at no cost, it is said to be open software. Advocate of open source assert that because it is developed in a different way than proprietary software that it is superior. Among other things, it is said to have fewer bugs, including security holes, then proprietary software.
This claim is admirable in theory. In practice, it turns out to be erroneous. Direct comparisons of proprietary and open software intended to perform the same task, for instance operating systems, routinely shows that there is no noticeable difference. Both turn out to be just as buggy and insecure as the other.
The difference between theory and practice in this case is that the claimed advantages either do not exist, or are balanced by other factors. A stated advantage of open source development is that because the source is inspected by many people, bugs will be found and fixed by developers before they reach users. In practice, few people other than the original developer examine the source code looking for bugs. Even the developers, once they have finished their initial testing, will rarely read the code again, unless they are examining it to find a bug reported by users.
Simply put, the idealized model of open source development proclaimed by its proponents is not the way in which open source is developed.