An energy principle has been constructed for the determination of stability of general force-free equilibria against ideal- and dissipative-(tearing)-MHD modes. The concept of accessible neighbouring equilibria, with the inclusion of singular currents on mode rational surfaces, is used. The driving source of these instabilities may be either the parallel current density or the parallel current density gradient. This energy principle is well suited for numerical implementation. Reduction of this energy principle to some known cases is also presented