Portable software is that which either can, or is designed to be, run on different kinds of computers or operating systems (or both). For the former, it cannot be written in assembly language (which is inherently specific to one type of machine), but had to be written in a higher-level programming language.
Initially applications written in FORTRAN or COBOL were some of the first examples of portable code. With the advent of C, it became possible to have portable operating systems, UNIX being the first.
(Other OS's had been written in higher-level languages before that, such as Multics, but for a variety of reasons they were not portable.)
Almost all software is now portable, although care has to be taken to make sure it does not trip over things which can make porting non-trivial (e.g. writing code which depends on a specific word length).