Our application needs to cover the following.
Jikes RVM (Research Virtual Machine) provides a flexible open testbed to prototype virtual machine technologies and experiment with a large variety of design alternatives. It differs from other JVM projects in that it is written in Java whilst having a full adaptive optimization framework. It is a vehicle for testing a wide range of ideas including compiler research, memory management research, Java operating systems, computer architecture, and aspect oriented programming to name a few. It is widely used for research and teaching; for example, over 180 research papers have been published which use Jikes RVM.
Main Organization License:
Eclipse Public License
Why is your organization applying to participate in GSoC 2010? What do you hope to gain by participating?
We hope to participate in the GSoC in order to:
- generate immediate improvements to the code base.
- add new functionality to Jikes RVM.
- attract new contributors who we hope will stick with the project for the long term.
We are offering a wide range of projects, some involve very novel ideas, others involve interesting engineering, while others require more straightforward coding. We hope that fixes and improvements can occur in some of the neglected parts of the source code. We also hope to introduce features currently missing from Jikes RVM but provided by commercial JVMs.
Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.
Yes, in 2007 and 2008.
The outcomes were very successful for Jikes RVM in both years. One of the most successful projects in 2007 was Jisheng's Vectorization work. This code is "featured" in the GSoC repository and does good things. Jisheng is now a researcher with Vivek Sarkar at UTexas and the code is finding a use. Possibly the most significant success in 2008 was Pizlo's introduction of native threading (replacing 'green' threading). This has been adopted in the main trunk of the project, and the student became a member of the Jikes RVM Core Team and has continued to play an active part.
We have learned a number of useful lessons from our past involvement.
1. Ensure the students have appropriate expectations. If your organization requires a lot of background or indepth knowledge before the students can make progress, be sure that the students understand this.
2. Choose the students carefully---a demonstrated track record is a very good indicator.
3. In 2008, 2e required all students to submit code to an svn branch early on in the process, a change from the previous year. It worked well because it gave the students a concrete short term focus.
4. Set a concrete (and not insubstantial) milestone for the mid point of the project that requires students to have working code submitted by the time they are evaluated.
If your organization participated in past GSoCs, please let us know the ratio of students passing to students allocated, e.g. 2006: 3/6 for 3 out of 6 students passed in 2006.
If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?
What is the URL for your ideas page?
What is the main development mailing list for your organization? This question will be shown to students who would like to get more information about applying to your organization for GSoC 2010. If your organization uses more than one list, please make sure to include a description of the list so students know which to use.
firstname.lastname@example.org is our main user list.
email@example.com is our main development list.
firstname.lastname@example.org is our issues list.
What is the main IRC channel for your organization?
We mainly use the mailing list for general technical discussions (it's archived). Project mentors will generally provide students with their email address and a chat id so the student can chat with the mentor.
Does your organization have an application template you would like to see students use? If so, please provide it now. Please note that it is a very good idea to ask students to provide you with their contact information as part of your template. Their contact details will not be shared with you automatically via the GSoC 2010 site.
What criteria did you use to select the individuals who will act as mentors for your organization? Please be as specific as possible:
The mentors are all members of the Jikes RVM Team or have otherwise had a close engagement with Jikes RVM over a number of years. This means they have made significant contributions to Jikes RVM and are experts. Most or all of the mentors have demonstrated expertise in their relevant academic research domains through publications.
What is your plan for dealing with disappearing students?
Students will not have inter-dependent projects, so the impact of a student leaving is limited to the missing student and the project they were engaged in.
Moreover, we hope students won't disappear. Can we say that they have not disappeared in past SoCs? We hope to achieve this by friendly and timely mentoring, in particular at the start of the student's project when possibly they will have a steep learning curve to climb to understand the system. If a student appears to be fading then we hope to engage them in conversation about what the problems are that they are facing and explain to them the importance of their work to the project as a whole. We shall require mentors to report regularly that they are in touch with their students.
What is your plan for dealing with disappearing mentors?
The Jikes RVM team (from which the mentors are drawn) is very well established and stable. As established members of the Jikes RVM community, we expect mentors will be fully available to aid students during the GSoC. Each of the mentors has overlapping skill sets. So in the unlikely event that a mentor is unable to help a student then we will shift responsibility for that student on to another mentor with similar skills to the mentor who has become unavailable. The administrator will check regularly with mentors to ensure that projects are making progress. Can we say that they have not disappeared in past SoCs?
What steps will you take to encourage students to interact with your project's community before, during and after the program?
As the primary means of communication for the project are e-mail and IRC we will give all students a warm welcome on these forums. As a student working on the project they will rapidly get the skills where they can be full members of the development community. Mentors will be encouraged to let students report on their work and engage the community as a whole. If appropriate different forms of communication can be used such as telephone, skype, etc. We hope students will be proud of their work and supportive of the project. The skills they learn can be stepping stones to their future career. The more they can understand about the system, the more people they can interact with and the better they can improve their own skills.
What will you do to ensure that your accepted students stick with the project after GSoC concludes?
We hope to continue to engage the students with the many bugs and improvement requests the project gets. We hope the students will have the confidence to look at our trackers and contribute as they feel best. As a development community we will continue to be supportive of their contributions.
Is there anything else you would like to tell the Google Summer of Code program administration team?
A Save button on this form (that did not require it to be complete) as well as a Submit one would be helpful.
Backup Admin (Link ID):
Steve will be backup
Google Summer of Code 2010 Mentor Organization Participant Agreement
Looks OK to me (standard disclaimer, I am not a lawyer...)