Unpaid internships are becoming EXTREMELY common (if not in the CS field, certainly elsewhere). In NYC this used to be only the case for fashion, but has now spread to basically every other industry. We had a discussion the other day at lunch whether this was legal/ethical. I'm still not sure how I feel about it...
That said, unpaid internships are justified and common here. However, as a general best-practice I always advise companies to pay their interns if they are working on billable / revenue-generating work. If they are just doing mindless work, then I feel they are compensated with 3 hours of school credit and the cost/time sink.
Having worked with a lot of interns from the school, you get a lot of fickle results and often it's really more of a waste of time than beneficial situation for the company. And I damn sure would not trust an intern to work on mission-critical projects until they proved themselves, which often takes longer than their internship requirement. To any UT students, I was able to get out of mine and get 3 hours credit because I was self-employed w/ 2 companies. :)