Web 2.0 communities effectively harness collective intelligence and mass collaboration to solve knowledge sharing problems. They allow for customers and social technologies to contribute to the mass production and reproduction of knowledge. Early definitions of Web 2.0 focused on using open interfaces and open execution on top of open hypertext to take advantage of the web's ability to share knowledge on a massive scale.