Chinaunix首页 | 论坛 | 博客
  • 博客访问: 459770
  • 博文数量: 155
  • 博客积分: 2954
  • 博客等级: 少校
  • 技术积分: 1000
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-12 22:00
文章分类

全部博文(155)

文章存档

2014年(2)

2013年(5)

2012年(10)

2011年(33)

2010年(105)

我的朋友

分类: Java

2010-08-24 16:20:25

      假如你只是想学习使用一下开源项目,那么你可以跳过本节(了解一下更好^_^),但是假如你想在自己的产品(不管是开源的还是商业的)中集成开源项目,那么你必须了解许可协议。   
  
      开源项目的License可以分为三大类:
  
      OSI-Approved Open Source:被开放源码组织()所批准的开放源码授权协议。像大家经常看到的Apache,GPL,LGPL,MIT Licence,都属于OSI-Approved的授权协议,OSI 的要求之一是二进制文件和源代码的自由发放。
  
      Other/Proprietary License:其他的,私有的授权协议。指软件作者提供源代码,但是对软件的分发和发布有其他的限制。
  
      Public Domain:公共域授权。将软件授权为公共域,表示作者完全放弃版权,任何人都可以随意使用。
  
      大部分开源工程都属于OSI-Approved Open Source,下面对常见的License做简单的介绍:
  
      对商业友好的License,这些License虽然保留版权申明,但是不但免费修改、免费重新发布,而且答应商业使用,答应商业修改后不公布修改的软件代码(拿到商用产品中就不用担心了^_^)。这些License包括:Apache License,Artistic License,BSD License,Python License,XWindows License,Zope License等。
  
      GPL License,答应免费修改、免费重发布,但要求修改代码必须也遵守GPL。这样非GPL License的项目就不能使用GPL License的源码。这种授权方式大大限制了从开源中牟利的手段,因此是对商业不友好的授权。GPL授权的项目非凡多,包括有Linux、gnome、kde、gcc等。LGPL License对比GPL较为宽松,答应商业代码链接LGPL项目的库。
  
      MPL License,答应免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。这种授权维护了商业软件的利益,,它要求基于这种软件得修改无偿贡献版权给该软件。这样,围绕该软件得所有代码得版权都集中在发起开发人得手中。但MPL是答应修改,无偿使用得。MPL软件对链接没有要求。
  
      还有部分开源项目有多重协议,比如mysql(闻名的开源数据库)同时拥有Commercial License和GPL License,假如是GPL项目,那么可以免费使用MySQL,但是在商业软件中使用MySQL则要购买commercial license。
  
      总之,当你预备在商用项目中使用开源项目,就需要仔细阅读它的License,看是能否能够免费使用。(不能免费,估计老板就不同意了^_^)从商用的角度看,当然是选择对商业友好的License比较好,比如Apache License,BSD License,MPL,另外LGPL也是可以使用的。在我们关注的Java领域,选择余地还是比较大的(在以后的内容中会见到)。
  
  
  
  联系作者: dawanjia@126.com
阅读(988) | 评论(0) | 转发(0) |
0

上一篇:TCP/UDP与Socket

下一篇:Android HTTP 服务

给主人留下些什么吧!~~