【转】商用软件如何利用开源项目

本文转载自:http://stack.blogbus.com/logs/4155287.html

为了降低开发成本,缩短开发周期,在开发商用软件(Commercial Software)的过程中,我们经常使用一些开源项目(Open Source)的成果,其中,应该注意的是:
1. 使用应该是免费的或相对较低的,否则就失去了利用的意义;
2. 该项目的授权协议允许该成果作为商用软件的一部分来使用,也就是它可以被用来卖钱。有些开源软件只允许你个人或企业内部免费使用,为别人安装都是不允许的。而有些允许你分发,但不允许你卖钱。
3. 对于大多数商用软件开发商来说,不会在推出产品的同时向公众开放自己的代码。因此,利用开源项目成果,它的授权协议就应该允许你不开放代码,无论你是修改它的代码还是将它作为你产品的一部分,在开源项目中采用最多的GPL协议显然不符合这一点,LGPL协议允许你链接,而BSD协议就允许你的衍生产品完全不开源。

我所使用到的一些开源项目:
1. JRtplib RTP网络协议开发包 http://research.edm.luc.ac.be/jori/jrtplib/jrtplib.html
2. FastDB 内存数据库 http://www.ispras.ru/~knizhnik/fastdb.html
3. SQLite 关系数据库 http://www.sqlite.org

将使用到的一些开源项目:
1. ACE TAO 非常优秀的CORBA实现 http://www.cs.wustl.edu/~schmidt/ACE.html

向贡献优秀开源软件及其代码的人们致以敬意!如有可能,请参与开源项目。

各种软件类型的介绍: http://www.gnu.org/philosophy/categories.html
各种授权协议的比较:

 http://zh.wikibooks.org/wiki/%E5%90%84%E7%A7%8D%E8%AE%B8%E5%8F%AF%E5%8D%8F%E8%AE%AE%E6%8E%A2%E8%AE%A8

其中APL、BSD等授权协议对商业利用是比较适合的。

以下转载自:http://www.oschina.net/bbs/thread/2828/

详细介绍 Apache Licene 2.0 协议

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

  1. 需要给代码的用户一份Apache Licence
  2. 如果你修改了代码,需要在被修改的文件中说明。
  3. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
  4. 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。

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

英文原文:http://www.apache.org/licenses/LICENSE-2.0.html

猜你喜欢

转载自txlong-onz.iteye.com/blog/1041377