It should be a free web application for self-hosting. Source code must be available.
Those would be the optimal features:
- Access from mobile devices should be easy
- Multiple projects support
- Multi user support
- Flexible issue tracking system
- Per project wiki
- Time tracking
- Start/stop buttons to easily switch between tasks you are working on
- Quick select of the latest selected projects
- Button to switch to another project and switch back to the former one (for example: you are at customer A, suddenly customer B calls so you intermediately work for another project for half an hour)
At the moment I use timeeffect which doesn't have all need features.