When 2.0 was released, the FreeBSD Project decided to attempt to automate the process of ``porting'' such software to FreeBSD, and the result is the Ports Collection. The general idea was that a combination of various programming tools already available in the base FreeBSD installation would allow you to simply type `make' for a given port and have the underlying ports mechanism automatically fetch the port from a FreeBSD mirror site, apply any special configuration knowledge to it and then build it to result in a fully working version of the program.
The ports collection itself normally doesn't have any of the original source code necessary for the compilation in the tree, just those shell scripts, Makefiles and source code ``diffs'' that are necessary to configure and compile the program under FreeBSD. This keeps the entire system down to a manageable size, with the current system having over 300 ports in the master source tree and yet taking up less than twenty megabytes.