An approach that has met with a great deal of success is to use open source software for the common pieces and allow company developers to focus on solving the problems unique to that company. Many projects out there are written using publicly available compilers, languages, operating systems, and network services. Some examples:
The GNU compiler collective and tool chain.
The Linux Kernel.
The Apache Web Server.
The Jakarta Servlet Engine
JBoss application server.
PHP Groupware.
Sourceforge.
Nukes Content Management System
The PostgreSQL database.
Jakarta Struts form processing and templating libraries.
Webmin Server administration.
Costs->