Yes, all cities should make public transportation free for its users and fund the operation of transportation systems through taxation. Transportation should be seen as a basic human right, and a person's ability to travel from one place to another should not be dependent on how much money they have.
Rather than worrying about fees and fare cards, public transportation should be free. The public transportation would be much more cost effective if they didn't have to have people collecting fares. The cities could just raise taxes instead to deal with the loss of revenue. This just simplifies the collection process.
Public transportation is expensive to build and maintain. It seems unlikely that making public transportation free would be sustainable for most cities. However, if it could be sustainable, it is a good idea, since it would encourage people to stop using cars and thereby reduce our environmental impact on the world.
Different cities have different needs and different financial situations. If it is very expensive to run and doesn't provide the economic benefits then it doesn't make sense to have all public transport as free. But when it can be afforded obviously it is a great thing for the local people and visitors.