10 Reasons Why Rails Will Succeed

Aug 17, 2006

As Ruby on Rails enters year three enough progress has been made to really see where Rails momentum comes from and where the community as a whole is going. So here are ten reasons why I believe Rails has passed the tipping point and will succeed as a web development framework.

1. Rails has gained leaders from other camps.

Bruce Tate and James Duncan Davidson have both transitioned from the Java world. Dave Thomas and company has provided a wealth of knowledge through the Pragmatic Programmers. Paul Graham and Martin Fowler are also vocal supporters of Rails. These voices in the community lend credibility to Rails as a young movement and help counter the skeptics.

2. David Heinemeier Hansson.

His style of leadership in the Rails community can be jarring at times, but for any lack of tact he makes up for in passion and vision. Were DHH willing to compromise his opinions on web development Rails would be a much different framework and not likely one that has broken many preconceived notions set by J2EE.

3. Both Ruby and Rails are open.

In the most literal sense of the term both Ruby and Rails are both open. The source is available and exists under the MIT license for Rails and the Ruby license (which is GPL-like) for the Ruby language. This means that people who adopt Rails cannot be yanked around by a vendor and are not at the mercy of a vendor to fix bugs or add functionality. Just ask VB6 developers how they feel about VB.NET to see why this is important.

4. Rails is being embraced by developers first, managers second.

Rails is getting itself into big business, but not through some big corporate sponsored push to convince the managers. The developers are using it first and then working to get it into their offices. Rails has some excellent marketing, but the fact that it is targeted at developers will ensure that it’s focus is on the right set of people.

5. Rails has a narrow focus.

Rails has never claimed to be the silver bullet for the web. Rails does one thing well: allow web applications to be built easily, quickly, and in an extremely productive fashion. A single purpose allows Rails to improve as a rapid rate. Too many initiatives (like the all encompassing .NET umbrella) would neuter the inherent power of the framework.

6. The Rails community.

This may be the single most important part of Rails. The Rails community is amazing in their ability to churn out tutorials, screencasts, podcasts, books, plugins and generally allow Rails to grow in ways that the Core team cannot do alone. Even better is the ability of the Rails community to foster an environment of collaboration, encouragement, and feedback with each other to keep Rails innovation moving at a quick pace.

7. Infrastructure support.

Because of people like Zed Shaw with Mongrel and Jan Kneschke with Lighttpd Rails has the infrastructure it needs to scale well and perform under load. So when somebody says, “But does it scale?” we can answer, “Yes, in an extremely boring and simple manner. And we like it that way.”

8. Rails is the underdog.

Rails has had its detractors since the early pre-1.0 days. Rails was a toy, not scalable, not enterprise ready, not static typed, immature, a fad and apparently plenty of other things that would ensure that it would never succeed. I’m personally glad these skeptics and trolls are out there. It allows the Rails community to build amazing things and say, “Oh yeah? Looks pretty good to me.”

9. Book publishers are on board.

Pragmatic Programmers, O’Reilly, and Apress all have Ruby and/or Rails books out with more on the way. This not only is crucial for Rails developers but signifies that Rails is important enough to deserve shelf space. I was amazed last month when I was at Borders and saw five Ruby/Rails books on the top shelf, while the Java and J2EE books had been relegated to the bottom.

This situation did not exist a year ago.

10. Rails has accepted the Enterprise challenge.

The deployment gauntlet has been thrown down and I am excited to see how easy the Rails community can make it to do scalable deployments for Rails apps. Between Apache/Lighttpd, Pound, Mongrel, and Capistrano the right ingredients are there to have Rails applications be deployed easily and handle loads that would make the skeptical Enterprise Architects blush.