as it is a free game and we all are mature player, I think introducing a class limit is overstated!
In my opinion it should be up to each player wut class he want to choose!
cause for a successfull team communicatoin is the key, so why limitating classes when u can talk to other player and ask for changing class in game! You take away flexibility reacting on tactics the other team presents!
just a simple example for limitating sniper:
noob players are not able to do countersniping wut u ask them to do, to save ur team of a skilled player or defend a special point, no sniper slot available -> you can't change team tactics/improvement that fast - usefull time elapsed!
one single player can change alot during a game (of course with the right team behind) and that can happen when u stay flexible!
So when u ask me the vote should be "NO" for class limits!
This doesn't solve anything, even if you get a good player go sniping, the n00b player will still stay put sniping as well. Effectively taking a good player away from a different role.
Next point is that a lot of people don't listen when you ask for more of a certain class. Or people from another neccesity class switch over and you start asking for people to switch to that one again.
Third point, to take down a sniper you don't need a contra sniper. This only leads to stalemating since you have 3 sniper vs 3 sniper battle while the rest of the team walks around undisturbed most of the time. I rather use a spy/demoman/soldier for countering sniper then another sniper. Since not only do you have a very good chance on taking the sniper down, you can also help the offense after you have done so.
Besides if its possible for Saintk/demm or whoever codes this stuff, to make you able to spend spapoints to pick ur class then we wouldn't have trouble at all. Since most good players have at least enrolled for the spapoints system.\
There are plenty of ways to counter a sniper, and I seriously don't see another sniper as a solution for the problem. Sniper battles = deathmatch.