The density matrix renormalization group (DMRG) has become an indispensable numerical tool to find exact eigenstates of finite-size quantum systems with strong correlation. In the fields of condensed matter, nuclear structure and molecular electronic structure, it has significantly extended the system sizes that can be handled compared to full configuration interaction, without losing numerical accuracy. For quantum chemistry (QC), the most efficient implementations of DMRG require the incorporation of particle number, spin and point group symmetries in the underlying matrix product state (MPS) ansatz, as well as the use of so-called complementary operators. The symmetries introduce a sparse block structure in the MPS ansatz and in the intermediary contracted tensors. If a symmetry is non-abelian, the Wigner-Eckart theorem allows to factorize a tensor into a Clebsch-Gordan coefficient and a reduced tensor. In addition, the fermion signs have to be carefully tracked. Because of these challenges, implementing DMRG efficiently for QC is not straightforward. Efficient and freely available implementations are therefore highly desired. In this work we present CheMPS2, our free open-source spin-adapted implementation of DMRG for ab initio QC. Around CheMPS2, we have implemented the augmented Hessian Newton-Raphson complete active space self-consistent field method, with exact Hessian. The bond dissociation curves of the 12 lowest states of the carbon dimer were obtained at the DMRG(28 orbitals, 12 electrons, DSU(2)=2500)/cc-pVDZ level of theory. The contribution of 1s core correlation to the X1Σ+g bond dissociation curve of the carbon dimer was estimated by comparing energies at the DMRG(36o, 12e, DSU(2)=2500)/cc-pCVDZ and DMRG-SCF(34o, 8e, DSU(2)=2500)/cc-pCVDZ levels of theory.