In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally designed for (e.g., different CPU, operating system, or third party library). The term is also used when software/hardware is changed to make them usable in different environments.[1][2]

Software is portable when the cost of porting it to a new platform is significantly less than the cost of writing it from scratch. The lower the cost of porting software, relative to its implementation cost, the more portable it is said to be.


The term "port" is derived from the Latin portāre, meaning "to carry".[3] When code is not compatible with a particular operating system or architecture, the code must be "carried" to the new system.

The term is not generally applied to the process of adapting software to run with less memory on the same CPU and operating system, nor is it applied to the rewriting of source code in a different language (i.e. language conversion or translation).

Software developers often claim that the software they write is portable, meaning that little effort is needed to adapt it to a new environment. The amount of effort actually needed depends on several factors, including the extent to which the original environment (the source platform) differs from the new environment (the target platform), the experience of the original authors in knowing which programming language constructs and third party library calls are unlikely to be portable, and the amount of effort invested by the original authors in only using portable constructs (platform specific constructs often provide a cheaper solution).

Other Languages
العربية: حمل (برامج)
Deutsch: Portierung
hrvatski: Portiranje
Bahasa Indonesia: Porting
italiano: Portabilità
עברית: היסב
Bahasa Melayu: Pengalihan (perisian)
Nederlands: Porteren
norsk: Portering
slovenčina: Portovanie
српски / srpski: Портовање
Türkçe: Porting
українська: Портування
Tiếng Việt: Porting
粵語: 軟件移植