Google Summer of Code proposals open TODAY!

I posted previously about JRuby being accepted to the Google Summer of
Code 2012. Student proposals can be submitted starting TODAY, and we
really want to make a good showing for both JRuby and Ruby. Tell your
friends, tell your neighbors, pass this on to anyone you think would
be a good student or mentor!

This content is also available at

We’re looking for good mentors and students to come together and help
make JRuby even more awesome. JRuby has great potential to expand Ruby
and to improve the state of Ruby development, and at the same time it
represents a number of interesting and unique challenges.


Ideas for JRuby’s GSoC fall into a few categories:

Working on JRuby itself
JRuby always has challenges keeping up with CRuby/MRI on features, and
it’s through user contributions that we’ve managed to maintain such a
high level of compatibility. There are also many interesting technical
challenges implementing JRuby, like optimization, monitoring,
debugging, and integrating with the Java platform. We welcome students
interested in helping improve JRuby.

Working on libraries and tools for JRuby
Because JRuby runs on the JVM, many libraries from CRuby/MRI don’t
work, either because they depend on features the JVM can’t support
(like fork(2)) or because they use native extensions. This can make it
more difficult for users to migrate to JRuby. We welcome students
interested in helping fill out JRuby’s support for common CRuby/MRI

Building on the JVM, its languages, and its libraries
The JVM is a huge platform with many languages and libraries that all
have unique features and interesting solutions to software problems.
JRuby can leverage those features through its Java Integration
capabilities, but often they need extra work to really have that “Ruby
feel”. We welcome students interested in helping JRuby leverage the
features of the JVM and the languages and libraries it hosts.

How to Get Involved

Students and mentors should join the JRuby development mailing list


If you are a student and interested in working on a JRuby GSoC project
this summer, join the mailing list above and let us know what project
you have in mind. When the call for GSoC proposals opens, submit your

GSoC will be open for student proposals on March 25th (US time).

To apply, visit the the JRuby GSoC Page. If you don’t have a GSoC
profile, there’s a big Register link to create one. Once you have a
GSoC profile, you can apply.

Students should have the following skills:

Solid knowledge of Ruby. JRuby knowledge is a plus but not necessary.
Good work ethic. We want students that will carry projects to
Strong interest in the problem domain for their project. For example,
if you want to work on JRuby’s compilers, you should have an interest
in compilers.
We don’t know how many GSoC slots we’ll get, but the more proposals we
have the more likely we’ll get slots. Submit proposals as soon as


If you are a mentor and would like to help a student work on some
project this summer, now is the time to apply at the GSoC page. We are
looking for folks that will be able to educate and encourage students
during the summer and help keep them to a solid schedule.

Mentors will be accepted any time during the proposal process.

To apply, visit the the JRuby GSoC Page. If you don’t have a GSoC
profile, there’s a big Register link to create one. Once you have a
GSoC profile, you can apply.

Mentors should have the following characteristics:

Some experience mentoring junior developers, either professionally or
Strong knowledge of Ruby, and solid knowledge of JRuby.
Knowledge of the Java platform and/or the JVM are recommended, since
many students will be new to them.
Highly accessible. Students will participate from all over the world
and frequent, consistent communication is the best way to guarantee

We’ve had a lot of good discussions on IRC, and IM and twitter about
possible proposals…

This is an update that we’ve got one week left for proposals, and I
encourage students to get proposals in sooner rather than later so
they’re in the system.

So far we have interesting proposals for working with JRuby’s IR,
Android/Ruboto work, Shoes, benchmarking, Kilim integration, EM on
Netty…but few are submitted to the GSoC tool.

Don’t be afraid to submit…you can edit the proposal afterwards, and
there’s a commenting system where we can discuss the content and help
you put together a great proposal.

For non-students out there: we’d really appreciate you passing this
information along to any students you know that might want to be paid
to work on JRuby-related OSS projects this summer. The more proposals
we get, the more slots we’re likely to have!

  • Charlie

On Sat, Mar 24, 2012 at 11:52 PM, Charles Oliver N.

Team Shoes is absolutely behind anyone who wants to work on the two
JRuby flavored versions of Shoes, we’ve already got one person on our
ML who’s interested!

I’m interested too.:slight_smile:

I added another idea to the page…

Java Native Runtime-based IO and process-mgmt subsystem
JRuby currently uses Java’s standard NIO and ProcessBuilder APIs for
doing all IO and process management. We’ve managed to hack this well
enough over the years, but there are many features we can’t easily
support using only Java’s APIs.

The Java Native Runtime provides an FFI layer to Java that JRuby uses
for many basic POSIX functions. One of its subprojects, jnr-enxio,
provides NIO-compatible wrappers around standard native IO operations,
allowing things like selectable stdio (Java’s stdio is not
selectable), UNIX sockets (jnr-unixsocket), and the potential for us
to spawn subprocesses using functions like posix_spawn (which can
carry parent descriptors through to children).

JRuby would benefit from work on a process-management and IO subsystem
based on JNR, for cases where the Java APIs simply are not suitable.

There’s lots to do in JRuby, from optimizing compilers to native
libraries to Android and beyond :slight_smile:

  • Charlie

Last chance!

GSoC proposals close TODAY at 19:00UTC, 12:00PDT!

We can (and will) continue to discuss the proposals – and we can
continue to revise them – during the two-week review period, so
last-minute entries are acceptable.

If you’ve been waiting for the last minute…THIS IS IT. Get your
proposals in ASAP!

  • Charlie

On Sat, Mar 24, 2012 at 11:52 PM, Charles Oliver N.