- 浏览: 99258 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
xqxmh:
哈哈哈哈哈哈
12月编程语言榜单公布 C#等评级创新高 - CSDN新闻 -
niechanggang:
这个图片很是形象,linux也来祭奠了。。
【转】悼念一个伟大的公司——Sun - CSDN新闻
开源许可协议
开源许可协议的由来
自由软件/开源软件是自由的,免费的,源代码开放的,我们可自由下载安装和使用。同时,为了维护作者和贡献者的合法权利,保证这些软件不被一些商业机构或个人窃取,影响软件的发展,开源社区开发出了各种的开源许可协议。
人们不太容易区分一个软件是否真正开源的根本原因,在于开源研究院认可的许可有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就不存在这个问题,后两者只要求你对软件原作者的工作进行必要的认可和尊重就行了,所以这是适合商业应用的。所以在选择应用开源软件时,一定要明白自己的用途,选择合适许可证下的软件。
发表评论
-
人人网 校内- 日志分享
2010-08-20 04:36 0体内湿气重怎样祛除 ... -
写在毕业一周年
2010-08-10 02:40 743其实离毕业一周年有一段时间了。最近生活忙碌的有些混乱,虽然没有 ... -
人人网 校内- 日志分享
2010-08-20 04:36 926体内湿气重怎样祛除 ... -
《朱自清讲国学》笔记
2010-07-07 12:48 722说文解字。文字相传是 ... -
201005崇明西沙湿地
2010-06-13 08:28 6975月份在恍惚中度过,忙碌是这个月的主旋律。五一假期,老友相聚, ... -
【转】你会休息吗?掌握最高效的休息方式----褪墨
2010-06-30 01:57 638你会休息吗? 你是不是有过这样的困扰呢?当睡了十几个 ... -
【转】不要给技术人员做绩效 - 潘燕辉的专栏 - CSDN博客
2010-07-05 09:34 673今天看到CSDN举办了一个论坛,研发人员的绩效管理, ... -
【转】递归删除svn目录
2010-05-12 09:22 1139参考http://perezj.blogspot.com/2 ... -
201004小结
2010-05-14 06:29 598崇明之行,东平国家森林公园一日游 huaihao的东西终 ... -
论“教授”的没落
2010-04-16 01:31 638最近在看中央2套的纪录片《大三峡》。跨世纪的工程,极为雄壮。而 ... -
【转】7个顶级心理预言
2010-04-14 04:21 651七个受用一生的心理 ... -
谈学习
2010-04-14 13:02 643从大学开始,教育、学 ... -
【转】James Gosling_百度百科
2010-04-09 03:31 795牛人一个 James Gosling ... -
20103月小结
2010-04-12 04:23 7153月流水如下: 1、根据持续做22天事情可以养成一个习惯原则, ... -
网上流传房地产崩盘时间表 楼市重蹈日本覆辙 - 新闻中心 - 搜狐焦点网
2010-03-28 08:53 697个人认为历史的规律绝对不会以人类的意志为转移的,人类可以将历史 ... -
【转】UE正则表达式 说明_流浪的KaKa_百度空间
2010-03-17 06:59 1237ue的正则还是很好用的,特别在处理文本时,相当方便啊,呵呵推荐 ... -
Python之感
2010-03-01 02:07 643从去年还没毕业就接触Python,上周有些无聊重新再看一遍,发 ... -
一语惊醒梦中人啊
2010-02-08 04:34 623节选自曹建海的博客 人是需要一些精神的,女孩子尤其如此。我看 ... -
作为一个男人,尤其作为一个真正的爷们,应该做好下列小事 - ♀coolszy♂ 【厚德载物 天道酬勤】 - JavaEye技术网站
2010-02-08 06:32 6671,朋友请你吃饭, ... -
邢红瑞的blog--一点一滴培养你的领导气质(转)
2010-02-08 08:58 842一:沉稳(1)不要 ...
相关推荐
这个项目的核心是开源舵机协议,它允许用户通过iOS设备控制机械臂的动作,实现对机械臂的精细操作。下面我们将深入探讨这个项目中的关键知识点。 1. **舵机**: 舵机是一种广泛应用于机器人和模型制作中的小型伺服...
开源授权许可协议详解 在软件开发中,开源授权许可协议是一个非常重要的概念。随着开源软件的普及,各种开源授权许可协议也相应地出现了。常见的开源授权许可协议有GPL、LGPL、Apache、BSD等。每种协议都有其特点和...
西门子S7-200的PPI通讯协议,支持复合指令读写
BSD许可是一种非常宽松的开源许可协议,它允许用户自由使用、修改和分发软件,只需要保留原始版权和许可声明即可。具体来说,使用BSD许可的软件时需遵循以下几点: - 在发布修改版或衍生作品时,必须包含原始的版权...
CAE PreProcessorSALOME是一个开源软件,为数值模拟提供了一个通用的前后处理平台。它基于一个由可重用组件构成的开放、灵活的体系结构。SALOME是一个跨平台的解决方案。它是根据GNU LGPL许可证的条款分发的。您可以...
5. **开源许可证**:了解所使用的许可证类型(如 GPL 或 MIT),以确保合规使用和分发。 6. **版本控制**:可能通过 Git 等工具获取和管理代码库,了解基本的版本控制概念。 7. **安全实践**:运行开源Web应用时,...
"Zigbee完全开源的协议栈"指的是Zigbee协议栈的源代码是公开的,允许开发者自由查看、修改和分发,这为开发人员提供了更大的灵活性和定制能力。 Zigbee协议栈通常包括几个关键组件: 1. **物理层(Physical Layer, ...
- 许可协议:需明确开源许可协议,如MIT、Apache 2.0等,规定使用、修改和分享的规则。 - 社区贡献:鼓励开发者提交代码、报告问题,共同维护和升级项目。 4. **二次开发** - 自定义模块:根据店铺特色,开发者...
5. **BSD许可证**: BSD许可证是一种宽松的开源软件许可证,允许他人在保留原作者版权的前提下自由使用、修改和分发代码,甚至可以用于商业用途。这种许可证为Muddery的广泛使用和适应提供了法律基础。 6. **Evennia...
"完整开源ZigBee协议栈C语言代码"是一个重要的资源,因为它提供了一个详细的实现参考,可以帮助开发者理解和掌握ZigBee协议的工作原理。C语言是系统编程的常用语言,因此这个开源项目特别适合硬件开发者和嵌入式系统...
698.45面向对象协议,主要用于电力用采终端
本文将分析五个开源的TCP/IP协议栈:BSD TCP/IP、uC/IP、LwIP、uIP以及TinyTcp,探讨它们的特点、适用场景以及选择考虑因素。 1、**BSD TCP/IP协议栈**: 源自Berkeley Software Distribution (BSD),它是其他商业...
BSD栈在BSD许可协议下提供了专业TCP/IP栈的基础框架,这种许可协议允许开发者在不支付版权费用的情况下,对BSD栈进行修改或整合进专业栈中。BSD栈不仅是许多专业栈的起点,而且也是许多TCP/IP协议创新的源头,比如...
此压缩包文件"ONVIF2.0中文协议+开源库onvif.rar"包含了ONVIF 2.0版本的中文协议文档以及一个名为"rapidonvif-master.zip"的开源库,为学习和开发基于ONVIF标准的应用提供了宝贵的资源。 首先,ONVIF 2.0中文协议...
在开源软件的世界里,选择合适的许可证对于项目的发展至关重要。本文将分析几种常见的开源协议,包括GPL、BSD、MIT、Mozilla(MPL)、Apache 2.0和LGPL,帮助开发者理解它们的特点和适用场景。 首先,BSD开源协议...
在编程世界中,Java程序员经常会接触到各种开源项目,这些项目的许可协议对于理解代码的使用、修改和分发有着至关重要的作用。本篇文章将详细介绍几个Java程序员必须了解的开源协议,帮助开发者更好地理解和遵循这些...
基于STM32单片机的profibus-dp的软件通信协议的实现
产品中可能包含需向第三方支付许可费的第三方软件,这些软件可能受开源或免费软件许可证约束。用户在使用产品时,需遵循开源或免费软件的相应许可证条款。 2. **许可证限制**:未经Veritas Technologies LLC及其许...
开源许可证是软件开发领域的重要组成部分,它规定了用户在获得、使用、修改和分发开源软件时的权利和义务。这份2018年的开源许可证使用指南详细阐述了各种开源许可证的特点、适用场景以及如何正确使用它们。对于...
"KNX协议第三方开源库"指的是由非官方组织或个人开发的,支持KNX协议的软件开发工具包,这些库通常是免费提供的,并且允许开发者在自己的项目中使用和修改源代码。 在描述中提到的"tuwien.auto.calimero"是一个具体...