You will need step7 from Siemens.
(Lite, Professional, different packages, different cost)
Yes you have to buy it.
Not sure what the going price is by you, I'd call the closest Siemens rep and ask for a quote.
Besides the software you will need a cable, PCMCIA card, RJ45 ethernet cable or something that will plug to your PC on one end and the PLC on the other end so you can communicate.
Step 7 Lite is free, but you have to register at the Siemens site. Go to this page . Of course, as (almost) always with free versions, there are limitations:
you can only program S7-300 but no S7-400
you can't program S7-300 with Profibus DP slaves, but you can program standalone Profibus DP processors
the file format is different from the 'official' Step 7 file format, but you can convert, beit somewhat tedious
It means that if you want to open a project with another version of Step 7 you'll have to convert it. There's no need for extra software, except for Step 7 Lite and the other version mentioned.
If you have a project made with Step 7 Lite and you want to use it with another version of Step 7, then in Step 7 Lite you have to make a source file from your project and export it and in the other version of Step 7 you have to import the source file and compile it back again.
But this complies only if you have to move to another version of Step 7, say to exchange experiences or program parts.
I dont think the software is free (Lite version)
cuz in the download section it says its only the service pack 2 for the step7Lite
let me know if Im wrong,,