`

开源许可协议_百度百科

阅读更多

 

开源许可协议

开源许可协议的由来

  自由软件/开源软件是自由的,免费的,源代码开放的,我们可自由下载安装和使用。同时,为了维护作者和贡献者的合法权利,保证这些软件不被一些商业机构或个人窃取,影响软件的发展,开源社区开发出了各种的开源许可协议。

  人们不太容易区分一个软件是否真正开源的根本原因,在于开源研究院认可的许可有60多种。但在这60多种许可中,有一个许可明显主宰着开源世界。迪博纳说:“GPL(General Public License,通用性公开许可协议)是当今开源世界中最重要的许可。”根据迪博纳引述的Google所进行的研究,基于GPL的开源代码在所有开源软件中占45%---50%。

常见的几种开源许可协议

GPL

GPL授予程序接受人以下权利,或称“自由”:

  * 以任何目的运行此程序的自由

  * 以学习程序工作机理为目的,对程序进行修改的自由(能得到源代码是前提)

  * 再发行复制件的自由

  * 改进此程序,并公开发布改进的自由(能得到源代码是前提)

  相反地,随版权所有软件的最终用户许可证几乎从不授予用户任何权利(除了使用的权利),甚至可能限制法律允许的行为,比如逆向工程。

  GPL与其他一些更“许可的”自由软件许可证(比如BSD许可证)相比,主要区别就在于GPL寻求确保上述自由能在复制件及演绎作品中得到保障。它通过一种由Stallman发明的叫copyleft的法律机制实现,即要求GPL程序的演绎作品也要在GPL之下。相反,BSD式的许可证并不禁止演绎作品变成版权所有软件。

COPYLEFT

  GPL不会授予许可证接受人无限的权利。再发行权的授予需要许可证接受人开放软件的源代码,及所有修改。且复制件、修改版本,都必须以GPL为许可证。

  这些要求就是copyleft,它的基础就是作品在法律上版权所有。由于它版权所有,许可证接受人就无权进行修改和再发行(除合理使用),除非它有一个copyleft条款。如果某人想行使通常被法律所禁止的权利,只需同意GPL的条款。相反地,如果某人发行软件违反了GPL(比如不开放源代码),他就有可能被原作者起诉。

  copyleft利用版权法来达到与其相反的目的:copyleft给人不可剥夺的权利,而不是版权法所规定的诸多限制。这也是GPL被称作“被黑的版权法”的原因。

  许多GPL软件发行者都把源代码与可执行程序捆绑起来。另一方式就是以物理介质(比如CD)为载体提供源代码。在实践中,许多GPL软件都是在互联网上发行的,源代码也有许多可以FTP方式得到。

  copyleft只在程序再发行时发生效力。对软件的修改可以不公开或开放源代码,只要不发行。注意copyleft只对软件有效力,而对软件的输出并无效力(除非输出的是软件本身)。不过这在GPL版本3中可能会有改动。

LGPL

  GNU宽通用公共许可证,简称LGPL(GNU Lesser General Public License),被用于一些(但不是全部)GNU程序库。这个许可证以前被称为GNU库(Library)通用公共许可证。

  LGPL是GPL的变种,也是GNU为了得到更多的甚至是商用软件开发商的支持而提出的。与GPL的最大不同是,可以私有使用LGPL授权的自由软件,开发出来的新软件可以是私有的而不需要是自由软件。所以任何公司在使用自由软件之前应该保证在LGPL或其它GPL变种的授权下。

Apache License

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

  * 需要给代码的用户一份Apache License

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

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

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

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

BSD

BSD授权许可证(FreeBSD Copyright Information)具有多种授权许可证。总的来说你可以对软件任意处理,只要你在软件中注明其是来自于那个项目的就可以了。也就是说你具有更大的自由度来处置软件。如果你对软件进行了修改,你可以限制其他使用者得到你修改的软件的自由。

  BSD授权许可证没有实现"通透性"自由,也就是其不保证软件源代码开放的连续性。这样如果你希望采用别人开发的BSD软件,进行一些修改,然后作为产品卖,或者仅仅保密自己的做的一些除了软件开发以外的工作,那么你就可

  以从中得利。

  当一个非程序员仅仅理解一个程序的功能,但是不了解程序是如何做的时,即使你没有在开发软件中做任何工作那你就可以通过高超的市场技巧将软件卖给该用户。比如拿最流行的桌面操作系统作为例子,你就能很好的理解一个没有很好的程序技巧的软件公司只要具有高超的市场营销策略同样可以将垃圾卖给客户。如果你不具有很强大的编程能力,但是具有很强的市场能力和能将其他开发者的软件包括到自己的系统,而同时不将自己的修改开放出来将是非常强大的能力。从赚钱为目的的商务角度看来,如果你使用了BSD授权许可证的软件,那么你就可以任意进行。你可以更好地控制你的OS系统,并且防止其他人拷贝你的商业产品。

总结

  简单的说,就是你使用了GPL许可证的软件,那么你的软件产品就被GPL“传染”了,也必须“自由”!这对国内的商业软件开发商来说是很难接受的。但是LGPL, Apache License, BSD就不存在这个问题,后两者只要求你对软件原作者的工作进行必要的认可和尊重就行了,所以这是适合商业应用的。所以在选择应用开源软件时,一定要明白自己的用途,选择合适许可证下的软件。

开源许可协议_百度百科

分享到:
评论

相关推荐

    仿百度百科网站源码

    7. **许可证文件**:规定了源码的使用许可条件,通常会包含版权信息和开源协议。 构建这样一个仿百度百科的网站,开发者需要掌握基本的Web开发知识,包括HTML、CSS、JavaScript以及服务器端语言的使用。同时,还...

    IwIP: 更强大的嵌入式TCP/IP协议栈

    2. **COPYING**:通常包含开源许可信息,说明了IwIP的使用、修改和分发的条款。 3. **FILES**:列出IwIP项目的文件结构和各文件的作用,有助于理解和导航源代码。 4. **README**:通常包含项目简介、安装指南和...

    百度地图毕业设计源码-ParticipateCommunity:如何参加CNCF等开源社区呢?如何向Kubernetes等开源仓库提交贡献呢?

    开源社区又称开放源代码社区,一般由拥有共同兴趣爱好的人所组成,根据相应的开源软件许可证协议公布软件源代码的网络平台,同时也为网络成员提供一个自由学习交流的空间。由于开放源码软件主要被散布在全世界的编程...

    D-IDE:用于在D中开发本机应用程序的实验性IDE-开源

    3. `Readme.txt`:这是标准的文档文件,通常包含有关软件的基本信息、安装指南、许可协议或其他重要注意事项。对于D-IDE来说,它可能提供了关于如何运行和使用IDE的详细步骤,或者解释了软件的特定功能。 综上所述...

    mm-wiki-linux-amd64.tar.gz

    "mm-wiki-linux-amd64.tar.gz" 是一个专为Linux系统设计的开源百科项目,旨在帮助用户搭建自己的百科平台,类似于百度百科。该压缩包包含了所有必要的文件,支持PHP5和PHP7环境,让开发者或爱好者可以在本地或服务器...

    OpenFOAM编程指南中文版.pdf

    此外,文档中提到的“Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License”是该文档遵循的许可协议。Creative Commons(简称CC)是一种知识产权协议,允许作者指定他人如何使用自己的作品。...

    在Windows中配置Apache阿帕奇服务器.docx

    百度百科等资料提供了关于Apache的详细介绍。 #### 2. Apache与IIS的对比 - **开源性**:Apache作为一款开源软件,允许用户自由地查看和修改其源代码,这使得Apache能够不断地被改进和完善;而IIS则是微软公司的一...

Global site tag (gtag.js) - Google Analytics