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就不存在这个问题,后两者只要求你对软件原作者的工作进行必要的认可和尊重就行了,所以这是适合商业应用的。
所以在选择应用开源软件时,一定要明白自己的用途,选择合适许可证下的软件。
分享到:
相关推荐
如果用户想要把购买的license应用到另外机器上部署软件则本软件还提供了去激活后再重新激活的功能,满足常见软件授权场景。 适合需要license保护商用软件的开发者使用,提供源码可任意按需修改、移植,也可直接使用...
开源免费 Office 办公软件 OpenOffice 中文版开源免费 Office 办公软件 OpenOffice 中文版 Apache OpenOffice 是一款办公软件,引导文字处理、电子表格、幻灯片演示、图形处理、数据库工具以及支持更多功能的开源的 ...
基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时...
非常适合创建各种全景虚拟游览,包括房地产代理/房地产经纪人的房地产展览、室内/室外场地的导游、策展人公共/私人设施的信息、旅游日志作为日志、背景讲故事的设置... PanoramaServer 是免费的,因为它是开源许可的。
OpenCV (Open Source Computer Vision Library) 是一个开源的计算机视觉和机器学习软件库。它含有超过2500个优化的算法,可以处理图像和视频中的各种常见任务。这些算法可以检测和识别面部,识别对象,提取3D模型的...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
MoviePy 是最初由 Zulko 编写并在 MIT 许可下发布的开源软件。 它适用于 Windows、Mac 和 Linux,使用 Python 2 或 Python 3。代码托管在 Github 上,您可以在其中推动改进、报告错误和寻求帮助。 Reddit 上还有一...
一.MySQL的OEM、ISV和VAR商业授权 二....问题5:对于MySQL软件,Oracle公司提供哪些开源的授权许可选择? 问题6:什么是Oracle给MySQL软件的商业授权? 问题7:如果我有更多的问题,我应该联系谁?
简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 ...
Soundbench是用C ++ / Qt编写的高质量GPL许可软件合成器,旨在在所有主要平台上运行(尽管特别是最常见Linux发行版)。 Soundbench遵循一种开发哲学,该哲学强调在添加新功能之前要使所有内容保持稳定。 Soundbench...
归因文档是几乎每个软件应用程序中的文本文件,网页或屏幕,其中列出了所使用的软件组件及其许可证。 它们通常位于“关于”屏幕中,有时被标记为“开源通知”,“信用”或其他类似的术语。 快速开始 安装 克隆此...
软件源码使用GPL许可,如果修改软件,请记得一样做开源处理。 7、给软件同行的建议:一个上传平台的框架开发完善后,增加平台,会非常的简单,只需要修改下一般都流程就可以了。 所以可以深入在一个领域发力,然后在...
OpenStereoNet 是一种用于构造地质分析的开源跨平台软件。 OpenStereoNet 是 OpenStereo 的一个分支。 这个 fork 旨在向 OpenStereo 添加一些本地化功能,但不仅如此。 该软件是用 Python 编写的,这是一种高级跨...
注意:如果安装过程中没有看到最终用户许可协议,或者是第一次安装 PowerPoint Viewer 2003,下载该软件表示您同意履行最终用户许可协议中的条款,该条款在安装 PowerPoint Viewer 2003 已经被您接受,并且 ...
Software(S3)是一个免费的开源软件环境,用于实现低成本的3D扫描仪,该扫描仪还可以用作显微镜和3D打印机。 S3是项目的软件部分。 SuperScanner软件已获得许可。 S3与兼容,该项目使用此软件增强了低成本显微镜的...
QuickLook 是一款由中国 pooi.moe 软件工作室大牛 Paddy Xu 精心设计与专注开发的基于 GPL 许可协议的完全免费且开源的文件快速预览辅助工具,即将广为熟知的 MacOS 好评用户操作体验「空格预览」功能应用到微软视窗...
Gulpir - Gulp Helper | 长生不老药 Gulpir 是 Laravel Elixir 的扩展。 它可以用作 Elixir 的替代品 Gulpir 添加了以下扩展: webpack 介绍 Laravel Elixir 提供了一个干净、流畅的 ...Gulper 是在许可下的开源软件
我们认为,发展必须是一种令人愉快的,富有创造力的经历,才能真正实现。 Laravel试图通过减轻大多数Web项目中使用的常见任务(例如身份验证,路由,会话,队列和缓存)来...执照Laravel框架是根据获得许可的开源软件
该项目的目的是收集恶意软件样本中常见的技巧。 这使我们能够研究它们,并测试我们的分析环境是否得到正确实施。 建造 Pafish用C编写,可以用MinGW(gcc + make)构建。 查看“”以获取详细说明。 作者 阿尔贝托·...