In this paper, we describe CloudCoder, an open platform for creating, assigning, and sharing short programming exercises for a variety of languages (currently C/C++, Java, Python and Ruby). Like other similar systems, CloudCoder is web-based, letting students write code directly in a web browser, click the "submit" button, and receive immediate feedback. Unlike other systems, which tend to be closed, or commercial, or both, CloudCoder is a completely open platform. The code for the system is open-source, and exercises written for CloudCoder may be shared to a central repository under permissive licenses such as Creative Commons BY-SA. Finally, CloudCoder collects detailed data that faculty can use for educational research. We also report on successful pilot studies of CloudCoder at several institutions, and outline research questions we hope to address in future work.