It should be obvious, but the more I talk to people about open source, and where and how it's useful, the more I'm surprised by how overinflated (or underinflated) expectations often are for open source.

One case in point is with the utility of source code as a way to save time and money, rather than reinventing the wheel. For example, Alfresco, my employer, was able to get its initial content management product to a 1.0 state in less than six months because it heavily borrowed from successful open-source projects such as Hibernate, Spring, PDFbox, and others.

One of the problems is that taking code from other projects is hard. You can't take the code as is, right? Solaris is very different in many areas from Linux, so if you take Solaris code, you have to fix it for all the differences.

Quite often, it's actually more work to try to take code from another project than it would be to just write it yourself from the start, from scratch.

In some cases, it's worth the effort, but it is effort. For those who think that adopting open-source software is easy, you clearly haven't been involved in it for very long.

Open source doesn't make development or business easier. It's a different way of doing development that has its own significant benefits and some downsides. I think that it leads to superior code, but don't expect the road to be smooth.