I'm a non professional and have limited talent. But I designed a few logos here and there (and still do) and the best tool for that is Inkscape in my opinion. GIMP is not well suited for this task, as it lacks proper vector tools and format support. Inkscape has excellent and professional grade support with easy to use interface. Krita could be used to create logos as well, because it has vector tools and format support, but I feel like the user interface and utilities are not as good as Inkscape for this task.
Unless you are an expert in Krita, and don't want to learn or depend on new programs, then you could stay using it for creation of icons. GIMP could be used for icons too, if you just want to create raster format icons (as opposed to vector). In that case, GIMP could be well suited for this task too.
I never used any other program to make icons, so cannot tell you about alternatives. And I have no intention or need for it anyway, because to me Inkscape is the perfect tool for that task.
I like to write SVG by hand with a text editor and Firefox, but that's probably not for most people.
I mainly like it, because you're entering all the coordinates as numbers, which makes ratios more apparent and also easy to work with...
But that's not very intuitive and would make complex editing and composition very hard. And you would miss out on advanced (or even basic) editing tools built into the application. Can you make use of font? So I wonder what type of images you are creating with it. I can see how this could work with simple composition.
I mean, to some degree definitely yes. You do need some upfront knowledge and some editing steps can be quite tedious.
I zone out while shoving shapes around the place, so I actually enjoy doing it in my freetime.
Having said that, we are talking about icons. You usually don't want those to be particularly complex anyways.
But the SVG format is also more powerful than one might expect.
You've got a collection of basic shapes. Particularly, paths allow you to draw essentially anything, including some really useful curves.
And you can also do some cool gradients and even animations.
And you can use fonts in the text element, but only like in HTML, i.e. you specify "bold" or "Times New Roman" and hope wherever it's displayed has that font available. Would definitely not recommend that for an icon.
Inkscape allows converting text to a path, so that it doesn't depend on the host system. So, if I ever want a font in an icon, I'd do that in Inkscape and then copy the path element that it created into my text editor.
The advantage here is that you can start baking in animations, themes, progressive enhancements. I would agree this isn’t the best tool for most authoring, but considering tow lackluster the XML editor is in Inkscape & how break points can make sure your icon is clear at all sizes, it is a good idea to spend time in a text editor as well.
I agree with those that say Inkscape, it's where I've designed all my logos. However, I've been tempted to try using FreeCAD to do it lately. I'm not sure if it can export as SVG, but the thought of have a proper parametric tool for designing logos sounds up my ally. I tend to try to treat Inkscape like one, by liberal use of construction lines, but at the end of the day, it really doesn't like being that precise.
Inkscape is for vector graphics, GIMP is for pixel graphics. You probably want to use a combination of both for many situations (design the logo in Inkscape, touch it up and scale it in GIMP).
From my experience, GIMP is close to par with Photoshop in terms of both features and user friendliness. Inkscape is unfortunately much harder to use than Illustrator.
mtPaint is a painting program which Mark Tyler developed from scratch so he could easily create pixel art and manipulate digital photos.
JDraw is a pixel oriented graphics editor designed especially for small to medium-sized pictures used to decorate web pages. It is completely written in Java, simple to use and saves (animated) GIFs, ICOs and PNGs.