There are many reasons why the "open source" model has been successful and popular with developers, including the following:
Documentation for commercial software products is notoriously skimpy on detail and often out-of-date. This is frustrating for developers who try to write software programs that are designed to interoperate with or target other programs. The best documentation for a program is the source code itself. Having access to source code enables the developer to understand the program at a deep level and to debug and optimize his or her own program at a level of efficiency and skill that is often not possible with programs available only in binary form.
Having a common source code pool and the tools provided by the Internet creates an opportunity for extensive and speedy collaboration on development projects.
Most programs distributed as "open source" are free. Obviously, this is a compelling alternative to programs that cost money if the free program is equally feature rich and meets requisite performance parameters.
The broad license grant, which allows licensees to use, modify and redistribute open source programs, is a major advantage of the typical open source license. Typical commercial software products are distributed only in binary form and may not be modified. Often the documentation associated with commercial programs is not detailed enough to permit some kinds of "value added" programming that is possible for developers who have direct access to source code.