求切肤之爱 百度云百度云资源

自由软件运动、开源和 Linux
& 自由软件运动、开源和 Linux
自由软件运动、开源和 Linux
开源、自由软件和 Linux 三者是容易混淆的概念。他们互有联系,但发展过程有着明显的不同。
自由软件运动
二十世纪六十年代,IBM 等公司所开发的软件都是自由分发的。那个时候的商业模式都是以硬件为中心,软件只是被看作使硬件工作的东西。他们提供软件的同时也提供源代码,软件可以被修改并因此得到改进,这便是现在开源软件的早期情况。但是,随着硬件价格的不断下跌,销售硬件的利润也逐渐减小,制造商开始期望软件能够带来额外的收入。越来越多的厂商开始单独销售软件,也不再提供软件的源代码。
1983年春天,Richard Matthew Stallman,这位曾经在 MIT 人工智能实验室工作的程序员,发起了 GNU 项目,旨在开发一个自由的类 Unix 的操作系统。他为专有软件的增长和随之而来的用户不再能够修改他们电脑上的程序而忧心忡忡。软件开发者被束缚,有悖自由精神的现象随之普遍发生。GNU 项目的创立,标志了自由软件运动的开始,随后的 1985年10月,Stallman 又创立了自由软件基金会(Free Software Foundation, FSF)。
Stallman 首先提出了自由软件的定义和特征,以及 Copyleft 的概念。他是很多 Copyleft 许可证的主要作者,包括使用最广泛的自由软件许可证—— GNU 通用公共许可证(GNU General Public License, GPL)。
更多关于 Richard Stallman 和 GNU 项目的内容,请访问:
Copyleft 与 Copyright 相对应,它来源于英语中 left 和 right 有“左”和“右”这对相反的意思,这种表达方式意在表明自由软件版权精神与传统版权思想的明显不同。Copyleft 并不是一种许可证,也不是对版权概念的反对或否定;不仅如此,它还是帮助使用法律保护自由软件版权和生态的一种重要方法。Copyleft 用于形容某些自由软件的许可证,这些许可证的共同特点是:其他软件如果使用了基于这些许可证中任意一个所发布的软件的源代码(包括附属于代码本身的图片、文档等),那么使用这些源代码的软件也必须采用相同或者与之兼容的许可证发布。Copyleft 性质的许可证使自由软件开发者的成果按照其意愿保持在自由软件体系内部自由传递,同时不被专有软件任意使用,借此使得自由软件在同专有软件的竞争中获得优势。
更详细的内容请查看 GNU 项目网站上给出的对 Copyleft 的定义:
到了 1991年,很多 GNU 工具都被开发了出来,包括强大的 GNU 编译器套件(GNU Compiler Collection, GCC)。软件需要运行操作系统之上,但是,创造一个自由的操作系统的所必不可少的部分——自由的内核,却还没有开发出来。
开源运动与 Linux
自由软件和开源之间的区别可以理解成社会运动(自由软件)和软件开发方法(开源)之间的区别。Linux 则是一个内核,是开源软件体系中的关键软件之一。
1991年8月,Linus Benedict Torvalds,这位芬兰赫尔辛基大学计算机科学专业的一个大二学生,开始研究 Minix 。
图 1.1. Linus Benedict Torvalds
Minix 是一个开源的类 Unix 操作系统,是 Andrew S. Tanenbaum 教授为了便于教授操作系统的内部流程而开发的。
Linus Torvalds 最初想把 Linux 设计成一个类似 Minix 的操作系统使之能运行于自己的家用计算机上。在九月中旬时, Torvald 发布了第一个版本—— Linux 0.01。1994年,Linus 第一次采用 GNU 通用公共许可证(GPL),发布了 Linux 的 1.0 版本。GNU 工具集连同这个自由的内核给爱好者提供了一个极富潜力的环境。为了和 UNIX 保持相似,Linux 首先提供了一个命令行界面;此后,X 窗口系统的加入使图形用户界面成为现实。
Linux 不隶属于任何个人或公司,甚至不属于开创 Linux 的 Linus Torvalds 本人。但是,Torvalds 在内核开发过程中做了大量工作,并且拥有 Linux 这个商标。
Linux 开放源代码:
可以被任何人获取和使用
可以根据个人的要求和所使用的平台定制
可以自由地以当前或修改的形式重新发布
最开始,Linux 是技术性非常强的开发工具。但是随着成千上万的开发者加入到改进它的行列,为它的发展做出贡献,对于用户它变得越来越友好。于是现在有数百种商业和非商业的为日常使用设计的发行版。
1998年,Jon "maddog" Hall 、Larry Augustin、Eric S. Raymond 和 Bruce Perens 等正式开始了开放源码运动。他们以各自卓越的专业基础极大地推动了这项运动的发展。
图 1.2. 开放源码运动的发起者
开放源码运动和 1990 年代末的互联网的兴起一起造就了 Linux 的流行,随后出现了很多支持开源的公司,如 Corel (Corel Linux)、Sun Microsystems (OpenOffice.org)、IBM (OpenAFS)。在 21世纪初,互联网泡沫破碎,开源软件作为昂贵的专有软件的可行替代品被推到重要的位置上。大量易用的应用程序的出现更使它的发展势头进一步增强。
就这样,一个想法变成了变革这个充满专利和授权的行业的激情。显著的价格优势和更强大的功能使 Linux 已经成为商业和家庭用户的可行选择。自由软件和开源软件有什么区别?
自由软件和开源软件有什么区别?
在网上看到一篇文章
/friend/rms/rms.fsm.html
《Richard Stallman和自由软件运动》
里面有如下的几段:
开源软件:那些放弃了自由的人们!
到1997年为止,自由软件运动已经取得了相当大的成功。那时正值互联网迸发前夜,自由软件的概念也已经从深入民心发展到了华尔街,面临着巨大的商业机会。这时,有一部分自由软件支持者开始好了伤疤忘了疼。面对种种诱惑,他们将自由抛弃了。他们开始强调实用性,强调自由软件是好的开发模式,能够产生高质量的代码;他们开始以商业利益为诱饵去讨好公司的老板们,并提出了开源软件的概念,因为他们担心Richard Stallman的自由主义会吓跑那些唯利是图的商人们。其中的代表人物是Eric Raymond,一个彻头彻尾的实用主义者。专有软件公司们当然希望事态如此发展,所以在他们的蛊惑和支持下,堕落的开源软件概念被迅速普及,电视、互联网、报纸、杂志等各种地方都充斥着“开源”,反而自由软件运动的发起者Richard Stallman、自由软件基金会和自由软件正在被人们渐渐遗忘。对于那些不了解自由软件运动历史的年轻人来说,他们一开始接触到的概念很可能就是抛弃了自由的开源概念,这是非常糟糕的。
到此,还有很多读者会说:“开源软件没什么不好啊,实用没什么错误啊等等?”。如此发问意味着基本的道德沦丧和人格失忆。实用当然没什么不好,但是为了实用就放弃了自由,那是愚蠢的短视行为。人类能够在地球上生存,需要呼吸、喝水、吃东西、居住等等,而SK-II和Ferrari却不是必须的。现在更多的人们已经意识到了这个问题,我们实在不应该以牺牲人类生存环境为代价来追求虚伪的东西,我们应该立即摒弃这种本末倒置的行为和想法。自由、平等是人类的基本权力,互助、分享是社会的存在基础,每个人都要珍视这些。遗憾的是,大多数现代商业都建立在剥夺人类自由的基础之上,软件业尤其突出。道理非常简单,这样的商业模式是利润最大化的,是容易形成垄断的。牺牲绝大多数人的利益来实现少数人的目标也是古往今来很普遍的做法,当然哪里有压迫哪里就有反抗,只是不同时期使用的手段和技术不同而已。在信息时代,我们以为自己的生活条件改善了,精神就容易懈怠,容易忽略与生俱来的那些珍贵的东西,自由、健康、友情等等。终于,专有软件像******一样包围了我们。在自由软件的概念正在被广泛接受和支持的时候,开源软件转移了人们的视线,将人们的思想从自由的高度降到了实用的低度。如果现在你还说这些无所谓,那么当你被抓到纳粹的集中营里任人宰割的时候会是什么心情呢?你害怕了,渴望自由了,渴望生活在阳光下了。在数字时代,这一切来的更隐蔽一些,水是被缓慢加热的,等你感觉到太热的时候,已经无力跳出。现在,你必须敏锐起来,不能等到你的计算机被人控制了、私人信息被泄露了、自己保存的文件被DRM(数字霸权管理)强行删除了、整天被病毒和有中国特色的******软件折磨着才做出反抗。那时,你一定会意识到自由的可贵,不过已经晚了。
我们要立刻抛弃开源软件的概念,不要把虐待当成享受,不要好了伤疤忘了疼。通过下图,我们知道自由软件正给我们带来光明;开源软件处在危险的灰色地带,正在左右摇摆不定;专有软件给我们的未来带来灾难。我们要珍视自由,勇敢地作出自己的选择!
看完了有些迷惑,一直以为自由和开源是一回事儿的啊?怎么到头来开源成了背判自由了?
昵称: hdifilwy &时间:
昵称: yagami0079 &时间:
昵称: silasoni &时间:3552人阅读
开源协议(3)
一。好汉一问:什么是开源软件?什么是自由软件?他们就是免费软件?& & &很多人经常把开源软件和自由软件混为一谈,也常常会有人把开源软件和免费软件这两个概念混淆在一起,其实当我第一此站在HUSA的讲台上的时候,自己对开源的了解,也只是狭隘的定位为:免费的,公开源代码的。也难怪会会被下面的高人嘲笑自己对开源的理解太肤浅了。& & &好啦,下面先一一给出他们的定义然后在定义中找出他们之间的差别吧。&开源软件是指在软件发行的时候,附上软件的源代码,并授权允许用户更改/自由再散布/衍生著作,开源并不抵制商业收费。&&免费软件就是免费提供给用户使用的软件,但是其免费的时候,通常都会有其他的限制,比如其源码不一定会公开,而且使用者也并没有使用、复制、研究、修改和再散布的权利.&自由软件是一项思想运动,强调用户拥有如何使用软件的自由。即(1)可以自由地运行;(2)可以自由地拷贝;(3)可以自由地修改;(4)可以自由地再发行。这里指的自由,并不是价格免费,这和价格无关而是使用软件对所有的用户来说是自由的。(英语中FREE有自由和免费的意思,比如自由的话语权,免费的夜宵)&(开源软件or自由软件)VS免费软件& & &免费软件,只是免费提供给用户使用,并不包含公开其源码的内容。提供情况下,免费软件免费的目的无非出于以下三个:当用户多了,免费软件再采取一些其他的增值服务等等手段来收费。&&&&&&题外话:说道这个,大家想到了什么?没错,3Q大战的两位大哥都是这种类型。TX要是公开QQ的源码,我们知道其通信协议的话,恐怕早已玩完了。&&& & &同样,开源软件,只是在软件发行的时候,附上软件的源代码,并且授权允许用户更改/自由再散布/衍生著作。商业软件并不抵制商业收费,所以,开源软件不一定就是免费的(当然,通常都是。)而且,开源的目的,并不是做慈善,而是通过更多人的参与,完善软件的缺陷。&&自由软件VS开源软件& && “自由软件运动”是一项倡导软件这种知识产品应该免费共享的社会运动,它主要是从社会伦理学,道德的高度,强调我们每个人都有自由使用软件的权利。这种权利不应该被软件私有所破坏。& & & 反对软件私有,首先反对的就是软件的知识产权、版权,所以自由软件运动明确反对以申请专利的形式将软件产品据为私有。为了表达对Copyright(知识产权)的憎恶,斯托尔曼甚至生造了一个单词Copyleft。& & & 自由软件运动者还创造出GPL(通用公众许可协议)这一许可协议来保证和保护同道中人彼此共享软件产品。GPL的基本原则就是:你可以“自由”地运行、拷贝、修改和再发行使用GPL授权的软件,但你也必须允许别人也能“自由”地运行、拷贝、修改和再发行该软件以及你在该软件的基础上加以修改而形成的衍生软件产品。& & & 我们不难发行,自由软件运动有点太极端、太理想化了,生活在这么一个商品化社会,要完全如此的反商业,还是很有难度的。& & &于是,发展到了后面,一中“自由软件”和“商业软件”之间的折中------“开源软件”就此诞生了,它既继承了“自由软件”所提倡的知识共享的理念,同时又允许人们以专利的形式从知识产品中谋取利益,从而保护了人们生产、创造知识产品的积极性。& & &所以,我们可以认为:自由软件是开源软件的一个子集,自由软件的定义比开源软件的更加严格,自由软件是一种道德精神层面的维护用户使用的自由。& & &开源软件和自由软件一样,具备一可以免费使用二是公布源代码的主要特征,所以在不刻意追究微小差异的情况下,我们可以认为开源软件和自由软件是两个等价的概念。&&& & 那么,接下来我们主要讨论为什么要开源?这或许才是开源精神的精髓所在。首先,我们来了解不开放源代码(软件私有)都有哪些坏处二。好汉二问:软件私有有哪些弊端?& & 软件私有一宗罪:浪费社会财富。我们假设一个软件已经完整的开发出来了,那么开发这个软件的所有投资都已经付出了,从社会的角度来看,任何限制软件使用的行为都是对其投资的浪费,对社会财富的浪费。& & 软件私有二宗罪:不利于软件的使用。我们假设一个已有的软件不能满足我们的需求,而事实上,我们只需要在原有的代码上修改很少的一部分,就能满足我们的需要。&在这种情况下,我们用户要么重新写一个软件,用么忍受现有软件的不完善。& & 软件私有三宗罪:不利于软件的开发。第二条是从用户的角度来看,软件私有不利于软件的使用。从软件本身发展的角度来看,软件私有,将使软件的开发集中在少数那么几个开发者之间进行,而不能使软件能够得到更多使用者和开发者的意见,集百家之长。& & 软件私有四宗罪:不利于软件开发者学习。一个好的软件,其中有无数值得我们学习借鉴的经验。但是因为软件私有,我们无法获得属于商业机密的源代码,无法站在巨人的肩膀上学习。&知道了软件私有的这些坏处,那么开源能帮我们解决什么呢?三。好汉三问:开源能解决哪些问题?&使软件能得到最大范围的使用。从用户的角度,使用户能根据自己的需要来使用、定制软件。从软件本身的角度,开源,让更多的人参与,更有助于软件的完善,开发出更优秀的软件。从软件行业的角度,极大的提高软件开发的生产力,我们能够自由的复用别人的开发成果,而避免重复劳动。通过开发的源代码,让软件开发者更好的学习。&&开源的协议:介绍了这么多有关开源的概念后,我们很有必要弄明白另外一个概念-----开源的协议。& & &接下来,我将为各位看官一一分下几种常见的开源协议。(至少是我觉得常见)四。好汉四问:有哪些开源协议,他们有什么异同?GPL(General public licence)&:& & & 该协议就是GNU运动发布的协议,GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代&码做为闭源的商业软件发布和销售。这也是 GPL代表的自由软件和普通开源软件的最大区别所在。& & & GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL&协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。我们熟知的linux就是在GPL下发布的。BSD协议:&& & & BSD开源协议是一个给予用户自由度很高的协议,在该协议下,用户可以自由的使用、修改源代码,也可以将修改后的源代码作为开源软件或者私有软件发布。BSD是对商业集成很友好的协议,BSD协议鼓励代码的共享、重用,但是要求尊重作者的著作权。&Apache Licence 2.0:& & & Apache Licence 2.0&是著名的开源组织Apache所采用的协议,和BSD很类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。& & & 我们熟知的Tomcat、Apache、Hadoop等等都是在Apache协议下发布的。&&& & & 经过上面几个问题的折磨,坚持到现在的好汉,我想,回答下面几个问题,就如同砍瓜切菜一般容易了吧。五。好汉五问:开源都有那几种盈利模式?& & &首先,开源不抵制软件授权收费。& & &其次,可以提供开源免费的软件,但是针对软件的服务和维护可以进行收费。& & &再次,诸如IBM,HP这样的硬件厂商会给开源社区提供资金支持----他们资金则可以卖出更多的基于开源软件的硬件。&六。好汉六问:开源会暴露软件的缺陷,带来安全隐患?& & & 既然开源了,那么谁都可以看到源代码,这样会不会让黑客发现其中的漏洞,然后利用它,从而产生安全隐患呢?这是个很自然的问题,我曾经也困扰很久。& & & 但是,事实恰好相反,一个软件,即使你不开发源代码,一个黑客想找,也能找到其中的漏洞(想想我们在windows下泛滥的病毒吧)。但是,工程师们知道了它的漏洞,因为手头没有源代码,没有办法去改进它;骇客知道了它的漏洞,却可以利用它!& & &所以,软件私有是锁不住安全的,软件私有只是更不利于安全而已!真正好的安全,需要完善的算法,周围的技术,同样重要的是完整的制度保障(扯远了?)&七。好汉七问:软件私有可以为软件开发者提供必要的经济支持,而如果没有这种经济支持,那么将没有人会去开发软件?& & 显然,这是个概念上的错误。具体答案,麻烦您看完上面全文就明白了。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:6919737次
积分:55631
积分:55631
排名:第48名
原创:743篇
转载:203篇
译文:22篇
评论:1542条
文章:129篇
阅读:1821117
文章:33篇
阅读:195403
文章:16篇
阅读:151462
阅读:13457
文章:29篇
阅读:344099
文章:18篇
阅读:313552
文章:44篇
阅读:354747
(1)(14)(18)(26)(16)(9)(23)(20)(17)(4)(16)(12)(17)(25)(34)(19)(15)(17)(15)(23)(12)(12)(14)(13)(14)(20)(58)(25)(31)(16)(33)(31)(20)(24)(23)(21)(20)(14)(36)(14)(14)(7)(5)(15)(3)(2)(9)(6)(7)(32)(3)(8)(7)(22)(2)(30)(4)
关注我的订阅号“微wx笑”

我要回帖

更多关于 切肤之爱百度云资源 的文章

 

随机推荐