Rails and Django - Project and Community (part 2/15)
Project and Community
Status and History
Both Rails and Django projects are relatively new, open-source projects. Both emerged from real world websites, proven to handle very large volumes of hits, and encourage agile development (quick, incremental updates) of your web projects.
Rails was developed by 37Signals Inc. (Chicago, Illinois) for a collaborative project management application called Basecamp. Rails was released as open source in July, 2004, released version 1.0 in December, 2005. The current version is 1.2.1, recently released in January, 2007.
Django was developed by Lawrence Journal-World , a small town newspaper in Lawrence, Kansas, for their innovative family of websites. Django actually began development a bit earlier than Rails (2003), but wasn't released as open source until July 2005, and hasn't reached Release 1.0 yet. Normally a 1.0 means the API's (core methods) are stable, and features are finalized and frozen. (To track this, see http://code.djangoproject.com/wiki/VersionOneFeatures, and http://www.djangoproject.com/documentation/api_stability/ ).
In mid-2006, Django went through a major refactoring-- that is, an overhaul of its internal coding to clean it up old stuff, make things more consistent, efficient, et cetera. Rails, I have heard, has not yet been refactored, except for one or two components.
Both projects sport a respectable list of commercial, high volume sites using their technologies.
The Rails community is decidedly the larger of the two. There are lots of ways to show statistics on this. Google Trends graphs compare the frequency of Google search terms:
“ruby rails, django python”
Chat room (irc) activity is another way to see project activity (spot check on 2/15/07): #rubyonrails: 486 members; #django: 219 members. Similarly, Google groups membership: rubyonrails-talk : 7485 members; django-users : 4180 members.
Clearly Rails is the big guy and enjoys “first-mover advantage”. Some say they're just really good at marketing. Good early documentation and online screencast demos helped tremendously. There are several books on developing with Rails (including version 2 of the “Agile Web Development with Rails” book). The annual RailConf conferences are fairly well attended (hundreds, not thousands, of attendees).
Django too has a strong active community. Emerging from the Python world, it's already started to create some good buzz. They too have some screencasts, and The Django Book is in beta draft form. Django folks gather at the annual PyCon conference, where in 2007 Django is one of the tracks.
Both Rails and Django use Trac for feature and bug reports, a wiki-based issue tracking system for software development projects. Both use subversion for source code repository. The community participates by making feature requests, reporting bugs, writing documentation and tutorials, and providing useful re-usable code. That's the beauty of open-source software projects.
Considerable value must be given to the size and momentum of Rails and its community. They have very smart and passionate people contributing code, plug-ins, tutorials, and support. (Django does too, only Rails has more of them!) .
But a word of caution. With popularity also comes more "newbies" - new users, many being inexperienced not just with the language and framework, but perhaps any kind of modern programming. In some ways this is great. But it can potentially be a drag on the quality and responsiveness of the project. If/when the Django community grows, it will face the same problems but right now its following seems to be mostly experienced programmers.
I have hung out and asked questions in both projects' irc channels (chat rooms). The people in both are friendly, helpful, and available.
Django is clearly behind, having had a later start, is not yet at Release 1.0, its book in Beta. If you're not comfortable building on a pre-1.0 product, then your decision is easy. Otherwise, don't worry, as it is not unusual for the idea of “no wine before its time” be used in OSS (open source software) projects. The fact remains there are plenty of production sites using Django in its current condition.
Conclusion: Both projects are active and vital. Rails is bigger and stronger.
Project / Community
Rails Django When open sourced July 2004 July 2005 When 1.0 released Dec. 2005 TBD Current release (as of Feb 15, 2007)
1.2.1 0.95.1 Repository subversion subversion Issue tracking trac trac Website, wiki, blogs
very good very good irc channel members (Feb 15, 2006 3pm EST) 486 219 Google Groups membership