Minecraft seems to strike the right balance here. Authenticate players on public servers to avoid spoofing other accounts, but also allow people to run their own private servers and disable online mode. Granted this enables piracy but I'm sure it hasn't put a dent in their sales.