It is shown that the classical theory of gravity driven waves on the surface of a non-viscous liquid can be derived from a set of canonical equations. Various approximate equations then can be found by introducing suitable approximations to the kinetic and potential energy functionals. The stability of these approximate equations then can be insured beforehand by using positive definite approximate energy functionals. For fairly long, fairly low waves a stable equation of Boussinesq type is derived in this way. This equation is also valid for waves which are not approximately simple.