 There are different ways of approaching the problem of writing a cross-platform application program.One such approach is simply to create multiple versions of the same program in different "source trees"—in other words, the Microsoft Windows version of a program might have one set of source code files and the Macintosh version might have another, while a FOSS *nix system might have another.While this is a straightforward approach to the problem, it has the potential to be considerably more expensive in development cost, development time, or both, especially for corporate entities.