软件以其许可证形式主要可分为被作为商品进行交易,一般以闭源、可执行文件形式存在的商业软件,如Office办公软件;可以自由且免费使用,一般以闭源、可执行文件形式存在的免费软件,如iTunes;据不同开源许可证,可不受限制地自由使用、复制、研究、修改和分发,以源代码、库文件、可执行文件等多种形式存在的自由软件(开源软件open-source-software)。然而开源软件并不意味着可以被肆无忌惮地随意使用。
开源软件以其许可证的约束程度及感染性,可进一步细分为:
商业友好型开源软件:鼓励共享,允许使用者修改、重新发布代码,也允许在原代码基础上开发商业软件发布和销售;
感染型开源软件:有条件地鼓励共享,允许使用者修改、重新发布代码,且受到“继续开源”或“不允许商业闭源”等限制。
软件使用方就前述不同形式的开源软件具有不同的使用方式,主要包括:直接运行可执行文件,完成指定工作的方式;以静态链接或动态链接调用库文件的方式;直接使用源代码、将源代码编译成库文件调用、将源代码编译成可执行文件运行的源代码使用方式等。在前述不同的使用方式下,使用商业友好型开源软件需满足特定的条件,而使用感染型开源软件需接受许可证项下明确的限制性约定,否则,其使用行为将面临法律风险。
下面本文将向大家介绍不同开源许可证的使用条件或限定性约定。
一、商业友好型开源软件
开源软件若遵循如下较为普遍流行的许可证(Licenses that are popular and widely used or with strong communities),则其为商业友好型开源软件。
1、Apache License2.0(Apache-2.0);
2、BSD 3-Clause “New” or “Revised” License(BSD-3-Clause);
3、BSD 2-Clause"Simplified” or “FreeBSD” License(BSD-2-Clause);
4、MIT License(MIT);
5、Eclipse PublicLicense(EPL);
商业友好型开源软件如下使用行为商业友好,但商业闭源或制定自己的许可证使用需满足一定的前提条件。
1、源代码引用;6、动态库链接;
2、源代码编译成静态库链接; 7、二进制执行;
3、源代码编译成动态库链接; 8、模块插入;
4、源代码编译成二进制执行; 9、作为工具使用;
5、静态库链接;
(一)ApacheLicense 2.0
ApacheLicense 2.0鼓励代码共享和尊重原作者的著作权,允许代码修改,作为开源或商业软件再发布。其商业使用友好的前提条件如下(opensource.org/licenses/Apache-2.0):
1、无论以源代码、二进制等再发布,需给用户一份Apache许可证;
2、如修改源码,需要在被修改的源码中进行说明,包括改变版权、专利信息;
3、衍生扩展源代码的,需保留原来代码中的协议,商标、专利和其他原作者规定需包含的说明;
4、若再发布软件中包含说明性文件(Notice文件),则该文件中需有Apache Licence,可在说明文件中添加自己的许可,但不可对ApacheLicence构成更改。
(二)BSD
BSD:给于很大自由的协议,使用者可以自由地使用,修改源代码,亦可将修改后的代码作为开源或者商业闭源软件再发布。其商业使用友好的前提条件如下(opensource.org/licenses/BSD-2-Clause;opensource.org/licenses/BSD-3-Clause):
1、如再发布的软件源代码中包含被使用的BSD协议源码,则源代码中必须带有原来代码的BSD协议;
2、如果以二进制形式再发布,则需要在再发布的文档和版权声明中包含原来代码的BSD协议声明;
3、BSD-3clause:未经书面许可,不得用被使用开源软件的版权所有者/软件开发者做市场宣传推广。
(三)MIT
MIT:和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制。其商业使用友好的前提条件如下(opensource.org/licenses/MIT):
无论以源代码、二进制等任何形式再发布修改或未修改的MIT软件,必须在发布版里包含原许可协议的声明。
(四)EPL
EPL:允许任意使用、复制、分发、传播、展示、修改以及修改后闭源的二次商业发布。其商业使用友好的前提条件如下(opensource.org/licenses/EPL-1.0):
1、可以将源码不做任何修改来商业发布;但如果发布修改后的源码、或者再发布的是目标代码,必须声明其源代码是可以获取的,且告知获取方法;
2、将源码的整体或部分再次开源发布的时候,必须继续遵循EPL协议,除非获得著作权人的授权;
3、EPL的源码作为一部分与其他商业源码成为整体发布的时候,可以以私有协议发布,但需声明EPL下的部分代码继续遵循EPL;
4、发布者不得删除或修改任何原始程序当中的版权声明。
(敬请期待“还在肆无忌惮地使用开源软件?(二)”GPL、LGPL等许可证项下的感染型开源软件介绍)



