I had an interesting conversation at Passover Seder the other night. One of the folks at my table was an unabashed apologist for open source solutions, the iPhone, Google Docs, etc. He did concede that SQL Server is the best database system out there, but hadn't (yet) had his mind opened up to SharePoint and the support for open standards - REST, RSS, XML, AJAX, etc. - especially in 2010.
Also, he complained that Windows 7 does such a great job of running the computer and applications seamlessly, flawlessly, and unobtrusively you forget it’s there. If he likes an OS that keeps reminding you it’s there - he musta loved Vista!). In the end, he believed that the browser is the OS, and he thinks Google's Chrome OS is in all of our futures. Interesting stuff.
Anyway, the conversation got me thinking about a few things. One thing that's always concerned me about open source is security. Consider a bank which prints a diagram of its floor plan and bank vault design on the outside of the bank. If I'm walking down the street one day, and i notice a design flaw, i have at least two choices. One is to publicize the flaw to the bank, or at large, to trigger someone to take steps to fix things. However the other choice is to keep it to myself and exploit the gap in the future. The open source model supports both behaviors, and as such, is less inherently secure than a closed model. (In fact, I'm not so sure you'd ever want to use the Open Source Vault Design Bank to store anything worth keeping!)
The other point is the direction of open source development, and how directed software development can move in ways that mob-sourced development can’t. The "hidden costs of free" are all the future possibilities never realized by a random walk down a feature wish list.
In corporate usage, Internet Explorer is often the standard, because of its support for browser objects and integrated authentication. However, sometimes out of sheer inertia, users (often remote) would find themselves inside Firefox and notice that some SharePoint hosted controls wouldn't work. I've been asked numerous times over the past three years why a given page wouldn't work on Firefox. The answer, sadly never changed - the page will work fine once the Mozilla/Firefox organization supports the ActiveX standard. Sadly, Mozilla never got around to it.
Moving forward, the great news for SharePoint 2010 is that Microsoft has extended the core platform to use AJAX to render controls to provide cross-browser support for IE, Firefox, and Safari. I think this makes sense - if you can’t count on Firefox to support a standard, do their work for them, I guess. I think this is a clear example of how a directed software development process can accomplish things that open source development fails.