This week's book giveaway is in the General Computing forum. We're giving away four copies of Arduino in Action and have Martin Evans, Joshua Noble, and Jordan Hochenbaum on-line! See this thread for details.
> 1. Does your book focus on software development process in commercial vs. open source development?
The book discusses both, but the emphasis is on commercial software. The book discusses the importance of leveraging open source, especially for bootstrapping new initiatives. As well, the book includes full exclusive interviews with two of the biggest names in free software: Linus Torvalds, creator of the Linux kernel, and Richard Stallman, founder of GNU and the Free Software Foundation. Those interviews are pretty interesting. (OK, I'm biased!)
> 2. If open source is really cost effective, do you think it will end up commercial software vendors?
Most commercial software vendors are using open source, and many are contributing code to open source. However, open source itself doesn't earn money. Few large scale projects can be developed based on open source alone because the skill and community-will are rarely there. Great points about this in my interview with Microsoft Technical Fellow and Windows architect Mark Russinovich. Most large scale projects (more than 50 people) require dedicated skill and funding. However, there are several notable exceptions. MySQL, Apache Cassandra, to name just a couple.
Once a codebase is open source can it be converted to commercial proprietary software? You bet! It's more spin-off than conversion, because the open source version won't disappear. Therefore the money is really only made by the changes/enhancements that distinguish the commercial follow-on from its open source ancenstor. And since the open source version may continue to evolve in the hands of the community the commercial version can't always distinguish itself enough to make it commercially viable. An example of this evolution: C-Store is an open source database and Vertica Inc is the commercial follow on.
> 3. When to go for commercial solution and when for open source other than less cost?
It depends whether you are talking about using the open source as a component within a software product or rather as an end user. Leveraging open source within your codebase can help bootstrap a development effort using relatively stable free code. You do need to watch the terms and conditions carefully (BSD, GPL, MPL, license etc). However, as and end user you can't depend on support for open source products. So if you run into troubles (bugs or missing function) you may be stuck.
> 4. Your tips/suggesstions/recommendation for going with open source.
Again, it depends what you mean by "going for".
a. If you are trying to make money as an open source company, most open source companies make their money by providing maintenance and services for the open source they provide.
b. If your are trying to bootstrap another R&D effort, by using some open source components, I think this is a great idea, but just watch the terms and conditions on the packages you use.
c. If you are thinking about using open source as an end user, you need to be comfortable with the product support that is in place for that code.