Explicitly versioned dependencies. Reasons: 1) Underlying dependencies don't quietly change and break things, 2) Make deployments repeatable, 3) Allow Gemfile.lock to be disposed, so that different gems can be used for different groups (i.e. development and production)