No other professional field comes close to computer science in being able to start learning and applying skills for free without a traditional learning institution. Yet, landing internships without being in school is way more difficult. Implying you can't learn what CS schools have for yourself for free. University is great for a lot of people, but you might not need it. I do find more value in most internships, though. So why not make them open to anyone so long as they pass non-arbitrary requirements that don't involve formal schooling?
[1] https://www.symplicity.com/employers/campus-recruiting/resou...
A student at a university has the credibility to be successful at the internship and potentially turn into a full-time hire. The university in essence has raised the bar of the candidates available to an employer by filtering them through their acceptance criteria. If you got into a really good school, you must have worked hard, had good grades, etc. The school has done the first step of the vetting process for the employer.
In addition, a formal education can be easily verified, and also reduces the overhead and risk for the employer having to train those employees.
If you're self-taught, and you can sell yourself as having the same skills and understanding of the field, then it should not be hard to get an internship. Unfortunately, the burden is on you to portray and sell yourself on your self-taught skills, rather than relying on the merit/prestige of a university and their acceptance process.
You also have to consider the population size of applicants. For every job/internship a self-taught person is applying, there's probably an order of magnitude more people with a formal education in that field. Statistically speaking, the employer is more likely to select a person with a formal education based on population size.