做为一个程序员,接触过很多开源项目,同时对它们使用的license比较关注,比较有代表性license的特点:
  BSD  - 没有限制。
  LGPL  - 在物理上保持独立(即不可以静态链接)。
  GPL  - 程序中用了GPL的东西,你的程序其它相关部分也要GPL。

  其开源的共同点是:
  尊重它的著作权及其完整性,你修改了它的话必须注明并指明它的原始版本所在,同时你所做的修改应该(不强制)回馈开源社区。
  使用以上开源代码的程序只是自已(包括公司)用而不分发给第三方(用户)使用的话,可以不开源,一旦分发:
  GPL要求你也必须按GPL协议发布你的产品,强迫你也GPL开源(GPL的传染性),另两者就没有这种要求了。

  因此做为一个程序员,对于使用BSD协议的东西可以毫无顾忌地使用;
  对于使用LGPL协议的东西则可放心使用,发布时多带几个dll不会死人。
  而对于GPL,就要想一想了,这个协议比较复杂,有很多例外,就像税务制度,你可以缴税、逃税、避税,商用前好好研究一下它,
  另外感觉上使用GPL协议的东西精品非常多,看源码的首选,可能是因为一些商用项目付lincense费的缘故,资金充足,
  管理文档等比较正规,便宜没好货这句话还是有道理的。