Germany does not require visas from EU nationals for stays of any duration or for any purpose. Nationals of Australia, Brazil, Canada, Israel, Japan, Mexico, New Zealand, South Korea, Taiwan, the US and some other countries will also not require a visa for stays of up to 90 days (visa waiver).
Countries whose nationals will require a visa include the PR China, India, Iran, Pakistan, Russia, South Africa and Turkey.
For a detailed list of countries whose nationals do and don't require visas to enter Germany, see this list from the German Foreign Office (Auswärtiges Amt). For details on visa regulations, see here.