I personally like the 2 years in college rule. I think players will be more developed and it seems like the fairest compromise between college and the NBA. After that, there can't be any more NBA/NCAA disagreements and issues with players. Even split.
It's a free country. Why should we permit such collusion to depress the hiring of young professional basketball players?
Same reason the NFL does it. It's their business. The majority of these kids are ignorant and exploitable. They jeopardize their careers and lives by coming out too early. For every Lebron or Amare or Kobe or TMac there a tens of Lenny Cooks and Ndudi Ebis.
The NCAA is one of the most ruthless exploiters of young basketball players. How much money did OSU make off of Greg Oden in his freshman season? How does a free year of tuition for a degree (which he had no intention of completing) compare to what he would have gotten for a season in the NBA?
At the same time, the NBA is a very harsh environment for kids straight out of high school. Some super talented players are given the benefit of the doubt, but for most the NBA is a place where you either succeed right away or fall to the wayside and fail utterly.
I think the ideal situation would be that players who are sure they want to go the NBA (and have the talent to do so)would go into the D-league and spend a year or three there until they develop into NBA-level players. Some players would still get drafted straight out of high school, but they'd be required to spend at least a year in the D-league system.
Of course, the D-league is not a great environment for kids right out of high school at the moment, either. It still needs work before it can become an ideal development league for players just starting out.
I think players that do choose to go to college and play basketball should be required to spend at least 2-3 years there. As long as there is a palatable alternative (e.g. D-league), it wouldn't be oppressive or exploitative to have such a requirement.