What programs make a roughness map?
For Specular based shader system you need:


specular texture (effects the reflection color)
glossiness texture (effects the reflection sharpness)


In Cycles is used roughness, which is inverse of glossiness
In Blender Internal it is called hardness



For Metalness based shader system you need:


roughness texture (effects the reflection sharpness, inverse of glossiness)
metalness texture (effects how much is surface dielectric or metal)


You can make PBR shaders with both systems and you can convert between them too. A good article about this all is on Marmoset's site.

You can create these textures in multiple ways:


directly paint them with any 2D capable application (Photoshop, Krita, Gimp, Blender, Zbrush, Substance Painter, just about almost everything.. MsPaint, ..)
generate them from photographs (N Render, Substance B2M, Quixel, etc.)
generate them from (procedural) material by baking (Substance Designer, Blender, 3DMax, Maya, ..)