Był nauczycielem akademickim na Wydziale Organizacji Politechniki Śląskiej w Gliwicach. Był członkiem NSZZ "S", Konfederacji Polski Niepodległej. Współzakładał Ruch Obywatelski Akcję Demokratyczną. Należał do Unii Demokratycznej, następnie Unii Wolności. Jest członkiem Zarządu UW i rzecznikiem tej partii. Założył Towarzystwo Europa. Jest członkiem Amnesty International i Polskiego Towarzystwa Sinologicznego. Od 1991 do 1997r. był posłem z ramienia Unii Demokratycznej i zasiadał w komisji Administracji i Spraw Wewnętrznych.
W latach 2002-2003 był współpracownikiem Organizacji Bezpieczeństwa i Współpracy w Europie, był członkiem misji OBWE na Bałkanach.
W 2004 został wybrany na stanowisko sekretarza generalnego, w 2005 przystąpił do Partii Demokratycznej – demokraci.pl. Rok później wycofał się z działalności w PD, nie popierając decyzji o zawiązaniu koalicji Lewica i Demokraci. Wszedł w skład rady programowej Forum Liberalnego.
Członek założyciel Towarzystwa Europa, członek Amnesty International oraz Polskiego Towarzystwa Sinologicznego.