Wiele lat pracował naukowo na uczelni, zakładał tam "Solidarność". W czasie stanu wojennego był internowany. W 1989 r. został ministrem przemysłu w rządzie Tadeusza Mazowieckiego. W latach 1992-1993 był podsekretarzem stanu w Urzędzie Rady Ministrów, szefem zespołu doradców premier Hanny Suchockiej. Od 1991 r. do 2001 r. był posłem na Sejm, najpierw z ramienia Unii Demokratycznej, później Unii Wolności. W rządzie Jerzego Buzka pełnił funkcję ministra transportu i gospodarki morskiej. Był wiceprzewodniczącym UW.
W 2003 odszedł z UW, w tym samym roku objął funkcję dyrektora w Europejskim Banku Odbudowy i Rozwoju w Londynie (jako przedstawiciel Polski w Radzie Dyrektorów). Stanowisko to zajmował do 2007. W tym samym roku został ekspertem w Zespole Doradców Gospodarczych TOR.