 The New York Times  DealBook   | Big Names Pull Cash from V.C. Fund Over Political Contributions
SearchBig Names Pull Cash from V.C. Fund Over Political Contributions
By writerSeptember 12, 2006 7:42 am
September 12, 2006 7:42 am
A venture capital fund based in Century City, Calif., backed by the likes of Harvard, Boeing and other big-league investors, and consulting with such disparate advisers as the Columbia University business school dean and KISS singer Gene Simmons, has run into trouble over allegations that its founders solicited political contributions form their start-ups.
Calling themselves International Technology University, the sneaker-clad partners scoured top engineering schools, seeking new technologies to turn into profitable businesses.  And over the last six years, the duo persuaded investors to entrust them with $250 million to use as seed money.
The two funded 36 start-ups, several of which turned healthy profits. But last month, their fortunes turned. Their most prestigious investors, Harvard University and public pension funds in California, Colorado and New Mexico, pulled $120 million out of the firm, cutting off much of the company’s cash supply.
The investors said they were troubled that the two partners, Chad Brownstein and Jonah Schnel, solicited political contributions from the fledgling firms they financed, and several obliged.