网站大量收购独家精品文档,联系QQ:2885784924

第15讲:源代码相关内容简介.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第15讲:源代码相关内容简介

主要内容: ?开源介绍 生成类图 ?编译插件 ?代码调式 著名的开源组织:GNU GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。Richard Stallman最早是在net.unix-wizards新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。即“反版权”(或称Copyleft)概念。 Apache软件基金会(ASF) 开源许可协议核心内容 MySQL自由公共许可证FPL MySQL可以允许在各种实体(包括商业实体)内部自由使用,但没有技术支持。然而,商业目的分发,或任何部分或全部包含或从派生的东西,都需要从TcX AB申请一个书面的商业许可证,它是唯一的授权发证实体。用户不能“免费”地在一个含有任何收费内容的软件包中包含Mysql。只有以下情形除外:许可证的第二款允许运营FTP服务器或BBS的商业组织免费分发Mysql,如果:该组织遵守FPL的其他条款,其中包括要求分发Mysql和任何派生产品的全部源代码,并且与Mysql一起分发FPL本身;并且服务器或BBS可由一般公众访问,且任何人可以获得信息的存取(可能收费但该费用不依赖于或相关于购买其他东西)。 BSD开源协议 ?BSD开源协议是一个给予使用者很大自由的协议。基本上使用者可以“为所欲为”可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但“为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件: 1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。 2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。 3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。 Apache Licence 2.0 ?Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似: 1. 需要给代码的用户一份Apache Licence 2. 如果你修改了代码,需要再被修改的文件中说明。 3. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。 4. 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。 GPL vesion 2.0 1991 ? 病毒式传播条款:您有权采用收费或免费的方式发布该软件,但您也必须告知您的收受者,他们同样拥有此权利,即用收费或免费的方式再次发送,您不得要求收受者放弃此权利。 ? 不允许闭源条款:您可以取得源代码并作您喜欢的修改,也可将之出售图利,但您的收受人若要求您提供源代码,您不能拒绝,或至少应该告知其在何处可以找到源代码。您的收受人也可将该源代码进行修改或出售,您不得要求收受人放弃此权利。 对比 开源软件普遍存在的问题 ?缺乏整套的解决方案 ?缺乏完善的企业级别服务支持,很多时候出了问题只能靠自己去解决 ?在稳定性,安全性,数据可用性,平滑升级等方面存在普遍的不足,而解决这些问题通常要修改源代码。需要使用者对C++、Java,相应软件平台的内部运行机制等有深刻了解。因此使用开源软件的企业一般需要聘请技术能力较为高强的员工,在许可证上省去的费用可能人员开支上付回 ?Hadoop,NoSQL,Openstack这类开源软件大多涉及复杂的分布式系统,大部分企业的运维团队,对于维护此类大型系统都缺乏经验能力,如果没有强力的支持,分布式系统遇到的各种麻烦困难可能也会让使用者在开源的道路上无法走远 ?国内确实有不少企业拥抱开源软件,但也可以看到最终成功的,都是本身拥有强大技术团队的大型企业,特别是一些互联网巨头。但对于技术力量稍逊的传统企业,大部分在稍作尝试后就不得不放弃 为什么要研究Hadoop源代码 ?修补Bug ?增加或完善功能 ?优

文档评论(0)

cbf96793 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档