Recs.
Updated
ArmorPaint is a cross-platform, node based, 3D texture painting software written to run entirely on your GPU. Drag & drop your 3D models and start painting. Receive instant visual feedback in the viewport as you paint.
Specs
Pros
Pro Open-Source
ArmorPaint falls under the zlib license. The zlib license has been approved by the Free Software Foundation (FSF) as a free software license, and by the Open Source Initiative (OSI) as an open-source license. It is compatible with the GNU General Public License. As such, the program is FREE if you compile it from source, and (as of August 2, 2020) costs only €16 to purchase pre-compiled binaries.
Pro Epic MegaGrant's recipient
ArmorPaint received a $25,000 Epic Mega Grant. This is a large donation of money given by Epic Games through their MegaGrant Program to programs that show great promise. These grants are unconditional and recipients are expected to continue program development as they see fit. These grants can not be used to purchase unpurchasable software (open-source software).
Cons
Con It's NOT free (even though it's open-source)
Armor Paint is open-source, but the official binaries are not available for free.
Unless you can compile it yourself, or you run Arch Linux or a system based on it and can use an AUR package that'll build it for you - you'll have to pay to use this program.
Con No lossless upscaling of brush strokes
When exporting your maps in higher resolutions in Substance Painter - it'll re-draw all your strokes in the background to make sure the exported textures have as much detail as possible. Armor Paint doesn't have such a feature so far - if you paint on a small resolution texture - you're stuck with it, or you'll have to manually re-paint it yourself to get a higher resolution texture.
Recommendations
Comments
Out of Date Pros + Cons
Con No texture brushes
Although materials can be edited, brushes themselves cannot carry there own textures for projection painting. For example, painting bolt heads.