用了这么久开源 区,还搞不明白免费/自由/开源软件?

在开源 区中,有很多人经常把免费软件、自由软件、开源软件这三个概念混淆在一起。

今天就来和大家谈谈这三个软件到底有什么不一样。

免费软件

用户可以免费使用该软件,但通常会有其他权限的限制:

1.源码不一定会公开/不能修改软件源码;

2.限制拷贝的代码数量和段落;

4.限制使用者研究、修改和再散布的权利;

免费软件免费的目的无非出于:

先提供免费版本软件扩大市场占有率,当用户多了,免费软件再采用一些其他的增值服务等等手段来收费。

自由软件

“自由软件”并不意味着售价为0,它更多地关乎自由的问题,软件如何定价并不影响它是否被归类为自由软件。

来自自由软件基金会(FSF)对自由软件的判断标准,如果程序的用户具有以下四项基本自由,才能被称为“自由软件”:

自由度0:可以按照用户意愿,自由地运行该软件。

自由度1:用户可以自由地学习并修改该软件。

自由度2:用户可以自由地分发该软件,让他人进行拷贝。

自由度3:用户把改进后的软件分享给整个 区令他人也从中受益。

其中自由度2、3的前提是,用户必须可以访问到该软件的源代码。

自由软件更像是一种观念,一开始是由支持自由软件的人士所发起的运动。

他们反对软件和数据私有化,认为这种知识产品应该共享,从而避免程序员们开发相似的系统造成重复浪费,让程序员们有时间和精力去开发更高效的东西。

这种过于理想化的思想在商业化 会中是很难行得通的。

在商业软件和自由软件的拉锯战中,开源软件就此诞生,它既满足了“知识共享”的理念,又允许人们加以修改从中谋利,进而促进人们创造知识产品的积极性。

开源软件

经过上面的解释不难看出:开源软件是指软件发行的时候附上源代码,授权用户可以修改、自由散布、衍生产品的权力。

●开源带给我们的好处是什么?

第一,软件本身得到了最大范围的使用。

开源一个软件之后可以让更多人根据自己的实际需求进行改写。

第二,软件开发程度可以不断迭代。

从软件本身的角度,开源,让更多的人参与,集思广益有助于软件的完善,开发出更优秀的软件。

第三, 会财富充分流动。

从软件行业的角度,极大的提高软件开发的生产力,我们能够自由的复用别人的开发成果,而避免重复劳动。通过开发的源代码,让软件开发者更好学习。

●有哪些开源协议,他们有什么异同

1.GPL:

该协议就是GNU运动发布的协议,GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用。

但不允许修改后和衍生的代 码做为闭源的商业软件发布和销售。

这也是 GPL代表的自由软件和普通开源软件的最大区别所在。

GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。我们熟知的Linux就是在GPL下发布的。

2.BSD协议:

BSD开源协议是一个给予用户自由度很高的协议,在该协议下,用户可以自由的使用、修改源代码,也可以将修改后的源代码作为开源软件或者私有软件发布。

3.Apache Licence 2.0:

我们熟知的Tomcat、Apache、Hadoop等等都是在Apache协议下发布的。

●开软是否暴露缺点,带来安全隐患?

既然已经开源了,说明软件的缺点和安全问题都暴露在大众面前了,这样是不是会带来一定的安全隐患呢?

事实上并非如此,一个软件即便不开源,只要一个黑客的技术足够,他想找也一定能找到漏洞从而攻破它。

但是通过开源,这么多的开发者总会有人发现漏洞的,开发者们有源代码,也发现了漏洞,就可以及时对软件作出改进。

所以想要真正的安全,开源是一个不错的选择。过去20多年来已经证实,“越开放,越安全”。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月1日
下一篇 2020年10月1日

相关推荐