Crowdsourcing involves using an online crowd of humans to help solve problems defined by system owners. It can recruit large numbers of users through the web and enable high levels of automation and social contributions. Examples include explicit crowdsourcing like contests and implicit crowdsourcing from user behaviors. The key challenges for crowdsourcing systems are how to recruit and retain users, determine what contributions users can make, combine user contributions, and evaluate users and their work. Crowdsourcing is expected to grow through more generic platforms, applications, structured contributions, and broader user engagement with complex tasks.