一文看懂开源许可证,能不能商用再也不抓瞎

在github中闲逛 , 宝藏多福利好 。不过心里或许总有小忐忑 , 这么多开源项目 , 我的产品里能不能用呀!
其实想知道项目能不能用看下项目的开源许可证就清楚了(即使是非软件产品比如数据、媒体、资料等也可以通过开源许可证知道它们的可用范围) 。

一文看懂开源许可证,能不能商用再也不抓瞎

文章插图
开源许可证
先举两个例子 , 这两位应该是最常用的许可证了:
  • MIT许可证:只为作者保留版权 , 而无任何其他了限制 。它使人们几乎可以对您的项目进行任何操作 , 即时是制作和分发封闭源代码版本 。Babel , .NET Core和 Rails 使用MIT许可证 。
  • GNU GPLv3:让人们可以做几乎任何他们想要做的项目 , 不能分发封闭源代码的版本 。Ansible ,  Bash和 GIMP 使用GNU GPLv3 。
如果你的工作是在开源社区开发项目 , 使用社区常用的许可证就可以了 。
如果希望商用则特别要注意下 , 许可的范围 。以下都是常用许可证类型的概要信息:
一文看懂开源许可证,能不能商用再也不抓瞎

文章插图
Apache Licese @ opensource.org
  • Apache License 2.0 :商业软件最爱, 主要条件是要求保留原始版权和许可声明 。同时向贡献者明确授予专利权 。使用者可以自由修改 , 进行商业使用 , 大型项目可以不同的条款分发 , 没有开源要求 , 修改源代码需要记录变更 。
  • BSD 3-Clause "New" or "Revised" license:允许商业发布和销售 。使用者可以自由的使用 , 修改源代码 , 也可以将修改后的代码作为开源或者专有软件再发布 。主要条件是要求尊重代码作者的著作权 , 即包含原始版权和免责声明(二进制形式分发必须分发文档中包含版权申明及免责声明) , 且未经事先特别书面许可 , 不可以用开源代码的“作者/机构的名字”或“原来产品的名字”做市场推广 。
  • BSD 2-Clause "Simplified" or "FreeBSD" license:比3-Clause少一个条目 , 去掉了“不可以用开源代码的“作者/机构的名字”或“原来产品的名字”做市场推广 。”.
  • GNU General Public License: 商业软件绕开 , GPL不允许修改后和衍生的代码做为闭源的商业软件发布和销售 。
  • GNU Library or "Lesser" General Public License (LGPL):允许商业软件代码动态link到LGPL类库 。注意:不可以静态链接 , 否则你的代码也必须用LGPL协议开源 。(即:商业软件可以动态使用 , 但不能修改)
  • Mozilla Public License 2.0:修改的版本需要保持原始版权申明 。编译版本需和可获得MPL协议下的源码 。修改源代码需要记录变更 。
  • Common Development and Distribution License:商业软件可用 , 也可以修改 。可以自行发布许可 , 允许公共版权使用 , 提供专利保护 , 无专利费
  • Eclipse Public License version 2.0:商业软件可用 , 也可以修改 , 无需开源 。不过将本程序包含在商业产品中的贡献者需要承担因代码而产生的侵权责任 , 及对所有其他贡献者的相关损失
一般开源许可证中会说明以下权限、使用条件和责任限制: