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