X11 is a protocol for graphical interfaces that allows, among other things, the usage of programs in a server from remote machines.
In computing, the X Window System (commonly X11 or X) is a networking and display protocol which provides windowing on bitmap displays. It provides the standard toolkit and protocol to build graphical user interfaces (GUIs) on Unix-like operating systems and OpenVMS, and is supported by almost all other modern operating systems. (Wikipedia).
X11 is the standard window system on Linux.
It should not be necessary to install additional software to connect to remote machine machines and run X11 applications.
For Windows, a convenient and cheap way of installing an X11 server to connect to remote machines is by installing Cygwin.
Mac OS X 10.5 and earlier
The X11 system is included in your installation CDs but may not be installed by default. Look for 'Optional Installs' in your MacOSX installation CD. After launching this installer, you can find X11 under the Applications package.
Mac OS X 10.6 and later
A X11 system can be installed through the XQuartz project (Link).
This is the original X11 server from apple, but updated by the community.
To do a secure remote X11 access you can use SSH tunneling, see SSH for configuring X11 to do automatic X11Forwarding.
Which Machine Is the Client?
One important aspect of the X11 architecture is that the typical client and server terminology is reversed. Instead of a user's local client machine asking a remote server machine to do something and send the output back to the client, the user invokes a (potentially remote) client which sends its output back to the user's local X11 display server. To make this work, the user needs to be able to connect to the client, the server must allow display connections from the client, and the $DISPLAY environment variable must be properly set on the client.