Before I get into the details of this article (that will explain how to download and customize ringtones for free) let us take a moment to respect the complete awesomeness that is the G1. Why is the G1 so awesome?
How do we get free ringtones? Free custom Ringtones? It's easy! First off I'll admit that the G1 comes pre-loaded with several really snazzy ringtones. The community and Google have done a really great job with Android. The phone works fast and smooth. Not your standard and annoying beeps or midi ringtones, but harmonic and catchy rings. nice. With that said I still like to add a few of my own, my favorite standard is Bob Marley's Sun is Shining.
Plug the supplied USB cable into your computer and the G1. Your G1 will recognize the connection, but your desktop won't until you mount the memory card.
Your computer will now see the 1 Gig Mini SD card as external USB storage.
Browse to the external storage from your desktop. Copy your selected Mp3 into the Music folder. If a ‘Music’ folder does not exist you may create it in the top level of the memory card. Disconnect your USB cable after the transfer is complete. You should be able to open G1's music player and see the song you added.
Open Android Market and download Ringdroid (its free) Once installed open the application and choose your Mp3 of choice. You can then select the start time and play length. After your done editing you may save the new file as a stand alone ringtone. You can remove the orginal MP3 if you no longer need it. When saving you will be asked if you want to make the new ringotone the default. I chose not to.
Since the new file is a ringtone it will be listed with all the defaults. You may select it as the default for all calls or assign it to individual contacts.