We present a detailed description of the Glimmer ice sheet model, comprising the physics represented in the model and the numerical techniques used. Established methods are combined with good software design to yield an adaptable and widely applicable model. A flexible framework for coupling Glimmer to global climate forcing is also described. Testing and benchmarking is of crucial importance if the outputs of numerical models are to be regarded as credible; we demonstrate that Glimmer performs very well against the well-known EISMINT benchmarks and against other analytical solutions for ice flow. Glimmer therefore represents a well-founded and flexible framework for the open-source development of ice sheet modeling.