Should all software be open sourced?
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 pre-selected 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.