Sun’s presence at RailsConf Europe 2007 was palpable. They were a diamond sponsor, had a ‘keynote’ speaker slot, and JRuby seemed to be everywhere (partly because it was also being pushed by Thoughtworks - another diamond sponsor).
DHH has blogged his thoughts about Sun’s increasing involvement with the Rails community:
But the exceptional work and high character of people like Tim Bray, Nick Sieger, Thomas Enebo, Charles Nutter, and now even Craig McClanahan championing Ruby and Rails inside Sun, I think I’ll have to waive goodbye to the last sliver of that suspicion very soon.
Well, I’m far from erasing my suspicions about Sun’s involvement in the Ruby community. I came across a blog post by Will Shipley on an unrelated topic, which helped crystallize my thoughts on this:
Back when we had commies to worry about, someone came up with the concept of “engage and contain”: eg, rather than avoid them as we’d been doing, we should trade and talk and travel there, and by doing so be able to contain their evil.
Compromise definitely seemed to be an underlying theme at RailsConf Europe. DHH’s keynote downplayed the need for evangelism - something I strongly disagree with. Rails has certainly made a lot of progress towards wider acceptance, but we’ve got a really long way to go before more companies start to adopt it, and I certainly don’t think turning down the evangelism and doing stealth deployments via JRuby is the answer.
At RailsConf 2006 Dave Thomas gave a keynote that mentioned all of the shortcomings Rails needed to address if it wanted to receive wider adoption. And it was great feedback which led to some people going off and working on some of those problems. When someone like Dave Thomas takes the time to provide constructive feedback on your platform of choice, you should 1. be grateful and 2. pay attention.
At RailsConf Europe 2007 however, Dave didn’t even specifically discuss Rails - and this seems to have been at the behest of the conference organizers. If this is the case, then the Rails community is already in trouble. Is this the price of Sun’s ’support’: that the community is no longer able to freely discuss the platform and what work needs to be done to get it accepted in the enterprise on its own terms?
Sun and Thoughtworks are advocating the use of JRuby as an easy means of deploying Rails in the enterprise - “it’s just another Java library” being the sales message to placate wary system admins. And of course, “you also can use Java libraries in JRuby”.
I have real problems with this attitude and approach. Selling Rails and Ruby, as “just a Java library” is a massive disservice to the technology, and simply means enterprise customers and decision makers won’t evaluate Ruby on its own merits.
My current client is a large investment bank which has a number of inhouse Rails applications. It doesn’t get more enterprisey than this. And yes, there are real problems with ’selling’ Rails to certain parts of the business. One of the side-effects of this is you get to overhear nice conversations by non-technical project managers of Java teams saying things like “But when is Ruby going to do multithreading - another 2 years time!”. You also hear confused people who think JRuby will solve the ‘performance problems of Rails’. It’s certainly easier for Java architects who dont know Ruby or Rails, to simply pedal a “Ruby sucks, Java (JRuby) wins” message - especially when they are dealing with bad Rails code written by non-Ruby developers under massive time-pressure.
But JRuby is not the best answer for Rails and Ruby developers. Doing all the work necessary to get Rails to interop with legacy systems (and not just Java legacy systems) is what is required. Better marketting and communication materials to explain to non-technical people that scaling and performance aren’t synonyms for “multi-threading”.
Serious Rails deployments (Mongrel not some Java Application Server) within enterprise environments may be difficult to achieve, but with the right political backing and developer persistence it can be done. And this will benefit the whole Rails community - not just those who tie themselves to Sun’s technology platform.
Ultimately I find it extraodinarily difficult to trust Sun’s intentions within the Ruby space. This is the same vendor that pushed all those complex J2EE standards on the world. One of the vendors responsible for corrupting the original promise of SOAP (simple, vendor neutral webservice interop). And also, the vendor with the most to lose if Rails really does fulfill its potential in enterprise environments.
Maybe I’ll start to believe when they start promoting Ruby on Rails at JavaOne, as opposed to promoting JRuby on Rails at RailsConf. Much more likely I think, is that we’ll see a Java based Rails alternative that ships with some new version of Java which has been designed to incorporate features from dynamic languages like Ruby and Python. Sun’s current engagement with the Rails community smacks of a short-term contain and control excercise. The questions the Ruby on Rails community needs to ask itself is - what compromises are we making for Sun’s involvement, and where will we be when if they choose to go down a different path sometime in the future?
Charles Oliver Nutte | 23-Sep-07 at 4:23 am | Permalink
1) JRuby is Ruby. Don’t think of it in terms of Java. We’ve bent over backwards to make it as compatible as possible, and continue to do so.
2) Don’t forget that Tom and I worked crazy hours on JRuby long before we ever came to Sun, and achieved our milestone of running Rails without any corporate backing. JRuby is not a Sun project; it’s a project Sun supports.
3) Ruby and Rails were everywhere at JavaOne. There was a tutorial on Ruby/RoR during the tutorial day that didn’t even get into Java or Java EE. The Ruby tooling in NetBeans had two talks and featured in two of the big keynotes. JRuby was featured in at least three different technical sessions. I demonstrated running and deploying Rails, both with WEBrick and into an app server, during the major technical general session.
4) Sun already has major internal projects running on Rails–both under Ruby and JRuby.
Trust me, Rails is not just being contained…it’s being actively cultivated and vigorously supported.
There’s no reason to post FUD like this. You make unsubstantiated suppositions about a big scary Sun that’s trying to squash the Ruby/Rails community. You claim Sun is trying to “contain and control” Ruby and Rails. You claim JRuby is somehow less Ruby than Ruby. And all the while, here I am working 15 hours a day to support Ruby developers looking for another option, with Sun being nothing but supportive for our efforts.
Sun hired Tom and I. Sun is working to support a research grant for Koichi Sasada, the man behind Ruby 1.9’s VM. Sun donated a high-end server to the Ruby core team for 1.9 development. Sun shipped me and the other Rubinius developers to Denver for a code sprint. Sun promotes Ruby and JRuby at almost all developer events. At what point would you appreciate the efforts happening at Sun instead of fearing them?
Please get your facts straight, and stop spreading FUD. Sun believes in Rails and Ruby, or I wouldn’t be working here.
logiccolony.com/blog :: JRuby Facts: Ruby ‘Cultivated and vigorously supported’ by Sun | 25-Sep-07 at 3:56 pm | Permalink
[…] Ola Blini and Charles Oliver Nutte set me straight about JRuby development and Sun’s involvement with the Ruby community. […]
Off The Lip » Antagonisms | 27-Sep-07 at 11:41 am | Permalink
[…] The programming world is all riled up, there are too many controversies and fights going on all at the same time. The two main protagonists are “the Ruby people” and “the Java people” with some Erlang or Javascript thrown in the middle. Although these two groups have a lot in common (be it only because many Ruby hackers are ex Java hackers), the critics are still far too vehement. Something is shifting. The language war is back and it’s strong. […]