开源软件与自由软件

最近国内的开源的声音越来越大的,不管这样的宣传处于什么目的,但从大了来讲总是好事。 但您真的了解开源吗?

自由软件(free software)

1.自由软件运动

说到自由软件就不的不说下自由软件运动,自由软件运动是以理查德·斯托曼(Richard Matthew Stallman)为精神领袖发起的一场社会运动,目的为了推广用户有使用、复制、研究、修改和分发软件的权力,这也是自由软件的核心精神。

贩卖不附带源代码的二进制软件是十分不道德的,因为这种行为阻止了软件用户学习以及帮助其他人的权力。自由软件运动人士还认为自由软件的精神应当贯彻到所有软件,一切阻止用户行驶这种自由的行为都是不道德的。

然而目前还没有如何实现自由软件运动最终目标的共识。有些人认为应当使用法律手段强制软件供应商提供源代码;有些则认为应当通过抵制专有软件来达到目的。还有一些人则认为时间将证明,自由软件最终在质量上要比专有软件略胜一筹,并会在自由市场上取得胜利。

2.自由软件定义
自由软件基金会(FSF)对自由软件的定义首次于1989年发表,根据斯托曼和自由软件基金会(FSF)的定义,自由软件赋予使用者四种自由:

  • 不论目的为何,有使用该软件的自由。
  • 有研究该软件如何运作的自由,并且得以修改该软件来符合使用者自身的需求。取得该软件之源码为达成此目的之前提。
  • 有重新散布该软件的自由,所以每个人都可以借由散布自由软件来敦亲睦邻。
  • 有改善再利用该软件的自由,并且可以发表修订后的版本供公众使用,如此一来,整个社群都可以受惠。如前项,取得该软件之源码为达成此目的之前提。

如果一软件的使用者具有上述四种权利,则该软件得以被称之为“自由软件”。也就是说,使用者必须能够自由地、以不收费或是收取合理的散布费用的方式、在任何时间再散布该软件的原版或是改写版,在任何地方给任何人使用。如果使用者不必问任何人或是支付任何的许可费用从事这些行为,就表示她/他拥有自由软件所赋予的自由权利。


开源软件(open-source software)

1.开放源代码软件运动

开源软件也有个运动叫开放源代码软件运动,是一个主要由程序工程师及其它电脑用户参与的声势浩大的运动。它是自由软件运动的一个分支,但两者的差别并不明显。一般而言,自由软件运动是基于政治及哲学思想的理想主义运动,而开放源代码运动则主要注重程序本身的质量提升。

开放源代码软件就是在GUN通用公共许可证(GPL)下发布的软件,以保障软件用户自由使用及接触源代码的权力。这同时也保障了用户自行修改、复制以及再分发的权力。简而言之:所有公布软件源代码的程序,都可以称为开放源代码软件。

2.开放源代码的定义

开放源代码的定义由Bruce Perens(曾是Debian的创始人之一)定义如下:

  • 自由再散布(Free Distribution):允许获得源代码的人可自由再将此源代码散布。
  • 源代码(Source Code):程式的可执行档在散布时,必需以随附完整源代码或是可让人方便的事后取得源代码。
  • 衍生著作(Derived Works):让人可依此源代码修改后,在依照同一授权条款的情形下再散布。
  • 原创作者程式源代码的完整性(Integrity of The Author’s Source Code):意即修改后的版本,需以不同的版本号码以与原始的程式码做分别,保障原始的程式码完整性。
  • 不得对任何人或团体有差别待遇(No Discrimination Against Persons or Groups):开放源代码软件不得因性别、团体、国家、族群等设定限制,但若是因为法律规定的情形则为例外(如:美国政府限制高加密软件的出口)。
  • 对程式在任何领域内的利用不得有差别待遇(No Discrimination Against Fields of Endeavor):意即不得限制商业使用。
  • 散布授权条款(Distribution of License):若软件再散布,必需以同一条款散布之。
  • 授权条款不得专属于特定产品(License Must Not Be Specific to a Product):若多个程式组合成一套软件,则当某一开放源代码的程式单独散布时,也必需要符合开放源代码的条件。
  • 授权条款不得限制其他软件(License Must Not Restrict Other Software):当某一开放源代码软件与其他非开放源代码软件一起散布时(例如放在同一光碟片),不得限制其他软件的授权条件也要遵照开放源代码的授权。
  • 授权条款必须技术中立(License Must Be Technology-Neutral):意即授权条款不得限制为电子格式才有效,若是纸本的授权条款也应视为有效。


免费软件

这个概念和开源原件以及自由软件混淆,主要是由于自由软件的名称(free software)引起的,因为free既有“自由”又有“免费”的概念。开源软件和自由软件并不是代表就一定免费,免费的软件也不能说明它是开源或自由的。


开源软件与自由软件的内涵差异:

  1. 自由软件是开源软件的一种:若以定义条件而言,自由软件的定义更严格,所有的自由软件都是开源源代码的,但并不是所有开源软件都是“自由”的。其实现实上,绝大多数开源软件业都符合自由软件的定义,比如遵守GPL和BSD许可的软件都是开放并且自由的。
  2. 自由注重道德层面开源注重使用层面:开放源代码运动的支持者更注重软件的使用性而不是它的道德问题。开源软件支持者与自由软件支持者的最大不同在于前者不像后者一样盲目地反对及谴责专有软件。开源软件支持者中有许多程序员在使用开源软件的同时编写专有软件谋求生路。所以开放源代码作用是尽可能的使软件最优化;自由软件则将自由作为道德标准。

转载于:https://www.cnblogs.com/zhaiqianfeng/archive/2012/07/30/4616948.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值