`
hongan
  • 浏览: 175703 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

开源授权协议(License)

阅读更多

OSI(www.opensource.org)是目前世界上针对开源软件授权进行认证的唯一机构。

开源授权模式:强开源约束授权、弱开源约束授权、无开源约束授权、其他开源约束授权。

 

强开源约束授权:

GPL Family(通用公共授权)-例:Linux

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

弱开源约束授权:

Mozilla Public License(公用授权协议)-例:Firefox

    MPL License,允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。这种授权维护了商业软件的利益,,它要求基于这种软件的修改无偿贡献版权给该软件。这样,围绕该软件的所有代码得版权都集中在发起开发人得手中。但MPL是允许修改,无偿使用的。MPL软件对链接没有要求。(要求假如你修改了一个基于MPL协议的源代码,则必须列入或公开你所做的修改,假如其他源代码不是基于MPL则不需要公开其源代码)

LGPL-例:JBOSS

    GPL的变体,要求如何针对LGPL软件的修改必须公开其源代码,但并不要求基于源代码之上的衍生应用开放其源代码。

 

无开源约束授权:

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

Public Domain

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

Artistic许可

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

 

 

其他开源约束授权:

Creative、Common和学术自由授权协议。

分享到:
评论

相关推荐

    各操作系统开源授权许可协议.docx

    GPL(General Public License)是一种常见的开源授权许可协议。它是由Richard Stallman创造的,主要目的是为了保护软件的自由和开放性。GPL协议的核心是 Copyleft, Copyleft是指当你使用GPL协议的软件时,你必须也...

    常用开源协议文本

    开源协议是软件开发领域的重要组成部分,它规定了代码的使用、修改、分发等行为的法律框架。在开源世界中,正确理解和应用这些协议对于开发者、企业以及整个社区的健康发展至关重要。以下是对五个主要开源协议——...

    Permission Base(授权基础,以下简称PB)是一个基于.NET 2.0平台开发的开源项目,使用的协议为:Apache License Version 2.0。

    1.概述Permission Base(授权基础,以下简称PB)是一个基于.NET 2.0平台开发的开源项目,使用的协议为:Apache License Version 2.0。 PB是一套适用于一般中小型B/S企业应用系统的“权限控制基础结构”。PB的定位并...

    License:常见的开源协议

    BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或...

    软件许可证(License)设计方案

    - **GPL(GNU General Public License)**:是最严格的开源许可证,要求任何基于此软件的衍生作品也必须采用GPL,保持软件的开源性质。 - **MIT License**:非常宽松的许可证,允许在商业项目中使用,只需保留原...

    源码授权使用保密协议.zip

    5. **代码托管与版本控制**:现代软件开发常使用GitHub等平台进行源码托管,这些平台通常提供访问控制和权限管理,帮助管理和执行源码授权协议。 6. **软件分发与许可证管理**:对于商业软件,通常需要通过许可证...

    字体文件 fonts cjk字体 开源授权的,支持中文韩文日语英语

    标题中的“字体文件 fonts cjk字体 开源授权的,支持中文韩文日语英语”指出,这是一款专注于CJK(Chinese, Japanese, Korean)字符集的字体资源,它不仅涵盖中文,还支持日语和韩语的文字显示,同时强调了这些字体...

    license-2.4.0.zip

    标题中的"license-2.4.0.zip"表明这是一个关于“license”的软件包,版本号为2.4.0,并且是以ZIP格式压缩的。...通过这些组件,用户可以方便地集成到开发流程中,确保他们的软件产品遵循正确的授权协议。

    .qt license下载

    Qt是一款强大的跨平台应用程序开发框架,广泛用于桌面、移动和嵌入式系统的软件开发。...对于那些希望在项目中使用Qt而又不希望受开源协议约束的企业来说,理解和正确处理`.qt-license` 文件至关重要。

    开源的CANopen协议mco

    同时,license_educational.txt和release_notes.txt文件可能包含了关于授权信息和版本更新的详细说明,需要仔细阅读以确保合法使用并了解最新改进。 总的来说,MCO为开发基于CANopen的嵌入式系统提供了便捷的途径,...

    First-Small-Domain-DbContext:一个关于Domain的DbConext开源小Demo,基于MIT License开源协议。被授权人权利 :被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及贩售软件及软件的副本。 被授权人可根据程序的需要修改授权条款为适当的内容。 被授权人义务:在软件和软件的所有副本中都必须包含版权声明和许可声明

    一个关于Domain的DbContext开源小Demo,基于MIT License开源协议。被授权人权利 :被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及贩售软件及软件的副本。 被授权人可根据程序的需要修改授权条款为...

    open license

    "Open License"是一种开源软件许可协议,它允许用户免费使用、修改、复制和分发软件。这个主题涉及到的是开源社区的核心原则,即源代码的开放性和共享性。在这个描述中,“open source license builder with GUI”...

    android-license-sample,.zip

    在Android应用中,通常需要包含许可证页来声明所使用的开源库、框架或者代码片段的授权信息,这是对开源协议的尊重和遵循。这样做可以保护开发者免于侵犯他人的知识产权,并确保用户了解应用中包含的第三方组件。 ...

    ehcache-core-ee-2.4.1 license 授权 注册 算号 keygen

    Ehcache是一款非常流行的开源Java缓存库,它在提高应用程序性能方面发挥着重要作用,尤其在处理大量数据时。在企业环境中,Ehcache的增强版——Ehcache Core EE 2.4.1提供了更高级的功能,如offheap storage(离堆...

    使用truelicense实现用于JAVA工程license机制(包括license生成和验证)

    在Java开发中,为了保护软件不被非法使用,开发者通常会采用授权许可(License)机制。TrueLicense是一款强大的开源工具,专门用于构建Java应用程序的许可证管理解决方案。它提供了灵活的API,可以方便地集成到你的...

    License申请答复单模板

    7. **法律条款**:申请人需要同意并遵守软件供应商提供的使用条款和条件,包括保密协议、知识产权保护和责任限制等。 博客链接中的“https://wanqi0821.iteye.com/blog/978078”可能提供了一个具体的示例,详细解释...

    Laravel开发-license

    首先,Laravel主要采用的是MIT许可证,这是一个非常宽松的开源软件许可协议。MIT许可证允许任何人自由地使用、复制、修改、合并、发布、再授权Laravel源代码,甚至可以用于商业项目,只要在使用时保留原始的版权和...

    license for ic5141

    在文件"license.dat"中,通常会包含详细的授权信息,如许可协议的条款、费用结构、有效期、更新政策、技术支持和售后服务等内容。用户在使用IC5141前,应当仔细阅读并理解这份文件,确保自身行为符合许可协议的要求...

    phplicense是一个用于生成和解析许可证license的库

    此外,对于开源项目,它还可以用于动态生成许可证信息,显示在项目文档或网站上,让使用者明确了解项目授权条件。 `ziishaned/php-license-f5a5716` 这个压缩包文件名可能表示的是 `phplicense` 库的一个特定版本,...

Global site tag (gtag.js) - Google Analytics