何为自由软件
关键字: free software, libre software, libreware.
自由软件运动 (free software movement) 认为用户应该拥有运行/研究/修改和共享软件副本的自由. 这类软件被称之为自由软件 (free software).
值得注意的是, 开源软件并不是指开放源代码的软件, 而是指使用开源许可协议的软件.
有源软件 (source-available software) 是指提供源代码, 但是对源代码的使用权进行了严格的限制, 这类软件也被视作专有软件. 比较有代表性的是 Unreal Engine.
为了方便区分, 免费软件被称为 Freeware. 两者的共同之处是都使用了 free 这个多义词, 但由于使用的意义不同, 所以二者没有直接关系.
不过由于自由软件开放源代码的特性, 大部分自由软件本身也是免费软件.
每当你在计算机上打开一个应用程序, 就意味着至少一个可执行文件被执行.
源代码和可执行文件
- 可执行文件: 包含指令集.
- 源代码: 使用程序设计语言 (也称为编程语言) 所编写.
程序员编写源代码, 用户执行可执行文件.
需要通过一个转换器, 将源代码转换为可执行文件.
TODO: 源代码到可执行文件的单向转换