GNU GPL 和自由软件
GCC 编译器是 Linux 下默认的 C/C++ 编译器。
1. GNU GPL
GNU General Public License,GNU GPL:GNU 通用公共授权书,因为英文名相同,GNU 的 logo 是一只牛羚。
- 自由软件 (free software) 指的是源码自由,不是价格。
- 自由软件必须附带程序源代码,但可收取费用。
- 任何人都可以自由分发自由软件并收取费用,但必须列明原创者姓名。
- 任何人都可以修改源代码,但必须列明修改人名字,以保护原创者名誉。
- 任何人都可以采用源代码中的某一段,但其开发之软件必须也为自由软件。
- 任何自由软件的衍生品也必须是自由软件。
- 自由软件没有担保,以保护分发者。
GPL协议极大地推动了整个计算机软件行业的发展:
- 计算机软件的学习者可以直接从源码中吸取营养,缩短学习的时间,提高学习的效率,少走弯路。
- 可以集中大家的智慧发展软件,避免重复劳动。
GPL 协议的核心就是要对源码进行公开,并且允许任何人修改源码,但是只要使用了 GPL 协议的软件源码,其衍生软件也必须公开源码,准许其他人阅读和修改源码,即 GPL 协议具有继承性。
GPL 软件并非就是免费软件,自由软件是指对软件源码的自由获得与自由使用、修改,软件开发者不但可以通过服务来收费,而且还可以通过出售 GPL 软件来获利。
适应 GPL 协议的软件一般都是自由软件,自由软件是指一件可以让用户自由复制、使用、研究、修改、分发等,而不附带任何条件的软件。
2. copyleft 授权
我们首先声明它是有版权的,而后加人了分发条款,这些条款是法律指导,使得任何人都拥有对这一程序代码或者任何这一程序的衍生品的使用、修改和重新发布的权力,但前提是这些发布条款不能被改变。这样在法律上,代码和自由就不可分割了。