Eben Moglen is Professor of Law and Legal History at Columbia Law School, where he has taught since 1987. His JD and PhD in history were earned during what he sometimes refers to as his long dark period in New Haven. He clerked for Judge Edward Weinfeld of the United States District Court for the Southern District of New York and Justice Thurgood Marshall. Before and during law school he was a designer and implementer of advanced computer programming languages at IBM's Santa Teresa Laboratory and Thomas J. Watson Research Center. Since 1993 he has served pro bono as general counsel of the Free Software Foundation.