Pełnił funkcję eksperta ds. praw człowieka i prawa konstytucyjnego podczas obrad Okrągłego Stołu. W późniejszych latach pełnił funkcję doradcy Rzecznika Praw Obywatelskich (1987–1991), doradcy-eksperta w Sejmie RP (1989–1991) oraz starszego doradcy ministra spraw zagranicznych ds. praw człowieka (1990–1991). W latach 1991–1994 był członkiem zastępczym Europejskiej Komisji na rzecz Demokracji przez Prawo w Wenecji. W biurze Wysokiego Komisarza Narodów Zjednoczonych do spraw Praw Człowieka w Genewie pełnił funkcje starszego doradcy (1994–1999) oraz dyrektora ds. badań i rozwoju (1999–2005).
W 2008 został wybrany na członka Komitetu Praw Gospodarczych, Społecznych i Kulturalnych Organizacji Narodów Zjednoczonych, a w latach 2012–2014 pełnił funkcję przewodniczącego tegoż Komitetu. W 2016 został wybrany na prezydenta Europejskiego Międzyuniwersyteckiego Centrum Praw Człowieka i Demokratyzacji (ang. EIUC, European Inter-University Centre for Human Rights and Democratization) na kadencję 2016–2020.
W sierpniu 2017 został członkiem rady programowej Archiwum im.