编程 关键字: 开源协议
记得暑假中间件导论第一节课就是讲的开源,整理了一些开源协议,以免以后
侵权了还不知道。。
现今存在的开源协议很多,而经过 Open Source Initiative 组织通过批准的开
源协议目前有 58 种(http://www.opensource.org/licenses/alphabetical
)。我们在常见的开源协议如 BSD, GPL, LGPL, MIT 等都是 OSI 批准的协议。
如果要开源自己的代码,最好也是选择这些被批准的开源协议。
BSD 开源协议(original BSD license、FreeBSD license、Original BSD
license)BSD 开源协议是一个给于使用者很大自由的协议。基本上使用者可
以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源
或者专有软件再发布。
但”为所欲为”的前提当你发布使用了 BSD 协议的代码,或则以 BSD 协议代码
为基础做二次开发自己的产品时,需要满足三个条件:
$ A 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的
BSD 协议。
$ B 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明
中包含原来代码中的 BSD 协议。
$ C 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD 由于允许使用
者修改和重新发布代码,也允许使用或在 BSD 代码上开发商业软件发布和销售,
因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都
首选 BSD 协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改
或者二次开发。
Apache License 2.0(Apache License, Version 2.0、Apache License,
Version 1.1、Apache License, Version 1.0)
Apache License 是著名的非盈利开源组织 Apache 采用的协议。该协议和
BSD 类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再
发布(作为开源或商业软件)。需要满足的条件也和 BSD 类似:
需要给代码的用户一份 Apache License ,如果你修改了代码,需要再被修改
的文件中说明。 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原
来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
如果再发布的产品中包含一个 Notice 文件,则在 Notice 文件中需要带有
Apache License。你可以在 Notice 中增加自己的许可,但不可以表现为对
Apache License 构成更改。
Apache License 也是对商业应用友好的许可。使用者也可以在需要的时候修
改代码来满足需要并作为开源或商业产品发布/销售。
评论0