Most of this post is going to be fairly technical with links to some technical pages, so most of my readers aren't going to be interested. In fact, this information will be out of date soon, so I'm not even entirely sure why I'm writing it, except that I hope to get Eric the same phone which means I'll be going through this process once more.
So, if you want to read about me rooting a phone, read on. Otherwise, you might want to skip this one.
I really only had one main goal with rooting: To clear out some space on the device. The LG Optimus S doesn't have a lot of space on it in the first place and the Sprint apps take up a lot of that precious room. Ting allows users to root their phones and do all sorts of hacking if they want, so I wasn't the slightest bit concerned about the legality of it all. If your service provider frowns on rooting, you might want to consider something else. Like moving to Ting.
Rooting the phone gives the user administrative access to a phone. Once a phone is rooted, you can do all kinds of neat things like:
1) Flash a new Rom. Basically an operating system that doesn't have the default programs the service provider put on it. In my case, my carrier is Ting, but they use the Sprint network and the phones they get have Sprint garbage on them that I can't even use.
2) Update to a new baseband. If the Rom is the operating system, the baseband is the underlying firmware. Sort of. Basebands control the radio/cellular hardware in the phone.
So, rooting is like opening the door. The flashing-a-rom or updating-the-baseband is like rummaging around inside.
First thing to do is make sure you have the ability to hook up your phone with your computer. It is not possible to root a phone without a computer, if I understand it all correctly. For the LG Optimus S, I had to go to the LG website to find the driver for my USB cable. Once I had it installed, the phone and the computer talked quite happily with one another.
Make sure you have the USB driver installed so you can hook your phone to the computer: LG Optimus S USB Driver
In order to root a phone, you must know how to connect your phone to your computer with the USB cord, how to copy files from the computer to the SD card in the phone and how to delete files. These are prerequisites.
Note: Backing up... you really need to be rooted before you can do a proper backup. Once you've rooted, do the backup, then you can flash a new ROM. In the meantime, if you've got stuff on your SD card you can back that up onto your computer. I started clean so I wouldn't have to deal with any garbage, so backing up wasn't so important. You may want to figure out other ways to back up if you have a lot of stuff on your phone to start with. For me it wasn't an issue, but other people may have problems. Keep that in mind.
Basic guide to rooting
You can follow these instructions and they will work, but I followed a slightly different path. The good thing about this basic guide is that it explains all the terms you might possibly need to understand before you go about rooting a phone. If you do nothing else, make sure you read the background information and FAQs at that link before you try to do anything.
Because my phone was already updated to ZVJ, I had to downgrade it before rooting. I used these instructions.
There are detailed instructions on the download page for the ZVD baseband that also teach you how to work in recovery mode, which is important. If you don't understand recovery mode it isn't too hard to figure out, but the instructions (they show up if you click "more details") are useful.
Then I went to the androidcentral forum and downloaded the Optimus automated rooting package from there. NOTE: there are different versions of the automated rooting package, using this one is important if you want to update to ZVJ again.
When I ran it, I started with option A from the main screen, which did the actual rooting of my system. Basically, I ran a program and it opened my phone for me. Yay!
At this point you could stop and install a ROM meant for version ZVD. I decided to update instead. Before you flash a ROM, back up your system. Go to recovery mode, choose "backup and restore", then "backup".
After rooting, I installed the ZVJ update using option B of the same program. In option B, you run through the four steps, doing the stuff on the phone between steps as listed in the instructions. I had to run step B several times before it worked.
IMPORTANT: Follow the instructions carefully. It is really important to finish each step the way the instructions indicate. The better you can follow instructions, the more likely your rooting will succeed.
After finishing option B, I had a rooted phone on my original version of Android. If you follow the instructions, that's what you'll have. Back it up. Go to recovery mode, choose "backup and restore", then "backup".
Next I installed GingerRom using these instructions.
In addition to the two zips in the instructions, I also installed the clock normal mod in the second post on that thread.
To flash, you have to be in recovery mode, and you select "install zip from sdcard" and pick the zip file you are installing. It's actually very easy.
I did not flash a kernel, but that's an option.
At this point, I did another backup. I had a clean installation of the GingerRom Android with none of the Sprint apps. So I next went through and installed everything I wanted on my phone, including passwords and such, played with it for a few hours, then did another backup.
The result is a rock-solid phone without any of the annoying Sprint stuff that I don't need and can't use. When I first started my new phone, the first thing I did was connect it to my Gmail account. I also made a bunch of personal choices on how to set it up. You can do that with Android. It's very customizable. I'm sure I'm not even doing half what I could do if I wanted. But with an open phone, it's my choice, not my carrier's choice, what I do with it.