This topic used to be known as Rooting your Pre but that term is inaccurate.
The Palm pre is a Linux based device. As it is shipped, the linux is a fully installed and operational copy, and communicates with the outside world using the Novacomm protocols (the same as used by the iPhone.)
Therefore, enabling access to the Pre was remarkably simple. Typing in the "developers code" == upupdowndownleftrightleftrightbastart == enables communication between the Linux and the outside world using novacomm.
After that, everything else is a process of installing a community standard library of Linux programs so that users have the same tools and options available to them.
One of the first choices was installing a package manager for the OptWare library of over 1000 Linux programs, compiled for the Pre.
Once this is done, basically, anything you can do on a Linux box, you can do on the Pre. The community is rapidly working on developing methods for Linux programs to interact with the end-user shell known as Luna or Mojo in addition to access via terminal programs.
The following links will walk you through the process of obtaining access to the Linux system from a terminal program, and installing the community standard software.
There are three paths: