开源软件简介

上传人:橙** 文档编号:333358149 上传时间:2022-09-01 格式:PDF 页数:12 大小:488.91KB
返回 下载 相关 举报
开源软件简介_第1页
第1页 / 共12页
开源软件简介_第2页
第2页 / 共12页
开源软件简介_第3页
第3页 / 共12页
开源软件简介_第4页
第4页 / 共12页
开源软件简介_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《开源软件简介》由会员分享,可在线阅读,更多相关《开源软件简介(12页珍藏版)》请在金锄头文库上搜索。

1、开源软件简介2.1 自由软件介绍斯托曼发起的“自由软件运动”是信息资本主义时代“赛博空间”里的空想社会主义,其纲领性文献GNU 宣言主张:软件应该像空气一样供人自由呼吸,软件版权对社会有害无益。为此,软件的源代码应该共享,软件应该免费,尤其是操作系统软件不应该成为“私有软件”。2.1.1 自由软件“自由软件”是指遵循GNU 宣言(自由软件联盟宣言书)的原则发布的、用户有权对其源代码自由拷贝、研究、改进和分发且不得限制其他用户拥有此种权利的软件,“自由软件”受到“通用公共许可证”(GPL)即“左版”(copyleft)的保护。更精确地说,自由软件赋予使用者四种自由:自由之零:不论目的为何,有使用

2、该软件的自由。自由之一:有研究该软件如何运作的自由,并且得以改写该软件来符合使用者自身的需求。取得该软件之源码为达成此目的之前提。自由之二:有重新散布该软件的自由,所以每个人都可以借由散布自由软件来敦亲睦邻。自由之三:有改善再利用该软件的自由,并且可以发表改写版供公众使用,如此一来,整个社群都可以受惠。如前项,取得该软件之源码为达成此目的之前提。如果一软件的使用者具有上述四种权利,则该软件得以被称之为自由软件。2.1.2 自由软件和免费软件自由软件的英文为“free software”,“free”一词有“自由”、“免费”的双重含意,因此要如何分辨自由软件(libre)和免费软件(gratis

3、)呢?自由软件运动的创始人理查德?马修?斯托曼(Richard Matthew Stallman)提供了以下的定义:自由软件的重点在于自由权,而非价格。要了解其所代表的概念,你应该将“自由”想成是“自由演讲”,而不是“免费啤酒”。更精确的说,自由软件代表电脑使用者拥有选择和任何人合作之自由、拥有掌控他们所用的软件之自由。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 12 页 -2.1.3 自由软件并不是没有版权自由软件可以免费取得,并且它的源代码可以自由修改并散布,但它并不是没有版权。版权是当某项作品完成时就自然产生了,不需申请或注册。以本文为例,本文在写作的同时,作者即拥用版

4、权,任何人皆无法剥夺。而当使用者花钱购买某套软件时,所购买的只是使用权,使用者必须接受该软件的软件授权,才能使用这个软件;而软件的原作者则仍然保有其版权。2.1.4 知名自由软件1、Linux Linux 是一种自由和开放源码的类Unix 操作系统。目前存在着许多不同的Linux,但它们都使用了Linux 内核。Linux 可安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10 台超级计算机运行的都是Linux 操作系统。Linux 得名于计算机业余爱好者Linus Torvalds。2、P

5、HP PHP,是英文超级文本预处理语言Hypertext Preprocessor 的缩写。PHP 是一种HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C 语言,被广泛的运用。图 2.1 Linux 图 2.2 PHP 3、MySQL MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL 的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了GPL(GNU 通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点

6、,许多中小名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 12 页 -型网站为了降低网站总体拥有成本而选择了MySQL 作为网站数据库。4、Firefox Mozilla Firefox,中文俗称为“火狐”,是由 Mozilla 基金会从Mozilla Application Suite独立出来采用开源与社区共同开发的网页浏览器。可以在多种操作系统运行,源代码以GPL/LGPL/MPL三种授权方式发布。图 2.3 MySQL 图 2.4 Firefox 2.1.5 自由软件运动的精神领袖理查德马修斯托曼(Richard Matthew Stallman,RMS),1953 年出生

7、于美国纽约曼哈顿地区,自由软件运动的精神领袖、GNU 计划以及自由软件基金会(Free Software Foundation)的创立者、著名黑客。他的主要成就包括Emacs及后来的GNU Emacs,GNU C 编译器及GNU 除错器。他所写作的GNU通用公共许可证(GNU GPL)是世上最广为采用的自由软件许可证,为 copyleft观念开拓出一条崭新的道路。他最大的影响是为自由软件运动竖立了道德、政治以及法律框架。他被许多人誉为当今自由软件的斗士、伟大的理想主义者,但同时也有人批评他过于固执、观点落伍。图 2.5 理查德?马修?斯托曼名师资料总结-精品资料欢迎下载-名师精心整理-第 3

8、页,共 12 页 -2.2 开源软件介绍开放源代码软件是一个新名词,它被定义为描述其源代码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。开放源码软件通常是有copyright的,它的许可证可能包含一些限制。“开放源代码”正在被公众利益软件组织注册为认证标记,这也是创立正式的开放源代码定义的一种手段。2.2.1 开源软件的定义如果在一本公开出版的书籍上有一段程序的源代码,可供人们随意阅读、研究、改写,甚至将其输入计算机装置加以运行使用,那这段程序算不算“源软件”?正确的答案是:不一定。从一般意义上讲,它是公有软件,而不是开源软件。原因很简单,虽然它可以被自由使用、自由传播

9、、但是它未必始终能够继续保持“开源状态”,往被商业软件所吸收。开源软件促进会即OSI(Open Source Initiative)对于开源软件有着明确的定义,称为 Open Source Definition(OSD),业界公认符合OSD的软件为开源软件。一共有十个条款:1、自由再发布(或发行)无论个人或团体均可自由获得开源软件,并可自由再发布(包括销售、赠与),在再发布(发行)或销售时不能要求收取有关著作权的授权或其他费用。这就是说,发行开源软件应该是免费的(至多只能收取发行介质的成本费用)。2、源代码及其公开性开源软件的程序必须包含源代码;要保证软件程序源代码的公开性。3、允许产生派生产

10、品开源软件允许自由修改并产生派生产品,禁止派生产品出现的做法是错误的。如果原著程序源代码吸纳修改或与其允许的补丁文件一起发布时,因为保持了原著软件程序源代码的完整性和发展持续性,所以这时发布的不应看作为派生产品。派生产品在不改写原有代码条件下可能会改变软件的原有功能(如在产品化过程中原有功能因专有技术和工程经验而改变),这时派生产品因软件程序源代码不变而开源软件许可证不变,因产品功能改变而允许使用不同于原著软件的名称或版本号;派生产品在对原著软件修改也可能改变软件的性质或采用多元许可证(如派生产品可能演变成私有软件)。4、原作者源代码完整性只有在允许补丁文件和原有源代码一起发布的情况下,开源软

11、件的许可证才可以允许或限制源代码以修改后的形式发布,以保护原有软件的完整性,不会被人无限制地篡改;允许派生作品使用不同于原著软件的名称或版号,以区别原著软件;允许人们使用区别于官方补丁的非官方补丁,此时也应使用不同于原著软件的名称或版号。5、不歧视任何人开源软件的许可证不能歧视任何个人或团体,使开源软件的参与和受益的群体最大名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 12 页 -化。6、不歧视或限制使用于任何领域如不得限制开源软件使用于商业目的。7、开源许可证的发布开源软件许可证所带的权利适用于所有接受开源软件的接收方,不能因接受方的身份不同或身份特殊,在接受时(或在执行过程

12、中)还要增加附加条件。8、开源许可证不能只针对某个产品举例来说,软件程序(如Linux Kernel)所带的权利(如GPL规范)与程序是否成为特定软件(如Android)或某个产品的一部分无关。如果某程序(如Kernel)从特定软件(如Android)中抽出来并遵守程序本身的许可证(如GPL),那么该程序的所有接收方(如Google、Motorola、HTC、三星等)获得的权利与原特定软件所赋予的对应部分的权利相同。9、许可权不能约束其他软件开源软件许可证及其权利只能赋予及约束自己,与同处一寓(产品)中的其他软件(商业软件或私有软件)无关,这样可使开源软件和其他商业软件可以共存互通,互相协作。

13、10、许可权必须独立于技术开源软件许可证规定的权利(体现开源软件上述定义的精神在法律层面上的规定)与具体的技术、应用、用户(体验)无关。开源软件必须遵循上面十条定义的规定;但总的来说开源软件比纯粹的自由软件更宽容;开源软件首先考虑的是如何从黑客文化(自由软件)中脱颖而出(或继承改革),如何发展软件,让更多的人来使用软件;开源软件特别对软件的派生和再发布的约束要比较宽松一些。2.2.2 开放源代码软件与自由软件1、形式上的差异(1)开放源代码软件与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,

14、但不是所有的开源软件都能被称为“自由”。但在现实上,绝大多数开源软件也都符合自由软件的定义。比如,遵守GPL和 BSD许可的软件都是开放的并且是自由的。(2)开放源代码的规定较宽松,而自由软件的规定较严苛。很多的开放源代码所认可的授权根本不算是自由软件,所以自由软件不得不和开放源代码划清界线了。2、内涵的差异(1)开放源代码作用是尽可能的使软件最优化;自由软件则将自由作为道德标准。(2)如果说“自由软件”会引起误解,(因为英文“Free”一词有“自由”、“免费”名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 12 页 -“源代码”是指用接近自然语言的高级编程语言(如 LISP、P

15、ASCAL、CBASIC等)编写的程序,也称“源程序”,易于被专业人士阅读与修改,对软件厂商而言,其价值好比可口可乐和百事可乐的配方。的双重含意),那么“开放源代码”的名字会引起的误解则更多。开放源代码很容易让人以为只要把源代码“公开”出来就算是开放源代码了,但是如果使用者无法自由运用这些源代码,那么即使公开源代码也没有意义。有的软件公司只是为了想找使用者帮它 debug、吸收社区贡献的功能,这样子会破坏了自由软件的原意。(3)自由软件的原意就是要给予使用者运用软件的自由,这个自由就是自由软件的精神所在。但是为了商业化开放源代码却故意忽略了这个最重要的精神,反而无法让使用者体认到自由的真意,那

16、么开放源代码这一个替代自由软件的辞句反而把自由的原意除去了。2.2.3 知名开源软件除了 Linux 和 My SQL以外,知名开源软件还有:1、Apache(阿帕奇)Apache 是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一,市场占有率达60%左右。世界上很多著名的网站如 Amazon、Yahoo!、3Consortium、Financial Times 等都是 Apache 的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux 系统平台上)以及它的可移植性等方面。2、Java Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于 1995 年 5 月推出的 Java 程序设计语言和Java 平(即 JavaSE,JavaEE,JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号