Yes, DOTA 2 is fully free-to-play with no heroes or any other element of the game needing to be bought or unlocked.