Родился 10 февраля 1940 в г.Пропойске (ныне - Славгород) Могилевской области, белорус.
В 1957-1958 работал печатником типографии в г.Ногинск Московской области. В 1958-1959 - каменщиком треста "Казметаллургстрой", г.Темир-Тау, Карагандинская область, Казахстан. В 1959-1962 служил в Советской Армии.
В 1962 поступил на юридический факультет МГУ, который окончил в 1967. Со студенческих лет знаком с Русланом Хасбулатовым, с которым учился на одном курсе. В 1967-1970 аспирант, в 1970-1971 младший научный сотрудник МГУ. Кандидат юридических наук.
В 1971-1988 преподаватель, старший преподаватель, доцент, декан Всесоюзного юридического заочного института, г.Москва.
В 1988-1989 старший научный консультант - старший референт Группы научных консультантов при Президиуме Верховного Совета (ВС) СССР. В 1989-1992 зам. зав. Отделом по вопросам работы Советов народных депутатов Секретариата ВС СССР. В 1992-1994 начальник отдела, зам.начальника Государственно-правового управления Президента РФ.
Состоял в КПСС до ее запрета в августе 1991.
В 1993 участвовал в создании Партии Российского единства и согласия (ПРЕС, "партия Шахрая"), избран членом Президиума Федерального совета партии. 12 декабря 1993 избран депутатом Государственной Думы по списку ПРЕС (N8 в списке). В 1994-1996 председатель Комитета Государственной Думы по вопросам местного самоуправления.
В 1995 году неудачно баллотировался в Государственную Думу (N4 в списке ПРЕС, в округе проиграл Михаилу Меню, Яблоко).
С февраля 1996 по октябрь 1998 полномочный представитель Президента РФ в Совете Федерации.
14 октября 1996 назначен судьей Конституционного Суда РФ.
Действительный государственный советник РФ I класса (19.07.1996), заслуженный юрист РФ. Имеет 2 медали.