Porting is the procedure of adapting software so that it runs on a new computer platform (e.g. different processor or different operating system).
An example case would be porting a Windows-only program to run on Linux or on a Mac. Most software today is designed to be easily portable between different platforms (e.g. use libraries that are available everywhere).
It can either be done by the software developer or by another developer, as long as they have the source code available (not counting questionable ways like reverse engineering - which might not be porting in the strict sense).