1 Project Proposal Guidelines
Welcome to IcedTea!
This page is dedicated to students that want to submit a proposal to IcedTea and are searching for some ideas. We have a dedicated page that describes this process in more details and gives some suggestions how to write a project proposal as well as giving more information on IcedTea and the GSoC itself, so we suggest reading this first:
We have setup a mailing list for the GSoC. You can send us your project ideas, requests or suggestions here: gsoc_AT_icedtea.classpath.org.
A program like the Summer of Code can be very difficult to manage, especially for students in the European Community whose summer schedule is usually later than that in the United States. This is why we recommend that students do not work on other projects outside the GSoC, or limit the time spent on these projects to a maximum of 10 hours per week, depending on the task being proposed.
All applicants must be familiar with the GNU/Linux platform, have strong knowledge of build tools like make and maven and be reasonably fluent in the Java and/or C programming languages as appropriate. We also require some understanding of how the Java Platform works.
The GSoC is a means of learning and gaining experience, and our mentors will do everything they can to help the student, but a student must start from a solid basis already to have a chance of successfully complete the program.
We encourage you to get in touch with Mentors for your project of choice early, get to know the community and understand how each specific project works. And please, don't be afraid to ask questions!
3 Proposal Outline
This is a template for adding proposals to the Ideas list below.
- Brief explanation
- Expected results
- Knowledge Prerequisite
- Mentor (with email and IRC nick)
Please note that the following ideas are very basic and need to be expanded. Don't just copy the description, instead please discuss with the mentors the specifics for each project in order to write a proper proposal for the GSoC program.
Again, please refer to this page for more information.
4.1 VMFlexArray for OpenJDK (IcedTea)
The technology that underpins the ability to write to the Linux FrameBuffer using pure java is termed VMFlexArray. It allows off-heap memory regions (/dev/fb0, /dev/video0, externally malloced memory) to be accessed as real, managed, java arrays with proper object lifecycles. Furthermore, it allows a java.nio.ByteBuffer with access to a backing byte to be viewed as a java.nio.IntBuffer with access to a backing int, referencing / aliasing the same physical or virtual memory. Initial proof of concept was shown using JamVM and Classpath, but design flexibility allows for these changes to be added to OpenJDK (IcedTea) or any other combination of VM and class library.
This project demands that the student have in-depth knowledge of JVM internals. The prospective student must be comfortable hacking any JVM and must be _very_ capable of isolating and fixing bugs in C, C++, or Java code.
Expected results: Transpose the proof-of-concept changes to IcedTea, ensure the changeset passes unit tests adding new tests if necessary, provide example code for end-users, benchmark examples with and without the changes, and clearly document changes made. Implement changes in at least x86 architecture. Implementation for arm and ppc earn bonus points.
Knowledge Prerequisite: Java, C, and possibly C++.
Mentor: Christopher (Chris) Friedt