Well, I use Photoshop for making the single images and the animation... But it also works with paint or gimp (it's a free software). If you use paint you cannot animate the single layers but there's a website where you can animate it for free (something like iaza.com I think). If you use gimp you can animate it but I am not sure how it works exactly (Maybe you find some tutorials).
I have also made a tutorial about it [link](but it refers to photohop)