A student struggling with a certain concept, or her parent or teacher, will be able to log on to a web site where she can find a software solution that another student, parent, or teacher developed for that specific challenge. By means of such sites, students will teach students, parents will teach parents, and teachers will teach teachers. Parents and teachers, moreover, will be able to diagnose why children are not learning and find customized instructional software written to help students who closely match their child in learning style. As content is used over time, users will rate it, as they rate books on Amazon.com and movies on Netflix. That will not happen en masse until the technology has matured, but as it does, people will gradually link together various modules to form more comprehensive classes. And then end users will pull this content, rather than have school systems push it to them from on high. With users building the content and using open-source tools, the software will be far less expensive than if it had been commercially developed from scratch.