Are Bugs in Grails Hurting Adoption?
A recent thread on the Grails mailing list sparked an interesting discussion. Some developers have reported that 20%-40% of their development time is spent working around bugs in the Grails framework.
In fact, the thread was less of a discussion and more of an affirmation. I have not personally encountered any showstopper bugs in the Grails framework. My most painful experience has been upgrading older applications from version 1.0.x to 1.1.x. Most of those difficulties were related to plugins and not the framework. Additionally, my applications have been of a smaller nature and not as likely to exercise the Grails codebase like a larger project would.
My personal experience aside, the truth is that many developers are running into bugs that are negatively effecting the gains in productivity which they would expect from Grails.
The Community
The Grails community is a great one as evident from the responses in the mailing list. Here's two quotes which do a good job of summarizing the general feeling of the thread:
- "I look forward to when grails finally becomes more _deeply_ stable - so that I can work in confidence and with peace of mind that this or that functionality isn't going to blow up when I try to actually use it. When it works, it purrs - but man when things fail, they fail hard... train wreck style." - Corey-36
- "I would really much much appriciate if Grails developers would work on fixing all bugs a realease one "really stable" version and just after all these fixing new features could be added." - Daniel Guryca-2
Most respondents agreed that there were definite problems with Grails' stability.
The Response
Okay, so there was some controlled venting, but the nice thing about the community is that shortly after bringing the problems to light, they were addressed.
To help improve stability, submit a JIRA and attach unit tests which expose the defect. This is a very valuable thing any developer can do to help out.
Graeme Rocher has confirmed, via the mailing list, that Grails will start having milestone releases. It would really help if the community tested these builds and submitted JIRAs. Graham also stated that the goal of version 1.2 is stability.
To be fair, one also needs to remember that Grails leverages many underlying technologies (Hibernate, Spring, Groovy, Ant, Maven, etc.). There are strengths to this approach, but there is a small downside. Any bug which exists in an underlying technology inevitably percolates up into the Grails framework and manifests itself as a Grails bug, even if it truly is a bug in Spring or Hibernate.
The Future
The future of Grails continues to look bright, despite a few bumps along the way. Problems with stability and overall 'bugginess' are actively being addressed by the core team of developers and the community. Grails 1.1.x has become more stable and bug free than its predecessor Grails 1.0.x. This trend will continue into Grails 1.2.x and beyond.
What has been your experience with Grails? Are bugs in the framework hurting your productivity or hasn't it been an issue?

BUgs are really productivity killers sometimes