GPL(GNU General Public License)
允许免费修改、免费重发布,但要求修改代码必须也遵守GPL,不允许修改后和衍生的代码做为非开源的商业软件发布和销售。
LGPL(GNU Lesser General Public License)
LGPL协议的开源代码很适合作为第三方类库被商业软件引用,
允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码,
这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售,很大程度上保留商业利益。
但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议,
所以LGPL协议代码不适合以此为基础通过修改和衍生的方式二次开发的商业软件采用。
MPL(Mozilla Public License)
允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。MPL一般也是同时遵守LGPL的。