There are undoubted benefits to allowing millions of programmers to check and correct source code. Even proprietary software providers such as Apple, IBM and Microsoft now agree on this. However, this is only the most trivial meaning of "open source", and the fact that you can see the source does not stop software from being either commercial or proprietary.
There are also undoubted benefits from running open source software, though the financial ones can be small or even negative. Companies are bound to be tempted by the idea of getting something for nothing, but in business, the selling price of a program is not a significant proportion of its TCO (total cost of ownership). It is easy to save $10 a year on soft ware and lose $10 a day in productivity, either from incompatibilities or poor ease of use or other factors.
The facility to fix bugs yourself and to modify programs also sounds attractive. However, fixing bugs is not practical for most companies, and modifications can be positively dangerous.
If you are really going to do these things, you need to hire several reliable programmers with kernel-level skills: not a cheap proposition. The bug-fixes and extensions you get will be more or less untested, and bug-fixes can introduce as many problems as they solve.
Of course, your changes can be fed back into the mainstream source code, but there is no guarantee they will be accepted, and there is no appeals procedure. It may even be that different and incompatible changes are accepted instead, leaving you with no choice but to undo your work or risk a "fork" - then you really are on your own without a paddle.
I don't always agree with Oracle's chief executive Larry Ellison. However, the whole argument for Oracle's e-business suite is to make it easy to install and cheap to run, but you lose both benefits if you muck about with it. "'No code modification' is the correct message," says Ellison. (Softwar, p213).
Indeed, the whole progress of commercial computing has been from expensive hand-written, bug-ridden, company-specific programs to cheaper but more powerful off-the-shelf packages. From that point of view, open source is a throwback.
Finally, a couple of weeks ago, I mentioned that the movement did not have any way of creating software architectures. A reader disputed this in Feedback, citing three programs: Perl, Python and Apache. These are excellent programs, but not what I'd call a software architecture.
Curiously, also, none of them was developed by the open source movement, though they have of course been adopted and improved by it. Larry Wall developed Perl while working at Unisys; both Python and Apache came out of academia.
The open source/free software movement is well worth having if it can fix up failed commercial programs (Netscape, Star Office) and help turn academic ones into enterprise class software (Python, Apache), etc. I'm all in favour. But I get the impression that its ambitions are rather higher.
Links
Free as in freedom
www.gnu.org/gnu/thegnuproject.html
Softwar: An Intimate Portrait of Larry Ellison and Oracle
www.amazon.co.uk/exec/obidos/ASIN/074322504X/guardianunlim-21
What is software architecture?
www.sei.cmu.edu/architecture/definitions.html
Larry Wall interview
www.linuxjournal.com/article.php?sid=3394