，必须引入一种可以描述各个源代码之间联系，并且如何正确编译的系统。在这样的背景下，版本控制系统（VCS）诞生了，并成为研发者对代码修订的必备工具之一。还有另外一种组合：将为一种平台编写的软件移植到另外一种平台上，例如将Windows下的软件移植到Linux或者MacOS下，专业术语叫做软件移植。一般可以运行在多个平台下的软件叫做跨平台软件。
版权.如果按照源代码类型区分软件，通常被分为两类：自由软件和专有软件。通常，自由软件不仅可以免费得到，而且公开源代码；相对应地，非自由软件