Один із засновників Народного Руху України, очолював Оргкомітет Руху, з 1989 року — голова Київської координаційної ради Руху. Член Демократичної партії України в 1990–1999 роках, її голова — з грудня 1992 року до березня 1999 року. З вересня 1996 року до липня 1999 року — голова Комітету Державних премій України імені Тараса Шевченка. Член Комітету Державних премій України імені Тараса Шевченка з вересня 1999 року до жовтня 2001 року, член Ради з питань мовної політики при Президентові України з лютого 1997 року до листопада 2001 року.