Get Free iPhone Ringtones from iTunes
This is probably not the best hack in life but it is still valid and working. You could use the ringtones for other mobile phones as well if you convert the m4p extension to a format that your mobile supports. The principle of grabbing song samples and use them as your iPhone ringtones is pretty simple.
Create a new playlist in iTunes and move songs that you like into that playlist by drag and drop. Export that playlist as plain text and open it in a text editor. Each song has a url variable next to it which is the location of the song sample on the iTunes server. Use the url to download the song samples from iTunes.
I would suggest that you use a download manager for that task if you have a lot of urls. Once downloaded it would be a good idea to rename the songs so that you can identify them later on more easily. Copy the files to /Library/Ringtones on your iPhone and navigate to Settings -> Sound > Ringtone and select the song that you want as your ringtone on your iPhone.
This is a nice way to get a 30 seconds ringtone of your favorite song for free. I personally prefer to create ringtones from my CD and mp3 collection instead but I guess many users will be more than happy with the method described above.
Update: If the above method is no longer working for you, I suggest you take a look at the following tutorial that is working in the latest version of Apple's iTunes software.It explains how you can turn any song that you have currently in your iTunes library into a ringtone in a couple easy steps.