Some people have said we should have a standard implementation of Ruby, to prevent splintering, what do you think?
There's definitely talk about making Ruby a specification that can be implemented in JRuby or IronRuby (a version of JRuby for Microsoft .Net), I know there are some people who are moving along in that aspect and that would be nice. None of them impact me on a day to day basis. I'm happy with the implementation of Ruby done by Matz (Ruby creator Yukihiro "Matz" Matsumoto). The JRubys and IronPythons etc are niches, that's not what's being used by the majority of Rails users.
But enterprises are interested in JRuby because they can use Rails on their existing Java servers ...
JRuby is a great way to open the conversation with enterprises by saying, You don't have to throw out all this quote unquote "junk" you've accumulated over the years, Ruby is just an incremental piece you can put in. But in some ways it's sugar coating to get people to really come on board. It's a bridge for getting from one place to another.
The majority of Ruby on Rails users out there are people who go straight to Ruby on Rails, they don't have junk in the trunk. And they are still by far the highest number of users. The enterprise is a fairly newcomer.
So what's Rails being used for mostly today?
The vast majority is Web applications, that spans public Web sites, some for Web 2.0-ish applications, some e-commerce solutions, we're building collaboration tools. Any application that's a good fit for delivering through a browser is a good fit for Ruby on Rails, from the shaded gradients of Web 2.0 to mortgage processing applications for detecting credit ratings.
Where would you like to see it really succeed, what's your dream for Ruby on Rails?
My dream is that people adopt it on its own merits. We're not trying to bend Ruby on Rails to fit the enterprise, we're encouraging enterprises to bend to Ruby on Rails. Come if you like it, stay away if you don't. We're not going head over heels to accommodate the enterprise or to lure them away from Java. That's how you end up with Java, if you start bending to special interest groups.
We'll continue to add techniques and technologies that work for us, and it's great if it works for other people too, but Rails is very much an egotistical brainwork for me. I care about designing for me and producing a framework that works great for me, and that's the only constituent I have in mind when I develop it.
You remind me a bit of Linus Torvalds talking about Linux 10 years ago.
It's almost impossibly hard to design things for other people. You build it for yourself, that's what you have to do, and then you'll create something you like and you really want to use, and then other people will like it too.
There's no way to coopt and infiltrate us because we don't have commercial pressures. I couldn't care less whether a corporation or a business adopts Rails or not, I'm building Rails for me so there's not a lot of pressure they can apply. They can't say, add this functionality and we'll get a thousand extra customers for you. That won't work. They're going to have to win arguments on technical merits.
How would you characterize Sun's and IBM's relationships to Rails?
I think they recognize what developers want, they are recognizing there is great enthusiasm and passion for Ruby on Rails and they don't want to miss out on that. To a large extent they are following the passion, the excitement.
We don't want to work in these big environments like .Net and J2EE. I know some people inside of Sun know what's going on, but whether they as a company choose to accept the lessons I don't know. In some ways Rails is a rebellion against J2EE, but at the same time they're doing great work with JRuby and Unix level tools like DTrace. Like any big company it's going to have different factions inside. I welcome Sun and IBM to come in and offer services.
How many Rails committers are there?
We're 12 people in the core group who have commit access. Then there are hundreds of people who contribute improvements for their own benefit.
How old are you and what was your background before you created Ruby on Rails?
I'm 27. I worked with PHP and Java, they were my main background. I was mostly doing PHP on my own and I worked at a Java shop for a period of time. It was J2EE to some extent and otherwise Java in general. Those were the two forming influences. With Ruby On Rails I tried to form the best of both worlds, to make it as quick as PHP and as solid and clean as something like Java.