开源技术与开源软

开源技术与开源软

ID:39674813

大小:902.50 KB

页数:36页

时间:2019-07-09

开源技术与开源软_第1页
开源技术与开源软_第2页
开源技术与开源软_第3页
开源技术与开源软_第4页
开源技术与开源软_第5页
资源描述:

《开源技术与开源软》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九章开源技术与开源软件IT服务科学与工程本章内容开源软件与自由软件开源技术开源软件许可协议开源技术与开源软件开源软件与自由软件开源软件简单来说,“开源软件”就是源代码开放的软件。1999年,EricS.Raymond在自由软件的范畴下提出了开源软件的概念,并出版了《大教堂和集市》一书,这是开源软件发展的标志事件。著名开源项目网站SourceForge在1999年还只有数百个开源项目,到2008年初,其开源项目数已经超过17万个,几乎覆盖软件应用的所有领域。开源软件的意义对普通用户来说开不开源其实意义不是很大,他们更在

2、乎收不收费由于开源软件大多都是免费下载的,所以一提起开源软件,很多人的第一反应就是免费软件。对于商业用户来说可以减少开发周期,因为源代码开放了,只需要稍做修改就可以嵌入到产品中去;可以降低成本;但免费午餐不一定就不好吃(也有些开源软件需要收费,但价格都比较低廉)。开源软件成功的原因开源社区的协同模式改变和颠覆了软件业的工作方式,可以创造出高质量的软件产品。商业模式得到了验证:RedHat、MySQL、Asterisk都是非常成功的开源公司。真正释放了软件开发人员的创造力和生产力:全世界有上百万的程序员在参与开源软件的产

3、品开发。国际软件巨头也纷纷加入开源阵营:IBM投资10亿美元支持Linux,Sun也斥巨资收购MySQL…自由软件自由软件是指用户运行、拷贝、研究、改进软件的自由,更准确地说,是指三种层次的自由:研究程序运行机制,并根据你自己的需要修改它的自由;重新分发拷贝,以使其他人能够共享软件的自由;改进程序,为使他人受益而散发它的自由。自由软件的精神领袖查德·斯托曼他被人称为‘最后的真正黑客’,他认为一个好的软件,便该自由自在的让人取用,而不应该拿来做为相互倾轧、剥削的工具。他起草了GNU通用公共许可证来保障自由软件的自由,并创

4、办了自由软件基金会来贯彻他的理念。开源软件vs自由软件严格地说来,开源软件与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。但在现实上,绝大多数开源软件也都符合自由软件的定义。开源软件的优势较低的成本大多数开源软件是免费下载的,软件公司并不靠出售软件来取得利润软件后期的维护和支持是需要付费的开源带来的可靠性、耐久性和安全性任何人都可以对代码进行检察并发现其中的安全隐患,任何人都可

5、以修改代码中的问题,使用者不需要等待软件提供商对软件bug进行修正成熟的、并且通过长时间同级评审的开源软件是非常可靠的开放标准和摆脱供应商依赖开放标准的用户,不论是个人还是政府,都拥有在不同的软件、平台和供应商之中选择的灵活性和自由私有的、保密的标准使得用户只能使用一个供应商的软件,并且因为他们的数据都存储为私有格式,转换代价高昂而在此后继续受供应商的摆布开源软件面临的挑战知识产权问题对自由/开源软件性质和特征的界定对开源软件各类知识产权保护法律规定的强度和范围的理解对各种开源许可协议的内容或条款以及其解释的认知对自由

6、软件运动发展中迄今尚存的一些争议问题或在法律上出现的灰色地带在执行中的处置等管理和维护问题与使用商业软件相比,使用开源软件往往会带来一些潜在的成本使用开源软件的学习曲线比较长管理方面的成本也会增加,因为使用开源软件要求系统管理人员具有多种技能:熟悉命令行接口、精通脚本语言、能够编写设备驱动程序等等没有完善的技术支持,即使有也需要额外的费用开源技术与开源软件开源技术WEB框架目前流行的Web框架不再仅是一个MVC实现,而是几乎可以满足日常工作中的大多数需求的“一站式”框架,上至表现层,下至持久层,涉及了企业级应用中的方方

7、面面。这些“一站式”框架可以很方便地同其他框架进行整合,比如Struts、Spring与Hibernate的组合就很不错。目前使用频率比较高的WEB框架:Struts、WebWork、Spring和Seam。编程语言静态语言:数据类型在编译期间检查,也就是说在写程序时要声明所有变量的数据类型,如C、C++、C#和Java等。优点在于结构规范、便于调试、类型安全缺点是为此需要写更多类型相关的代码,最终导致代码不便于阅读。动态语言:在运行期间才去做数据类型检查的语言,也就是说,在用动态语言编程时,不需要给任何变量指定数据类

8、型,如Python、Ruby和Groovy等。优点是方便阅读,不需要写非常多的类型相关的代码缺点是不方便调试,当命名不规范时会造成对代码的理解困难等。AJAX框架AJAX是一种创建交互式网页应用的网页开发技术。使用XHTML+CSS来表示信息;使用JavaScript操作DOM进行动态显示及交互;使用XML和XSLT进行数据交换及

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。