[Hero CDMA Themes and Apps] Kcarpenter:
So I am stealing this from another forum, hopefully it will cut down on some of the repeated threads. Copy and pasted to reduce the strain on my brain and typing.

Stolen from the Sprint Hero board on AndroidForums.com - Props to PDragon for typing it all. I have slightly modififed.

ROM - Read Only Memory

While the term has changed a bit from it's original meaning, it's essentially computer memory that does not require power to store it's data (non-volitile). In the sense of a smartphone like the Hero, it's the Internal Memory where the OS is stored. From what I've gathered, the Internal Memory is just Flash Memory (a special type of ROM) partitioned into two parts, one for the OS and the rest for apps to use. So, the OS partition essentially is true ROM, unless you root the phone. The software that groups like xda-developers make available are called ROMs because they're a ROM Image.

For the Hero this size is 512MB.

SDcard is a larger capacity external Flash Memory card.

Recovery Rom - I would assume enough said, but. This is the recovery partition of the phone for when things go bad, typically how you will load your ROM packages, some times refered to as "Update.zip" files.

Vanilla Rom

All the fancy bells and whistles have been pulled out so that its as minimalist as possible, users can then build on this for their own custom setup.

RAM - Random Access Memory

This is where current processes that are running are stored and keep the data they need immediately available to them. This is the memory you see when you run any of the Task Managers showing you currently running apps and the available memory. It's a completely different part of the phone from the Internal Memory discussed above. Data stored in RAM requires constant power and does not survive a power cycle of the phone (volitile).

For the Hero this is 288MB.

Root

This is the term being thrown around for modifying a smartphone to put custom software on it that normally wouldn't be allowed through means included with the phone (Android Market or an .apk file for a non-Market app). "Root" is the common term chosen because, in a Unix environment, the "root" user has complete and total control of the entire operating system of the computer. So, "rooting" the phone means taking complete control over its operating system. This is usually done by means of finding a flaw somewhere in the phone's firmware to allow access to the restricted Internal Memory where the OS resides. You then install a custom ROM (see above) to let you use your phone from then on.

Android is a bit more unique than any of the previous smartphones in that you don't really need "approval" from a higher power (ex, the Apple store) to install an app that hasn't made it onto the Market. Just uncheck the box Settings -> Application settings -> Unknown sources and you're free to install any .apk file you wish. So Android phones are more like a regular computer in that you're free to install whatever software you want from whichever source you want. Just be careful of where you get apps from outside of official Market sources. Also like a regular computer, you could open yourself up to having your personal data stolen.

Rooting still gives some advantages for power users, but for normal or even intermediate users, you probably don't need to root the phone to enjoy it as much as you'd have needed to for previous smartphones.

For further discussion, please see our Developer Forums.

Tethering

This is the term used for using your phone as an Internet access point to allow an attached computer to access the Internet. It turns your phone into a mobile modem. Please don't discuss Tethering here. See the thread Does Tethering work? to discuss this further.

*Let me know if we should add other terms. Maybe a MOD can stickie this.*