There are always two sides to every story. And nowhere is that more apparent than when it comes to the advantages and disadvantages of open source vs. proprietary software.
As more commercial software vendors are exploring the potential benefits of open source, the rhetoric is reaching epic proportions. And with quasi-open-source licenses proliferating, it is becoming increasingly tougher to determine whether or not software is truly open source -- and whether or not that matters (beyond purely religious war reasons) to software consumers and developers.
Open-source vendors cite the arguments that open-source code is cleaner and quicker to develop because more developers work on the code and offer bug fixes. Because the GNU General Public License stipulates that all changes made to the source code must be given back to the community, open source thus vastly reduces the potential for incompatibilities, according to its backers.
Software vendors who develop code the traditional way, meaning inside their own walls, using preselected beta testers to help them catch bugs, make similar claims. The proprietary developers say they can develop and patch software more quickly and efficiently because their development and debugging teams are finite ones. And they attest that neither they nor their customers want to make available for all to see the custom tweaks and changes they make to their code, as these tweaks are what allow them to differentiate their products from their competitors'.
So, who's telling the truth? At this point, I'd say both camps are.
While proprietary software vendors often are criticized for missing their projected ship dates for their products, open-source vendors have missed their targets, too. Open-source evangelist Eric Raymond can proclaim all he wants that "we don't do deadlines" in the open-source world. But the fact of the matter is that open-source software is still software and is subject to the same set of factors that cause schedules to slip.
Some software consumers love the fact that they can tinker with source code. Others want nothing more than to be as isolated as possible from their operating systems and drivers. The same is true of developers. While some believe real developers aren't afraid of source code, others prefer that their programming languages hide underlying code complexities from them.
One open-source application vendor with whom I met this week said it believes open source is far more than just a marketing differentiator. While it isn't hurting this company to use the "open source" buzzword to open press and venture funding doors that might otherwise be closed to it, company officials say they believe the open-source development process has allowed the company to create a superior product.
Another operating system vendor, QNX, presented the opposite argument to me. The real-time operating system vendor says its telco, medical and consumer-electronics customers would not embed its operating system if it were open source, as they don't want to make public their code customizations.
What's your take? Should all software be open-sourced? Or is there still an argument to be made for the advantages of proprietary development (besides the obvious one of making money by charging for software)? TalkBack below and let me know what you think.