Autor książek, m.in.: Oświata i popularyzacja nauki w Galicji w okresie autonomii, Dyktatura zdrady. Polska w 1947 roku, Profesorowie UJ w aktach UB i SB.

Był publicystą, redaktorem i współpracownikiem różnych czasopism, należał do współzałożycieli „Czasu Krakowskiego”. Od 1995 do 1998 przewodniczył radzie programowej Radia Kraków. Od kwietnia 1996 do września 1998 był redaktorem naczelnym dziennika „Nowiny” w Rzeszowie. Od 1997 wchodził w skład redakcji rocznika „Studia Rzeszowskie”, od 2002 redakcji półrocznika „Horyzonty Wychowania”.

Od 2000 do 2006 był naczelnikiem Biura Edukacji Publicznej w krakowskim oddziale Instytutu Pamięci Narodowej, następnie do 2007 dyrektorem tego oddziału. Wykładał na Uniwersytecie Papieskim Jana Pawła II w Krakowie.

Działalność polityczna W 1968 i 1970 był zatrzymywany za udział w protestach studenckich. Od 1977 współpracował ze Studenckim Komitetem Solidarności, a następnie z Komitetem Obrony Robotników. W 1980 został członkiem „Solidarności”. Publikował w podziemnych pismach m.in. „Solidarności Narodu”, „Polityce Polskiej” i „Przeglądzie Wiadomości Agencyjnych”.