MiniZinc is a modern solver-independent constraint modelling language developed as part of the G12 project. MiniZinc is essentially a subset of first order logic augmented with arithmetic, sets, and arrays. The goal has been to produce a modelling language rich enough for most needs, but simple enough that third parties can choose to implement their own MiniZinc tools without excessive effort. The MiniZinc tool set provided freely by the G12 project translates MiniZinc models into FlatZinc models, which are little more than lists of variable declarations and primitive constraints. FlatZinc is so simple that a new constraint solver can be given a FlatZinc interface with only a day or two of work. We hope that MiniZinc and FlatZinc will be adopted by the constraint programming community as standards.