Rooting the Android
Sometimes it becomes necessary to root or "jailbreak" an Android device. There may be many reasons to do this. Maybe a developer wishes to test app permissions or experiment with ad-hoc networking. Perhaps someone wishes to set up a wireless hotspot without their operator's permission, run an emulator, uninstall stubborn apps, or even unlock the bootloader and install an entirely new operating system. It boils down to a matter principles, being responsible and in control of ones own devices.
The Root Process
Rooting an Android phone requires some knowledge of what to do. It is possible to "brick" the device by using the wrong tool or technique. Judging from discussions on the topic, the technique involves searching for and installing one or more Windows and Android apps which use known exploits to "break" the phone's security, providing temporary, priviliged access. If you don't trust these apps, you may be able to locate a hacked su executable for your particular phone by shearching around, and installing it the hard way.
It is usually possible to root a phone without a PC by installing Framaroot, or some other one-click root and then installing SuperSU via the Play Store app that is already installed on the device (otherwise known as the Android market, or Google Play).
More info: Wikipedia: Rooting (Android OS)
The Hard Way
One will probably find complicated instructions for rooting phones by searching the Internet. There are a lot of bad links, and links that point to content that is either highly-dubious or full of viruses. Rooting instructions typically involve turning on USB debugging mode in the phone (or tablet) and accessing it via a USB cable using "adb shell" to copy and install su to /system/xbin. Generally, it is not necessary to use a Windows PC to do this since adb is available for Linux as part of the android-tools package. Here is an example of that:
Don't worry if the above instructions do not work, or that /sqlite_stmt_journals does not exist on your phone. Any writable folder will work. It is more or less the general concepts of rooting that we are interested in. We were able to root a Motorola phone using those steps by changing things here and there.
The rooting techniques vary depending on the particular Android device. For example, if /dev/block/mtdblock0 does not exist the following line will not work:
mount -o remount,rw /dev/block/mtdblock0 /system
One may use the mount command by itself, with no options, to ascertain the device where /system is mounted from. The whole trick to rooting is finding the hacked su executable for your particular phone, and then remounting the /system folder as read-write so as to install the hacked su executable.