Software portability

Software portability is a design objective for source code to be easily made to run on different platforms.

When software with the same functionality is produced for several computing platforms, portability is the key issue for development cost reduction.

Such web applications must, for security reasons, have limited control over the host computer, especially regarding reading and writing files.

This is usually a task for the program developers; typical users have neither access to the source code nor the required skills.

Some functions can be available on a target system, but exhibit slightly different behavior such as utime() fails under Windows with EACCES, when it is called for a directory).

Implementation defined things like byte order and the size of an int can also raise the porting effort.

Software portability can be exemplified with multiple devices running the same video game.