As a (web)developer, I use a lot of different kinds of software tools to create a web (Java) application. Software for developing (Eclipse), source code control (Subversion), building (Maven2), continuous integration(hudson), artifact repository(Artifactory) etc.
The similarity between these tools above is that they are open source and have been broadly accepted as good quality software. A striking example is Hudson. Instead having to read manuals or/and complete books, as with some commercial products, with Hudson you just simply fill in a form and you are ready to build. Never seen it so simple.
Also the steady improvements of these open source projects is impressive. At my company we started using Hudson december 2007 with version 1.165. Now hudson is at version 1.227.
And that’s one of the key differences with commercial products. A lot of commercial software vendors deliver products that are not 100% ready. You often can see that some aspects ( GUI, help-menu..etc ) have not been completely worked out because of budgets. So, the customer has to wait for the next release and that, if the nuisances are not very big, can take a long time. Sure, you can get support. But the people staffing the support team are often not so intimate with the product that they understand your complaints.
The point is, do not underestimate open source software as a solution. Open source software with a lot of users will evolve by itself. Commercial software only evolves if the old version cannot be sold anymore.