| VB 源码 | VC 源码 | ASP源码 | JSP源码 | PHP源码 | CGI源码 | FLASH源码 | 素材模板 | C 源程序 | 站长工具 | 站长教程 |

业界评论

业界资讯
业界评论

本类阅读TOP10

·手把手教你做传奇私服
·一个号码可以让你取消手机的任何服务项目
·破解MD5和SHA-1不意味密码破解
·探明Outlook无法发邮件的问题
·山东大学王小云教授成功破解MD5
·为什么要担心无线安全性
·开启雅虎替身邮 免受垃圾邮件骚扰
·Google正在考虑对RSS的支持
·将dvbbs送进地狱
·google联姻百度之后

站内搜索

常见的开源软件许可证协议介绍

  开放源代码(Open Source)指一种软件散布模式。一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或著作权所有者等拥有程式的源代码。

  开源不仅仅表示开放程序源代码。从发行角度定义的开源软件必须符合如下条件:

  1、自由再发行

  许可证不能限制任何团体销售或赠送软件,软件可以是几个不同来源的程序集成后的软件发行版中的其中一个原件。许可证不能要求对这样的销售收取许可证费或其他费用。

  2、程序源代码

  程序必须包含源代码。必须允许发行版在包含编译形式的同时也包含程序源代码。当产品以某种形式发行时没有包含源代码,必须非常醒目的告知用户,如何通过 Internet免费的下载源代码。源代码必须是以当程序员修改程序时优先选用的形式提供。故意地扰乱源代码是不允许的。以预处理程序或翻译器这样的中间 形式作为源代码也是不允许的。

  3、派生程序

  许可证必须允许更改或派生程序。必须允许这些程序按与初始软件相同的许可证发行。

  4、作者源代码的完整性

  只有当许可证允许在程序开发阶段,为了调整程序的目的将“修补文件”的发行版与源代码一起发行时,许可证才能限制源代码以更改后的形式发行。许可证必须明确地允许按更改后的源代码所建立的程序发行。许可证可以要求派生的程序使用与初始软件不同的名称或版本号。

  5、无个人或团体歧视

  许可证不能都有针对任何个人或团体制在专门奋斗领域内的任何人使用该程序。例如不能限制程序应用于商业领域,或者应用于遗传研究。

  7、许可证发行

  伴随程序所具有权力必须适用于所有的程序分销商,而不需要这些团体之间再附加许可证签字盖章。

  8、许可证不能特制某个产品

  如果程序是某个特殊的软件发行版中的一部分,伴随该程序所具有的权力不能只以来于这一发行版。如果程序是从那一发行版中摘录出来的,使用或发行时用的都是那个程序的许可证,分销程序的所有团体都应拥有与初始软件版所允许的所有权力。

  9、许可证不能排斥其他软件

  许可证不能限制随该许可证软件一起发行的其他软件。例如,许可证不能要求所有与之一起发行的其他软件都是开源软件。

  10、许可证实例

  GNU GPL、BSD、X Consortiun和Artistic许可证都是我们认为符合开源软件定义的许可证。MPL也是一样。

  下面是列出了几个比较常见的开源协议,如果想要了解其他的协议和详细了解这些协议,推荐这个网址:http://www.opensource.org/licenses/

  Mozilla Public License

  MPL License,允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。这种授权维护了商业软件的利益,,它要求基于这种软件得修改无偿贡献版权给该软件。这样,围绕该软件得所有代码得版权都集中在发起开发人得手中。但MPL是允许修改,无偿使用得。MPL软件对链接没有要求。

  BSD开源协议

  BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:

  1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。

  2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。

  3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

  BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。

  Apache Licence 2.0

  Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件:

  1. 需要给代码的用户一份Apache Licence

  2. 如果你修改了代码,需要再被修改的文件中说明。

  3. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。

  4. 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。

  Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。

  GPL

  GPL许可证是自由软件的应用最广泛的软件许可证,人们可以修改程式的一个或几个副本或程式的任何部分,以此形成基於这些程式的衍生作品。必须在修改过的档案中附有明显的说明:您修改了此一档案及任何修改的日期。 您必须让您发布或出版的作品,包括本程式的全部或一部分,或内含本程式的全部或部分所衍生的作品,允许第三方在此许可证条款下使用,并且不得因为此项授权行为而收费。

  LGPL

  Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。

  GPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。

  由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。

  其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似

  Public Domain

  公共域授权。将软件授权为公共域,这些软件包没有授权协议,任何人都可以随意使用它。

  Artistic许可

  使作者保持对进一步开发的控制。




相关文章
  • 十个JavaScript页面布局技巧
  • 十个最著名的JavaScript 库
  • PHP的新浪微博发信接口
  • 开源软件许可证知识产权问题
  • 应用最广的十大Javascript框架
  • JAVA程序的加密和反加密
  • 在JAVA中编程实现数字签名系统
  • PHP开发框架的现状和展望
  • 网站标准重构的基础知识
  • Linux扫盲篇:CentOS、Ubuntu、Gentoo
  • 每个PHP开发者应该知道的五个开发要点
  • 如何在您的网站中加入“搜索本站功能”
  • 花十二个月建立一个成功的网站
  • 经典正则表达式
  • 正则表达式中的特殊字符
  • PHP字符串操作入门教程
  • EJB编程模型
  • JDBC概述
  • JSP白皮书
  • EJB体系结构的历史和目标
  • 相关软件

  • Photoshop中文教程
  • TURBO C教程  
  • CUG输入编缉,打字教程的C语言源程序  
  • C语言教程  
  • 功能强大的 TC 教程  
  • TURBO-C 教程的C语言源码  
  • 超级文本C++教程  
  • 操作符重载C++教程  
  • C 语言教程  
  • PHP中文教程  



  • 月光软件源码下载编程文档电脑教程网站优化网址导航网络文学游戏天地生活休闲写作范文安妮宝贝站内搜索
    电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
    音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

    月光软件站·版权所有