To enter Germany you need a passport that is valid for at least four months from your date of arrival. For citizens of EU countries a valid identity card is sufficient.
EU citizens do not require a visa.
Citizens of all other countries will generally need a visa, with the exception of some countries for which the European Community has abolished the visa requirement. Nationals of those countries do not require a visa for visits to Germany lasting no longer than three months in a six-month period.