只要软件中包含了遵循GPL(GNU General Public License)协议的产品或代码,该软件就必须强制性适用GPL许可协议——开源免费。换言之,一旦调用GPL库,你的软件将被“感染”为GPL的软件,此之谓“传染性”。因此GPL许可证并不适合商用软件。
LGPL(GNU Lesser General Public License)是GPL的一个衍生版本,相比于GPL更加宽松一些。LGPL允许商业软件通过“类库引用”的方式使用LGPL类库,而不需要开源商业软件的代码。但是如果修改LGPL协议的代码或者衍生品,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。
因此适用LGPL协议的开源代码适合作为第三方类库被商业软件引用,但不适合通过修改和衍生的方式做二次开发的商业软件使用。
二、如何理解GPL开源许可证的“传染性”?