Next: , Up: 打包指导   [Contents][Index]


16.4.1 软件自由

开发 GNU 操作系统是为了用户拥有计算的自由。GNU是自由软件,这意味着它有四项重要的自由:运行程序的自由,以源代码形式学习和修改程序的自由,原样重新分发副本的自由,和分发修改后的版本的自由。GNU 发行版里包含的软件包只提供遵守这四项自由的软件。

此外,GNU 发行版遵循自由软件发行版准则。这些准则拒绝非自由的固件和对非自由软件的推荐,并讨论解决商标和专利的方法。

某些上游的软件包源代码包含一小部分违反上述准则的可选的子集,比如这个子集本身就是非自由代码。这时,这些讨厌的代码需要用合适的补丁或者软件包定义(see 定义软件包)里的origin里的代码片段移除。这样,guix build --source就可以返回自由的源代码而不是未经修改的上游源代码。