
Ms. Europe or Frau Germania ? BERLIN – Just what is the matter with Angela Merkel ? Only a short while ago , she was celebrated as “ Ms. Europe ” ; now , she increasingly gives the impression of being Frau Germania . Instead of providing resolute leadership in the global financial and economic crisis , the European Union’s largest economy is withdrawing into its shell . Germany has always been the motor of European integration , in accordance with its political and economic interests . Every post-World War II government has always been willing to harness Germany’s financial strength to further that aim , i. e. , to foot the bill for Europe . The motto was simple : Germany gives and profits in turn . Should Germany spurn the first part of this formula , the European project would suffer serious damage – and so will German national interests . Yet this is the direction in which Chancellor Merkel seems to be heading . Indeed , in the wake of the Greek crisis , Merkel spoke publicly of the need to be able to exclude eurozone members that do not play by the rules . Does she seriously believe that the euro and the EU would survive such punitive action ? Instead of ideas for strengthening the solidarity and stability of the eurozone , absurd proposals are floated in Berlin . The idea that Germany would show financial solidarity with weakened eurozone members only if they accept draconian stabilization measures is similarly unrealistic . Such measures would only exacerbate deflation in these countries , which are the most important markets for German exports . What is essential is the right combination of stability and financial aid , even if the latter is unpopular with the German public . To be sure , eurozone member states also needed the courage to respond to the crisis of confidence confronting the common currency with concerted action for tighter control of national budgets and improved cooperation . As a first step , however , Greece must be given help , through the financial solidarity of EU governments . On the other hand , foreign criticism of Germany for running a current-account surplus similar to China’s is unfounded . Such criticism disregards two important differences : first , unlike China , Germany , as a member of the eurozone , cannot undervalue its currency . Second , German “ exports ” go mainly to the EU . To demand that Germany should stop increasing its competitiveness , or even reduce it , is simply bizarre . From 1990 to 2005 , Germany struggled with high unemployment , slow growth , and low competitiveness , and Europe’s economy suffered as a result . Recovery was difficult to achieve , but the Common Market has profited from Germany’s renewed competitiveness . The crucial point is not the German economy’s renewed strength , but whether Germany will use this strength in Europe’s interest or its own . Unfortunately , Merkel seems to have decided on the second option , because it entails fewer domestic political risks . The responsibility for the current conflict within the EU rests with eurozone governments , but primarily with Germany and France , the zone’s two strongest economies . Rather than lead , the Franco-German couple is constantly , and publicly , at each other’s throats . While today’s quarrel is about who should pay for restructuring Greece , the real issue is the latent distrust between the two partners , which carries the danger of a permanent estrangement . From the German point of view , France only wants to solve its national budget and debt problems at Germany’s expense , simultaneously weakening Germany’s competitiveness . The French government , on the other hand , fears that the Germans ’ commitment to eurozone stability is a ploy aimed at pushing France into a corner and leaving it behind economically . Since the global crisis erupted in the fall of 2008 , both Merkel and French President Nicolas Sarkozy have been faced with threats that their political majorities might disappear if they put aside their national interests in favor of a European compromise . France has no chance of meeting Germany’s stabilization objectives unless Sarkozy wants to forget about re-election . Merkel would cause outrage among her conservative voters ( as well as court defeat at the German Constitutional Court in Karlsruhe ) should she agree to a more free-spending policy , including any direct financial assistance for Greece . Soon , Helmut Kohl , Europe’s Honorary Citizen and Germany’s Chancellor of Reunification , will be celebrating his 80th birthday . As is usual on such occasions , there will be a lot of lofty speeches about Europe . But , in view of the current situation , we can safely ignore these . What Europe needs in this serious crisis are statesmen and women of Kohl’s caliber , not domestic politicians ! As the big economic and political winner of the eurozone , Germany , in particular , cannot let a serious crisis of confidence threaten the European project , because nearly two-thirds of its exports go to the EU . Ever since the collapse of Lehman Brothers in September 2008 , it has been clear that the global crisis would challenge the EU and the euro , because Europe lacks a common government and fiscal policy . Coordination within the eurozone – above all between its most important economies , France and Germany – is therefore all the more important . It is in Berlin and Paris , first and foremost , that the crisis-management strategy for the eurozone must be decided . 