- Developer(s) to:
- adapt downloaded code to local requirements
- to deal with software dependency problems, and to maintain local code as newer versions are downloaded
- to submit bug reports/fixes back to the projects, along with improvements the company has managed to make while solving its own problems
- A communication system for the developers. Depending on the size of the company, it could include IM, email and forum/wiki.
- Development tools for the software, including source tree with version control and methods of dealing with bugs, trouble tickets, etc.
- System to decide what code is accepted, needs to be modified, needs to be written, etc.
In working out the costs, you will find that the needed software tools are likely to be free, but the manpower for setting it up and doing all of the above is not.
But rather than go to management with a list of costs (nobody wants to be a "cost center"), compare your costs with the costs of a.) proprietary software and outside consultants and b.) doing nothing. Also, look for ways to show that the software will not just save money, but increase revenues (such as a more efficient or larger order-taking/fulfillment system, or one that has more uptime).
This was first published in September 2006