The Clojure community has been growing at a healthy rate since the initial language announcement in 2007: the Clojure mailing list now has over 6000 subscribers, the freenode IRC channel sees greater than 400 participants, and there are three conferences scheduled this year dedicated to Clojure. All of this activity means many open source initiatives in the community that need help - these range from new platforms like ClojureCLR and ClojureScript to advanced creative authoring environments like Overtone. This coupled with evident interest from students on the mailing list has encouraged us to apply for GSoC 2012.
By participating we hope to accomplish several things. Of foremost importance, students get an opportunity to contribute to projects that would require far more sophistication in programming languages with more complex semantics than a Lisp - for example constraint logic programming over finite domains or improving the minimalistic ClojureScript compiler to produce optimal JavaScript code. We believe this kind of knowledge is incredibly useful outside the context of the Clojure language or community in particular. Taking on a proposal also gives students the critical opportunity to own a highly visible project and become a community leader. The Clojure community largely consists of practitioners so many projects of moderate difficultly with significant community benefits do not get addressed simply for lack of time. By participating as a sponsoring organization of GSoC 2012, Clojure/core can contribute back to its community in a vital way that we otherwise could not given that we are not an academic institution nor have any infrastructure in place to encourage community members to set aside two to three focused months to work on useful projects.
Mentors are generally leaders of existing Clojure community projects that have been involved in the development of the programming language more than three years. These community leaders have shown a dedication and level of involvement that is simple to verify.
The most critical aspect is of course preventing such a scenario entirely. This needs to happen at the selection of the proposal, the selection of the mentor, and the selection of student. A proposal of proper scope, a dedicated mentor, and a student with a visible history of seeing projects to their end is critical to success. Also critical is observing their involvement in the community prior to the student selection process. Finally a proper interview is probably required in order to find out whether the mentor/student pairing is ideal and whether the student will be free of time conflicts during the GSoC time period to see their project to completion.
Most projects will have a backup mentor. Even so, the mentors are selected from the community precisely for their history of involvement in the community and the issues surrounding proposal.
It will be made clear that community involvement prior to selection will be strong factor for being considered for a proposal. We believe that open source contribution is not a summer time affair. Students should be talking with mentors from the start in order to develop the adequate understanding and material required to tackle the proposal. This may include but is not limited to showing familiarity with an API, submitting patches, and reading papers and discussing them with mentors. We believe that a well considered proposal/mentor/student combination reinforces student engagement during the GSoC period. Most of the proposal are significant enough that students should feel a sense of ownership about their accomplishment. At the same time the proposals are significant enough to the Clojure community that community members can provide support once the intensive GSoC period is done and the student must focus more time on academic responsibilities.
We are a new organization - the following people vouch for us:
Dan Friedman, Indiana University
William Byrd, Indiana University