网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  java程序员必须了解的七大开源协议     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:69次  录入:管理员--2008-03-19  
 

笔者偶尔在网上乱转的时候,发现了几个跟开源协议相关的约定说明,所以就仔细查了了一些资料和大家分享,下面只列决了个人认为java程序员必须了解的七大开源协议:

mozilla public license

mpl license,允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。这种授权维护了商业软件的利益,,它要求基于这种软件得修改无偿贡献版权给该软件。这样,围绕该软件得所有代码得版权都集中在发起开发人得手中。但mpl是允许修改,无偿使用得。mpl软件对链接没有要求。

bsd开源协议

bsd开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 当你发布使用了bsd协议的代码,或则以bsd协议代码为基础做二次开发自己的产品时,需要满足三个条件:

1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的bsd协议。

2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的bsd协议。

3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

bsd代码鼓励代码共享,但需要尊重代码作者的著作权。bsd由于允许使用者修改和重新发布代码,也允许使用或在bsd代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选bsd协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。

apache licence 2.0

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

1. 需要给代码的用户一份apache licence

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

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

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

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

gpl

gpl许可证是自由软件的应用最广泛的软件许可证,人们可以修改程式的一个或几个副本或程式的任何部分,以此形成基於这些程式的衍生作品。必须在修改过的档案中附有明显的说明:您修改了此一档案及任何修改的日期。 您必须让您发布或出版的作品,包括本程式的全部或一部分,或内含本程式的全部或部分所衍生的作品,允许第三方在此许可证条款下使用,并且不得因为此项授权行为而收费。

lgpl

linux就是采用了gpl。gpl协议和bsd, apache licence等鼓励代码重用的许可很不一样。gpl的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。

gpl协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)gpl协议的产品,则该软件产品必须也采用gpl协议,既必须也是开源和免费。这就是所谓的”传染性”。gpl协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。

由于gpl严格要求使用了gpl类库的软件产品必须使用gpl协议,对于使用gpl协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。

其它细节如再发布的时候需要伴随gpl协议等和bsd/apache等类似

public domain

公共域授权。将软件授权为公共域,这些软件包没有授权协议,任何人都可以随意使用它。

artistic许可

使作者保持对进一步开发的控制。


 
 
上一篇: 新手学堂:漫谈ejb在java中的应用(二) (1)    下一篇: Lucene:基于Java的全文检索引擎简介
  相关文档
勿以恶小而为之:java编程的恶魔 11-16
JavaScript验证整个表单 08-06
让java程序自带jre运行 11-17
发挥j2ee的优势,管理j2ee的世界(下) 11-17
java在linux下的web应用(1) 11-17
关于eclipse工作台中的preference 11-17
应用rms实现用户自动登陆功能 11-17
java 与 xml 结合使用的心得体会(二) 11-17
java多国语言问题解决方案 11-16
中间件--tomcat5.5数据库连接池配置 01-07
java语言tsp递归程序的优化 11-16
手机开发 教您使用jsr172解析xml 11-17
scriptenginebuildversion 函数 11-16
ant十五大最佳实践 11-16
pojo应用框架:springvs.ejb3.0 11-17
struts的体系结构 11-17
what is aspectj 11-17
castor -- 将java对象和xml自动绑定的程序 11-17
代码最优化.net中的内存管理 11-17
用jar发布java应用程序 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息