On Linux we run applications such as Samba, Postfix and OpenLDAP. There are two main ways to install these applications on your Linux machine.
You can install pre-built packages using yum or you can compile the applications from the source code.
The packages you install using yum have already been compiled from source code. You just install the finished product.
When you compile your programmes from source code you need a compiler such as gcc.
People often wonder why a person would compile their packages from source code when a pre-built product exists. The reasons include:
Someone may want to configure the application to work a certain way.
The pre-built package may be an older version and the person wants features available in the newer version.