Web application development reached a new paradigm with the release of Ruby on Rails back in 2004. Ruby on Rails creator David Heinemeier Hansson has since been at the helm of one of the most successful and popular open source software development projects.
Ruby on Rails, or just Rails, has allowed thousands of developers to create complex applications rapidly in a consistent manner. This level of consistency and re-use of code Rails helped pioneer has also given rise to the concept of a Web application framework, where components are used for common tasks like database connectivity.
Ruby can produce the most beautiful code I've ever seen in any programming language. The sense of aesthetics is very high.
Previously, the Open Source Identity series has featured interviews with Linux’s Linus Torvalds, Jan Schneider of Horde, Mark Spencer of Asterisk fame, Spine CMS creator Hendrick van Belleghem, Free Telephony Project founder David Rowe, and PulseAudio creator Lennart Poettering. This time we catch up with Ruby on Rails founder David Heinemeier Hansson to find out what the early days of Rails was like and what the future holds.
Tell us a little about the history of Rails and why it started. Was it born out of a personal need or business imperative (or both)?
Back in 2003 I was starting work on a new project management application for 37signals called Basecamp. Since the application was for an internal project, and not something external where the client would demand a particular technology stack, I thought it would be the perfect project to try out Ruby for. I had been eyeing Ruby for quite some time, but clients often demanded something particular like PHP.
So I gave Ruby a one week deadline to win me over. I think it took exactly two days before I was completely sold.
After the week was up, I was swearing never to go back to PHP, Java, or any of the other previous environments I had been working with.
In any case, I spent the next months building Basecamp and building the infrastructure in Ruby that I needed along the way.
Before I knew it, I had built a whole Model-View-Control framework with everything from talking to the database to rendering HTML.
At the same time I was having an absolute blast.
I was having more fun programming than I had ever had before in my life. So realizing that I'm not that special, I thought that others might have a good time using Rails as well. After that realization, I started to purposefully develop Rails with the idea that it was going to be released one day.
With so many developers contributing to the Rails code base, what is it now like managing the day-to-day running of the project? What are your favourite ways to interact with the community?
We've had more than 1400 people contribute code to Rails. It's really amazing. The community consists of hundreds of thousands of developers by some estimates.
But in the day-to-day interactions, it's usually a lot more relaxed than that.
We have a core team that serve as gatekeepers for getting patches into the core and that's the people I most closely work with.
But I always love meeting new people who are doing cool things with Rails. This often happens at conferences where someone will come up to me and tell me about this new thing they just launched.