JRuby’s Future at Engine Yard

By now you’ve heard the news: Tom Enebo, Nick Sieger and I will be joining the Engine Yard team to work on JRuby! We’re very excited about this opportunity and we’re looking forward to a bright future for JRuby and the community.

But why Engine Yard?

Engine Yard is, by almost all measures, the leading Ruby and Rails company in the world. They’ve literally written the book on how to make Rails deploy and scale easily, and if you have a tough Rails infrastructure issue, they’re the company you talk to. But in order for Rails to penetrate the large organizations of the world, many of which run Java in some form, JRuby is often the answer. So out of JRuby, Engine Yard and the Ruby community get a broad new landscape of opportunities.

For JRuby, the move to Engine Yard means we’ve got a dedicated Ruby and Rails company backing our project. We’ve always believed in Ruby and Rails, but have long realized there’s more we need to do. We need to finish support for the newer Ruby versions like Ruby 1.8.7 and 1.9.1. We need to build out the “last mile” of JRuby’s Java integration logic, to allow seamless two-way integration with Java frameworks and libraries. And we need to work with Rubyists to reach out to the Java community, to expand Ruby into a much larger world. All of this will be easier to do with Engine Yard backing us up.

So, what does the future hold for JRuby?

Well there’s the aforementioned work on Ruby 1.8.7/1.9.1 support, which is already very far along. We’re looking at making a move to 1.8.7 for base compatibility in JRuby 1.4 right now, and will start filling in the remaining 1.9.1 bits very soon. I also mentioned Java integration work; our goal is that JRuby will become a “first class citizen” on the JVM, so you can swap out any piece of Java for a bit of Ruby with as few penalties as possible.

Already we’ve begun exploring how to make libraries like Hibernate, JAX-RS, and many more integrate well with JRuby and Rails. Of course we already have excellent performance characteristics, but that work will also continue. And we plan to work very closely with the Rails core team to ensure Rails fits seamlessly into classic and modern Java platform stacks.

As far as Engine Yard goes, we’ll be working with the Engine Yard Cloud team to make sure our JRuby support is top-notch, and we’ll be exploring possible paths for JRuby’s future. We want to deliver a full set of cloud, hosting and support options, and will be talking to users and studying alternative platforms to figure out what those options should look like.

Ok, I’m hooked… how can I get started with JRuby?

Your first stop should be either my previous Engine Yard blog post on Getting Started with JRuby or the JRuby home site at jruby.org. You’ll find instructions on how to download, install, and get up and running with JRuby. If you’re interested in the project itself, check out JRuby’s kenai.com project page and wiki or our mirror repository on GitHub. And of course you’ll want to connect with the rest of the JRuby community, by joining our mailing lists, hopping on the #jruby IRC channel, or following us and @engineyard on Twitter.

What can I do to help?

There’s a lot of work to do in the JRuby project, and we certainly can’t do it all ourselves. So here are a few tips for folks interested in helping Ruby succeed on the Java platform:

  • Try using JRuby! The more folks that use JRuby, the more feedback we’ll get and the better we’ll be able to make it. If you can’t use JRuby, then at least check it out and let us know what we’re missing. User feedback is taken very seriously by the JRuby team.
  • Join the JRuby mailing lists and IRC channels, and help us support the JRuby community and the new Rubyists we’re bringing in.
  • Submit bug reports for bugs you find, feature requests for features you think are missing, wiki updates and articles for topics you think need better coverage, and blog, blog, blog about your experiences. We need to work together to improve JRuby and get the word out.
  • If you’re hacker-minded, check out JRuby’s source and see if you can help us fix a bug, add a feature, or improve performance. JRuby is a product of many, many external contributions, and would not exist today without community help. You can be part of the team too.
  • Study alternative solutions to the problems Ruby and Rails solve so well, and let us know what you want out of JRuby. What do you need to make JRuby your web platform of choice? What are we missing compared to the alternatives? What would your perfect JRuby cloud or support offering look like? Don’t hold back…we’re eager to meet your challenges.

And finally, we would like to bid a fond farewell to our friends and colleagues at Sun Microsystems. We’re really going to miss you guys, and hope we can continue to work together on improving the JVM as a language platform. Thanks for everything.