It was made possible with planning, iterating, and preparing a detailed tagging schema that incorporated most tagging practices:
https://wiki.openstreetmap.org/wiki/Metro_Mapping
It started as a proposal, which failed the voting. Then I made another proposal, but didn't have the nerve to go through voting the 2nd time.
But also I noticed how most objections come from just a few people in EU, so I just started tidying up networks in many cities, and when we passed 80 (with help of other OSMers), it became the standard.
At that point I was ready to tackle the general public transport schema. After all, PTv2 is impossible to route over and a pain to use.
So, with experience in processing PT data for routing and validation, I generalized it for all kinds of transport, and presented at @sotm in Milan:
https://wiki.openstreetmap.org/wiki/Proposal:Refined_Public_Transport
Technically it's flawless. It has full backward compatibility, easy to map, tagging is pretty and conscise.
But at that point I got burnt out at my job and couldn't make the final step.
At that point I was ready to tackle the general public transport schema. After all, PTv2 is impossible to route over and a pain to use.
So, with experience in processing PT data for routing and validation, I generalized it for all kinds of transport, and presented at @sotm in Milan:
https://wiki.openstreetmap.org/wiki/Proposal:Refined_Public_Transport