I'm starting to use OSM since few time ago, and I still don't know it well nor how to manage well apps that use OSM maps, like Osmand and Maps.me. So, I haven't found how to calculate routes by public transport (metro, bus, train...). I can calculate them by car, foot, or even bike; but not simply using the most used medium of transport in developed cities arount the world: the metro.
Since in Google Maps and Nokia Here public transport route and schedule calculation is perfectly visible I'm starting to suspect that perhaps in OSM is just impossible to do this searches. Am I right? and if yes, why? Public transport routes and schedules are public information, how can Google and Nokia integrate it in their maps but OSM can't? Is there any reason, perhaps technical, perhaps legal, I don't know, that impedes OSM to be a real alternative to Gmaps?

Please remember that this is not a discussion forum but a Q&A site. Discussions about why something is the way it is and whether the world would be a better place if it were different are better suited to our mailing lists, see lists.openstreetmap.org.

OpenStreetMap does not collect such information, nor does it seek to. Such information is often protected by copyright or database rights, so we can't simply copy it from other sites (even if we wanted to) and then redistribute it under our open licence.

Nor is it particularly practical to avoid the copyright restrictions by surveying it by hand - for example, the entire UK railway timetable changes significantly every year, with several other changes throughout the year. We prefer to map things that are reasonably permanent!

In the case of Google, HERE etc., they come to agreements with the train/bus operators to use their data. Since Google doesn't seek to redistribute the raw data, it doesn't matter to them that it's not available under an open licence.

However, there is, of course, nothing stopping people building apps/websites that use OSM data and also negotiate permission for train/bus schedules. Citymapper, for example, uses OSM data for some aspects of the app, but also offers timetable-based planning. Remember that openstreetmap.org is not meant to be "a real alternative to Gmaps" - rather, OpenStreetMap's data seeks to fuel an ecosystem of a thousand apps and websites which, combined, are much better than Google could ever be.

I didn't know all those data were copyrighted; we, the taxpayers have paid them; those data are ours, or should be. Ok, letting apart how things should be and coming back to real world, and in order to be more usable by average users, who don't know a word about those independent apps/sites that could negotiate permissions, could OSM, if obtained said permission, use those data but, like Google, Here..., not redistribute them, or it would be incompatible with OSM rules and that's why third party apps/sites do that task? If it were possible I'd like to contact my city's public transport consortium and ask for said permission for a community driven project like OSM instead "working for free" for a private company and a closed source app like Citymapper.

Ultimately OSM could - if you really wanted to, you could come up with some way of storing it in the OSM data model. But I don't believe there's any appetite to do so among contributors. It might be better to start a parallel project - indeed, the founder of OSM, Steve Coast, once tried it (called 'Transiki').

Don't be too downbeat about the likelihood of "average users" finding "independent apps/sites". Many of those independent apps are better known than OSM itself - e.g. those from companies like Mapquest, Foursquare, Apple... :)

OpenStreetMap does not include schedule information with the data, so it is not possible to plan public transport using only OpenStreetMap data. It is not feasible to try to merge such a large amount of indirect temporal data into the geo data that OpenStreetMap is focused on.

The closest alternate solution is OpenTripPlanner, which combines OpenStreetMap data with GTFS public travel definitions if the locality has published on the GTFS Data Exchange. However it requires a large server and a bit of study to set up an OpenTripPlanner server.

Google Maps does it quite nicely, but of course they have a huge different kind of resources to do it. Just was wondering the same couple of days ago, and found this conversation about it:
https://github.com/osmandapp/Osmand/issues/4171