- Serving map tiles
Tilestream is nice but if you want to have live maps (showing new OSM data as they happen) you need Apache and mod_tile (I think this is also used in main OSM site). You download OSM extract from geofabrik or anywhere else set up postgresql server. And updating mechanism. And them every time tile is requested it is checked if data was changed in DB and if it was tile is re rendered otherwise it is just returned. DB is updated each minute/hour/day how fast do you want it. You have to use mapnik style with this but Tilemill can export mapnik xml style. A lot of Tilemill styles are also on GitHub.
- Updating OSM Data
iD editor is main OSM editor for beginners and all changes are saved to OSM database as soon as you save them. It can take couple of minutes to see them in map tiles. This is because of caching. But if you use minute planet diffs you get changes as soon as you made them.
The same is true for all other editors (Potlatch, JOSM, Merkaartor). JOSM is used for more advanced editing usually. It has many more tools. Next to Bing there is also "Mapbox Satellite" option for tracing in iD and JOSM. This are images directly from DigitalGlobe. But it is always better to use data from GPS than only tracing images.
For mapping coordination you can use OSM quality assurance
JOSM has many plugins used to speed up drawing. One very useful for Public transport mapping is Public Transport You can drive with a bus and set waypoints each time you are on a stop. Then at home plugins helps you to add stops to OSM. It also eases adding routes. After all of this is in OSM you can see it in Transport style.
For mapping transit GO Sync should be useful. I also tried OSM2GTFS for bootstrapping GTFS but it didn't work for me on Linux. I write something on my own but didn't open source it yet.
- Routing engines
Why would you need 2 routing engines? I'm currently using OTP for my city routing and it's quite nice. It has multi-modal transport routing, pedestrian routing, bicycle routing and car routing. It also uses elevation data in routing if you have them. (You can get them from STRM or similar) OTP is a router for shortes/fastest path and transit. For example:
OTP is a java REST server with Leaflet fronted.
There also exist opensource Android application to access OTP server. It is also on Google Play and you can add your server URL to connect to it.
I think only OTP and Graphserver support OSM and GTFS data and are open source so you can add own data all others doesn't support Transit data.
Best Answer
OpenStreetMap is moving towards the Open Database License (ODbL) License Structure
http://wiki.openstreetmap.org/wiki/Open_Database_License
"We want to change the current CC-BY-SA 2.0 to Open Database License (OdbL) 1.0. "
Lots of debate has been going on for months
http://wiki.openstreetmap.org/wiki/Open_Database_License