I am not a lawyer, so take with a grain of salt. But it will depend on the particular license.
With GPL asking for donations is 100% fine.
With smartgit's license for free non-commercial use:
3.2.1 If a SOFTWARE Non-Commercial License is agreed upon with the licensee, the licensor grants the licensee the non-exclusive, non-transferable right, which is terminable according to the terms of clause 5 or permanent, to have the SOFTWARE used on a arbitrary number of single-user computers or on a central server or via terminal server clients, simultaneously by a arbitrary number of users, solely for non-commercial purposes. A purpose is non-commercial only if it is in no manner primarily intended for or directed toward commercial advantage or private monetary compensation.
So smartgit doesn't seem to care if non-commercial use is released under a permissive license or donation ware; they care if you are using it for a commercial advantage (no) or eventual monetary compensation (possibly, you ask for donations that are provided as a thank you for use of your software). If you are a 16 year old kid developing small little apps and expect to get under $500 in donations in a given year; I wouldn't worry about it. Smartgit isn't likely to sue you over using the wrong license; it would be a very difficult case to sell. If you start to make loads of money by donation; or decide to start offering paid support; and smartgit is integral to your development cycle that's another question. The point where smartgit is used part of an enterprise that makes money, then you probably should be paying for the commercial license.