One of the most frustrating things to deal with as a radio operator is having a different programming software for each radio you use. Not only do you have to learn how each one wants to do things, but sometimes you have to deal with really bad Chinese to English translations. And in some cases you just have to deal with crappy software. Plus most software requires you to run Windows.
Luckily, there is a nice Open Source alternative called CHIRP. It supports a bunch of different radios from a variety of radio makers. If you go to the CHIRP homepage, you will get a current list. They are adding radios all the time, so even if your radio isn’t supported today, it might be in the next release.
A great thing about CHIRP is that is runs on Mac, Windows, and Linux. You can find the instructions on how to download and install on the CHIRP Download Page. There is even a Linux Based Live-CD with CHIRP pre-installed as well.
The interface itself is pretty easy to get around. While there are some differences between radios because of feature sets on those radio, the main channel memory screen is pretty much the same.
One of the really nice thing that CHIRP has to offer is the ability to query a few of the Internet Radio databases such as Radioreference.com and RepeaterBook. Once you query them, you select channels to add to your radio.
If there is a negative to CHIRP, it is the fact that it can only support a radio if it is reversed engineered to work or if the manufacturer has a documentation out there. In either case, it usually a lot of trial and error. Which means that sometimes might not work as one expects.
Even with that we would still recommend that someone try CHIRP if they have a radio that CHIRP support. For those with a Baofeng Radio such as the UV-5R, this is the software that recommended for use.