I recently wrote a self-described ‘rant’ describing some of the experiences DreamHost has had working with Ruby on Rails on our platform, and with some recommendations on how the Rails community might be able to improve the situation. That post has received some excellent comments, including some by DHH, the creator of Ruby of Rails, and I’d now like to follow-up with some clarifications and further comments of my own.
My original post was intended primarily as commentary for the Rails developer community as a whole and they are, of course, free to take it as simply that. 37 Signals and DHH obviously have their own agendas, business and personal, and those agendas are largely not in line with any agendas DreamHost is working to further. I hope my comments may be taken as ‘food for thought’ by the larger Rails developer community. The project will survive just fine with or without taking my advice, and the zealous user community will likely remain zealous.
Some of the response to my post was essentially ‘do it yourself’. DHH also went so far as to recommend we not treat the Rails community as a ‘paid vendor’ and to ‘wipe the wah-wah tears’ from my chin. While that is a very valid request, I don’t believe it applies in this situation.
Ruby on Rails is a pretty small part of our overall service. We have already put in a not insignificant amount of work to support Ruby on Rails, including a pretty good amount of user training to assist people new to Rails, and have in general worked to further the cause for it in the shared hosting environment. Aside from hardware, we don’t really have very many paid vendors of any kind now. We have ourselves developed all of the custom perl-based software our business relies on (warts and all). We very much believe in the DIY mentality and it’s been a major part of our business history. Additionally, our business will not be significantly affected one way or the other by the future actions of the Rails community. It simply does not have the critical mass necessary for that.
That said, I would like to see Ruby on Rails reach toward that critical mass of users, and thereby become a larger portion of our business. For that to become a reality I believe it needs to be simpler to use on the server side of things. A larger user community is a good thing for any open-source project.
Bride of PHP?
I mentioned PHP several times in original post, but I very much do not want Rails to become ‘another PHP’. That would be silly, as one PHP is plenty! Ruby on Rails seems to have a conflicted identity at the moment. It is simultaneously compared to enterprise technologies like Java Servlets as well as more average joe programmer technologies like PHP. There are more traditional web programmers experimenting with Ruby on Rails and exploring it, and there are professional enterprise programmers investigating it. The amount of attention Ruby on Rails has achieved in such a short time is awe-inspiring.
Programmers are Lazy
The fact remains that both of those groups of web application developers, and I’d go so far as to say all web applications developers, want development environments that more or less ‘just work’. They want to focus on programming and leave the server administration alone. Rails does a great job at saving programmers on programming time (which is exactly why programmers like it), but many reports I’ve heard indicate that in many cases it trades that programming time for back-end server administration time instead. The average joe programmers out there are typically using completely managed hosting environments that they do not have much control over, and the enterprise programmers are typically using a somewhat complex and large-scale established environment that they also do not have much personal control over. Even those VPS users who do have more control over their server environment do not want to be spending their time managing that VPS. They want to be spending time writing those great applications.
If Ruby on Rails were made to be simpler to use with a wider range of hosting environments, big and small, that would ultimately benefit Rails itself far more than it would benefit DreamHost or me personally.
I would be happy to provide a free hosting account to anyone who would like to help work on these issues with us. Just contact me through our contact form and we can talk about it.
UPDATE! : DreamHost makes using Mongrel much easier! This is one way we’re working to make Ruby on Rails easier to use.