Maperitive is software that lets you make your own maps. You load (or download) the map data from various sources, (most notably OpenStreetMap) (OSM), you set the map style you want, and then export it to various formats. You can use predefined map styles or prepare your own.
Download it, unzip it somewhere, and run Maperitive.exe.
When you start Maperitive, it shows the OSM web map. The web map is basically the same thing you see in your browser when you visit the OSM map on the web and it consists of tiles downloaded from an OSM server. Since these tiles are just bitmaps that were already pre-generated on the server, you cannot change their styling.
Maperitive map styles (a.k.a. rendering rules) work on vector data, like OSM and GPX files. So you first need to load a vector file into Maperitive to see the actual rules in action. You can use the File | Open Map Sources menu command to open one or more map sources (or simply drag and drop the files into Maperitive).
After you've done this, you can use the Map | Edit Rendering Rules menu command to edit the map style rendering rules in a text editor.
Yes, it's free. Please visit the FAQ page for more info.
Maperitive is maintained by Igor Brejc who loves maps and programming and does this in his spare time. If you really like the software, you can show some appreciation to its author by donating a little amount. Please visit the main page where you'll find the Donate button. Thanks!
They will be as free as are the map sources you use. Maperitive itself does not put any licensing restrictions on the maps you produce. If you use OSM data, please visit OSM Legal FAQ page for more info about licensing maps based on OSM data.
You can start reading the Ten Minutes Introduction To Maperitive or browse the documentation starting page for more detailed information. One warning though: Maperitive documentation is a work in progress! If you have any problems or questions, don't hesitate to write to Maperitive Google Group.