This post originated from an RSS feed registered with Java Buzz
by John Wells.
Original Post: JRuby + Excelsior JET = Rails IP protection?
Feed Title: Thoughtmining
Feed URL: http://feeds2.feedburner.com/Thoughtmining
Feed Description: Observations from a development director and practitioner...
I really enjoy Rails. I've worked with a few pet Rails projects here and there and trust me...as an old Perl/PHP/Java guy, there are some very nice benefits that you quickly take for granted when you implement an idea in Rails.
However, I'd really like the ability to write a web application in Rails and distribute this to potential customers as an executable. Some ideas I have don't mesh very well with your standard, publicly accessible web application, so local LAN execution is required. Problem is, you can't protect Rails applications (currently) from reverse engineering...some have tried, but to the best of my knowledge there is not true way to do it.
I've used the Excelsior JET product in the past to protect Java projects. It suited our needs extremely well, and took protection of our intellectual property to a level that simply wasn't possible with simple obfuscation. Now, with the announcement that Sun is officially backing JRuby, it's got me thinking...when JRuby fully supports Rails in a stable fashion, will it mean that we finally have a way to protect our Rails applications (or Ruby, for that matter) from reverse engineering?
I hope so. I suspect that a one thing might prevent it: JRuby is simply an interpreter implemented in Java, so the Ruby source has to live in text form somewhere. I'm somewhat hopeful though...if I recall, Excelsior allows you to bind certain types of files into the resulting native executable, which may provide some level of protection.
The real protection will come when/if the the JRuby guys get to the goal that I've read them mentionmore than once...eventually, JRuby code will be compiled to Java bytecode. Then, the REAL fun will begin. Excelsior JET should be able to jump in the ring and turn your Ruby apps into native, protected executables that you can distribute at will.
I for one am excited by this possibility. I only hope that Sun will throw some real muscle behind JRuby now and make compliation to byte code a reality in the very near future! I fear this may be some way off, though, so stable Rails support will be an acceptable delivery in the meantime. As soon as that occurs, I'll give it a shot with Excelsior and post the results for all to digest.