开源代码是指那些源代码公开,可以被自由使用、复制、修改和再发布的一系列软件的集合。开放源代码软件源于自由软件开源运动,简称开源软件。
一、 开源代码简介
开放源代码有时不仅仅指开放源代码软件,它同时也是一种软件开放模式的名称。使用开放源代码开放模式的软件代表就有Linux操作系统。
严格地说来,开放源代码软件与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件(开源软件)。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。
二、 开源协议
开源代码既然源码都是开放的,所以直接拿来免费使用基本都是没有问题的,但是这并不意味着使用开源软件是完全没限制的。每个开源软件都对应自己的开源协议,具体的使用限制在开源协议里面都详细的规定。
很多开源协议属于 Copyleft 类型的协议,最著名的例子就是 GPL 。Copyleft 是跟 Copyright 相对的。Copyleft 类型的协议规定,如果基于软件做过修改,那么修改后的版本也必须要开源,并且依旧要基于 Copyleft 的协议来发布,也就是说 Copyleft 是带有传染性的协议。
三、 选择开源软件的原因
①开源给使用者更多的控制权。由于代码是开放的,大家可以查看每一行代码来确保软件没有做任何我们不想要让它做的事情。甚至,我们还可以按照自己的要求修改一下代码。
②开源让学习变得容易。有了源码,我们就可以很快了解软件的工作原理了。新手可以通过读源码,快速成长为代码高手。
③开源才有真正的安全。代码开放意味着所有人都可以去查看代码,这样如果代码中有任何问题就很容易被人发现并修复了。
④开源不等于免费。软件代码虽然可以免费给别人,但是软件相关的服务,例如编译维护升级等,一样可以赚钱,例如 Redhat 就是家开源软件公司,不仅仅赚钱,而且很赚钱。