@Aki, if everyone went out to develop their own kannel or asterisk,or drupal, we would be having a programming language called Aki++.

Talking from a practical point, a client want a voip solution for his office. Asterisk will fit the clients needs perfectly. It has taken asterisk almost 10 years+++ of continuous development, by many people to get to the level it is. Would it be fair to my client for me to sit down and start programming a VOIP system? Would you as a client wait for 6 months - 1 year for a stable system?

The situation would be different if say for a business process software that seeks to automate a business operation, with very many varying dynamics. In this case, the developer can sit down and code from scratch. But even then, he wont have to design a "mysql" tool or C++, or even a compiler. It will still involve some re-use.

My 2 cents.