飞机刚刚发明不久就赶上了一次大战。战争极大地推进了飞机进化的速度。很快就出现了侦查机、轰炸机、歼击机和运输机等类型的区别。不过早期的所有飞机,都是纯机械化的飞行机器。驾驶员通过驾驶杆、脚蹬等机械传力部件,向飞机传输运动指令。这些指令再通过连杆齿轮等机械装置,特别是钢丝线等控制发动机的油门,以及机翼活动面的动作。来完成对飞机航向航速以及俯仰转弯的变化,实现有人操纵的飞行。而随着飞机越来越大,飞行速度越来越快。单纯靠机械和钢丝传递飞行员操纵力的反作用力也越来越大,导致飞行员操纵飞机越来越吃力。于是又发明了液压助力装置。部分减轻飞行员的操作负担。此后又在飞机上安装了各种仪表、无线电电台等装置。此时的飞机就已经不是纯正的飞行机械。而是有了一部分电子设备在飞机上。不过当时的电子设备,大部分与飞行操作本身关系不大。
到了第二代战机的后期和第三代战斗机出现后,首次出现了电传操纵系统。也就是飞行员对飞机操作的各种动作力矩,并不是再通过钢丝线或者包括液压助力系统传递给飞机的发动机和各个气动面,而是先把飞行员操纵的动作变成电信号,然后通过计算机判断飞行员的操纵是否合理。如果合理就执行,如果不合理就不执行。一般采用4台电脑同时表决的方式,4台电脑中3台同意或者4台都同意就执行;出现2比2或1比3,甚至0比4就不执行。比如对客机和运输机来说。飞机上的电脑系统是严格禁止飞行员突然拉杆到40度以上。因为这样容易出现机头抬头过高,会引发失速坠毁。可以说此时和以后的飞机操作。已经是机载电脑和飞行员共同执行。而超级大国空军最早采用1553B总线。把战斗机的飞控,武器控制和发动机控制等全部集成起来,实现了飞火推一体控制。因此三代以后的战斗机,看似是一架飞机,实际上已经变成了会飞的智能机器人。
因此电子系统和软件在现代飞机特别是先进战斗机中所占的成本比例越来越高。三代半的电子和软件成本已经高达60%以上,而到了五代机以后可能要占据65%到70%的成本。那么对现代化的飞机都是“智能机”来说,软件和硬件同样重要。而且现代飞机的操作软件,是把飞行控制,武器火力控制,发动机控制为完全智能一体的。因此越现代化的战斗机,其软件规模就越来越庞大。比如F22A的软件编写就需要8年的时间。到了F35包括某20的时代,甚至需要10年以上的时间。而对不参与软件编写的海外用户来说,想破解这些飞机的源代码,恐怕用50年的时间都未必会成功。因此掌握某种战机的全部源代码,比掌握某种飞机的部分硬件更重要。比如F35有非常多的先进子系统,配件有七八个国家可以提供。包括罗罗提供的升力风扇这种不可替代的关键部件。但是F35整机的源代码,仍然是洛马完全掌握。其他海外用户如果没有洛马的源代码授权。想挂个导弹和炸弹都做不到。
因此包括战机和导弹系统的源代码,就成了武器出口国,控制海外用户的最新“遥控钥匙”。那么什么是源代码呢?源代码本身并不稀奇。任何软件,比如个人电脑的视窗操作系统,都有其源代码。源代码,也称源程序,是指未编译的,按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。说白了,源代码就是最基础的计算机程序。对战机和导弹等先进的武器系统来说,其源代码也是不断进化的。早期的战机飞控软件的源代码,一般用C+语言编写。后来则多用ADA语言。ADA语言是一种适合武器系统管理控制的高级计算机语言。对写源代码的程序员综合要求相当高。非一般水平的码农可以操作。F35的源代码就是用ADA语言编写,某20的也被认为基本如此。